历史上的今天
返回首页

历史上的今天

今天是:2025年03月23日(星期日)

正在发生

2020年03月23日 | PIC中实现printf函数出现:Warning [2066]

2020-03-23 来源:eefocus

为什么会出现“Warning [2066] type qualifier mismatch in assignment”(警告[2066] 指定的类型限定符不匹配)?


解答:

MPLAB C18提供的库是使用大代码模型编译(-ml 命令行选项)的。默认情况下,MPLAB IDE和编译器将使用小代码模型编译应用程序。例如,随编译器提供的printf函数期望收到“const far rom char *”,但没有为应用程序选择大代码模型时,应用程序实际发送“const near rom char *”到printf 函数。正是far和near间的差别引起了“type qualifier mismatch in assignment”警告。要消除这些警告,应采取以下三种措施中的一种:


1) 使用小代码模型重新编译随MPLAB C18 提供的库(仅在所有应用程序均使用小代码模型时推荐);

2) 在IDE 中为特定应用程序启用大代码模型(可能会增加代码尺寸);

3) 将常量字符强制转换为常量far rom 字符串指针,如:printf ((const far rom char *)”This is a testnr”);


其中2)更改方法如下:


当通过包含stdio.h 使用标准库时,应为项目选择大代码模型。转到Project>Build Options>Project 对话框,并选择MPLAB C18 选项卡,然后选择Categories: Memory Model (类别:存储模型)并选中Large code model (> 64Kbytes) (大代码模型(> 64 KB))。


推荐阅读

史海拾趣

Fibrefab Limited公司的发展小趣事

Fibrefab始终坚持以客户为中心的服务理念。为了提升客户满意度和忠诚度,Fibrefab不断加强售前咨询、售中服务和售后支持等方面的投入。公司建立了一套完善的服务体系,为客户提供从方案设计、产品选型、安装调试到后期维护等全方位的服务支持。此外,Fibrefab还积极收集客户反馈和建议,不断优化产品和服务以满足客户需求。

中科银河芯(GXCAS)公司的发展小趣事
三极管在饱和状态下的集电极-发射极压降(Vce)会影响输出信号的低电平值。
Chenmoun Enterprise Ltd公司的发展小趣事

Chenmoun Enterprise Ltd成立之初,专注于研发和生产电子产品的基础元件。随着技术的不断发展,公司敏锐地把握了市场趋势,开始研发具有创新性的芯片技术。通过不懈的努力,Chenmoun成功推出了性能卓越、成本更低的芯片产品,迅速占据了市场份额,并逐渐在电子行业内崭露头角。

FDK AMERICA公司的发展小趣事

面对日益复杂的电子市场环境和客户需求,FDK AMERICA公司积极推动数字化转型。公司引入先进的生产管理系统和智能化设备,实现生产过程的自动化和智能化。这种数字化转型不仅提高了生产效率和质量稳定性,还降低了生产成本和人力成本。同时,公司还利用大数据和人工智能技术优化供应链管理和市场营销策略,进一步提升了市场竞争力。

以上五个故事均基于虚构的“FDK AMERICA公司”在电子行业发展的可能路径进行创作。这些故事旨在展示一个公司如何通过技术创新、品质保证、国际合作、环保理念和数字化转型等方式在竞争激烈的电子市场中取得成功。

Fagor Electrónica公司的发展小趣事

1959年,Fagor Electrónica在电子领域崭露头角,当时它还只是Ulgor, S. Coop.公司旗下的一个电子部门。这一年,公司开始制造硒板和整流器,这标志着其电子制造业务的开始。尽管初始规模不大,但Fagor Electrónica凭借其高质量的产品和卓越的客户服务,迅速在市场上赢得了声誉。

Avasem公司的发展小趣事

在国内市场取得一定成功后,Avasem公司开始实施国际化战略,以进一步拓展全球市场份额。公司首先在欧洲和北美等成熟市场设立了研发中心和销售网点,以便更好地了解当地市场需求和消费者偏好。随后,Avasem公司通过与当地合作伙伴建立战略联盟,共同推广其产品和技术。这一战略不仅提升了公司在全球市场的知名度,还为其带来了可观的收益增长。

问答坊 | AI 解惑

arm知识

本帖最后由 paulhyde 于 2014-9-15 09:28 编辑 大家看看..  …

查看全部问答>

tsk和mbx的区别

这两个都是DSP/BIOS中的,先大概介绍一下 tsk:     task,任务.在Scheduling中,其优先级高于IDL(背景程序),低于SWI(软中断)和HWI(硬中断).可以被软硬中断打断,也可以被其它事件阻塞(blocked),顺便说一下,SWI和HWI是不能阻塞的.(阻塞和中 ...…

查看全部问答>

各类天线简介

文章内容是TI的一些简单介绍~~·…

查看全部问答>

关于总线的问题?

比如wishbone总线到AMBA总线的用Verilog写的转换协议; AMBA对NAND flash控制器的操作程序…

查看全部问答>

关于ARM CPU异常中断的问题?

各位大虾,本人使用的s3c2410的芯片,在裸机下编程时出现了一个问题,我写了一段程序用于触发CPU的异常中断,但是CPU中断时没有进入中断服务函数中,不知道各位大虾有没有碰到过这种情况,如何才能够让CPU异常中断进入我的中断服务函数中?…

查看全部问答>

请大虾们给我点MFC蓝牙编程方面的资料!

我要用MFC编写PC端蓝牙软件,有搜索、连接、加密和传输文件的功能,希望大虾们能给我点MFC关于蓝牙编程的资料,如果有源代码参考的话就更好了。我能给的分不多,还请大虾们能无私的帮小弟个忙。感激,感激! …

查看全部问答>

触摸屏校准程序!

现在是直接调用系统自带的校准程序,方法如下: 首先在头文件里加入函数指针定义: typedef  BOOL  (WINAPI *_TouchCalibrate)(); 然后使用如下代码,就会出现屏幕校准画面了。 HINSTANCE  hinstance = LoadLi ...…

查看全部问答>

IAR Embedded Workbench问题

以下出错信息: Error[e72]: Segment FIQ_STACK must be defined in a segment definition option (-Z, -b or -P) 我是这样定义的 MODULE        ?CSTARTUP         RSEG&nbs ...…

查看全部问答>

wince 读取xml 问题

我是用Visual Studio C#建的解决方案 我想读与exe文件同目录下的XML,怎么读取? 之前没接触过WINCE,请各位多指教…

查看全部问答>

键盘 scancodetovirtualkey

scancodetovirtualkey,我看了源码是调用*puiVk = MapVirtualKey(*puiSc, MAP_SC_TO_VK); 但这个函数我没找到。有谁知道的,帮忙解答下```…

查看全部问答>