完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛| 
 
你好,我正在使用PIC18F97 J60芯片和C8(八位)C编译器。有人能告诉我如何固定编译器警告吗?我粘贴了《用户指南》中的一个例子。第一个例子是:警告:(1273)FreeMode中无法使用的全知代码生成什么是“全知”,以及如何禁用/修复此警告?如何停止生成“全知”代码?第二种是设置Uart...警告:(1385)关于已弃用变量----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------v1.35包括pic18f97j60.h:17274)newmainXC16.c:17274)newmainXC16.c:70:警告:(1385)变量“_TXEN”被弃用:(1385)变量“_TXEN”被弃用(声明在C:\\\\程序文件文件\\\\\\_____程序文件1.5\\\ated(在C:Program FilesMicro.xc8v1.35下声明pic18f97j60.h:15374)newmainXC16.c:72:警告:(1385)变量“_SPEN”被弃用:(1385)变量“_SPEN”的警告:(1385)变量“_SPEN”被弃用(声明在C:\\\\\\\\\\Program程序文件\\\\\\\\\\Micro.xc8v1.35includepic18f97j60h:15576)丹
 
 | 
|
相关推荐
 
 10个回答 
 
 | 
|
| 
 
将这个PIC24 UART部分从家庭参考手册添加到您的阅读列表中。我记得你说过你有30年的C/C++经验,你肯定听说过C99 ANSI标准。顺便说一下,8位编译器是XC8(不是C8),16位编译器是XC16(不是C16)。F18,C18编译器不适用于任何18位设备。;)
  
 | 
|
| 
 | 
|
| 
 
链接到章节。我实际上打印了两周前,已经读过15次了。关于C99模式VS25+年的经验。我在1987买了K & R的书。我仍然拥有它。我一直使用Borland A/K/A企业A/K/A LabCADERO C++编译器。另外,这个MPLAX-X我从来没有使用过其他东西。关于STDLIB,我非常熟悉STDLIB。它是我最好的朋友。我有自己的派生容器类库,它们添加了信号量和其他与任务关键软件相关的东西。我有点离题了。上世纪90年代,我使用了一款叫做Link的酷产品并定位。这是一个工具包,让您定期使用C代码,使其在嵌入式环境中工作。它将取代init代码,让你在PC上做嵌入的东西,就像写一个以太网引导EPROM,我做到了。然后是Altera EP900系列PLD与Cuppl编译器。在这一天,我使用旧的Borland /企业工具,然后是最新版本的AccCordRo.C++Builder。我使用最新的时间是当我需要一个GUI和一个符合CUA的用户界面时。(CUA是25年前的一个词。当您有一个窗口/窗体,其中有字段和鼠标按钮用于输入时,最重要的是,TAB键用于将输入焦点推进到下一个字段)。考虑到我25到30年的编程经验大多是关键任务的,通常状态机类型的控制程序没有GUI,也没有太多的用户界面……我不能跟上每个标准。特别是因为所有的书店都消失了,也就是说,没有更多的纸质书籍。因此,我提到的这些旧工具都没有使用真正古老的词汇C,除非您进入CUA选项表单并检查或未检查控制警告和错误的大约500C编译器选项中的一个。我在Microchip的C编译器中找不到这些。顺便说一下,我很乐意支付最昂贵的许可费,一旦我确信他们真的有一个微控制器编译器,我比竞争对手更喜欢它。好的,所以……对不起,目前我不知道/回忆起C99模式。但是,这里带来的事实是,与用户指南中的示例相同的C代码与XC8工具链编译。但不是来自X16工具链。在For循环上给出这个C99错误,所以两者的行为是不同的。到目前为止,我无法找到XC16编译器错误的唯一方法是使用真正的老C语法。与没有在for look中声明整数变量类似,这可以在XC16.void main(){int old_c_._resurrected_by_some_clown;for(old_c_._resurrected_by_some_clown=0;而old_c_._resurrected_by_some_clown<10;old_c_._resurrected_._resurrected_by_some_clown+){printf("Hello_如果有人知道我如何得到XC16让我在没有警告/错误的情况下这样做呢?就像它在XC8工作,请告诉我如何。否则,我会假设一个小丑在他们的工具链上欺骗他们,并且正在把我们带回到70年代。
  
 | 
|
| 
 | 
|
| 
 
这两个编译器的行为不同,因为它们是为PIC设备的不同家庭制作的。XC8和XC16编译器大多基于C89 ANSI标准。XC8有一小部分C99特性(如混合声明和代码),但是这些特性没有文档,所以您可以自行使用它们,并且某些人不推荐使用它们。
  
 | 
|
| 
 | 
|
| 
 
上面的for循环里面是什么?
  
 | 
|
| 
 | 
|
| 
 
C99不是一种模式。这是由ANSI于1999发布的C标准。C89为1989。较新版本的ANSI C包含了对小CPU不好的东西。请注意,C++不是与C.兼容的100%,如果你对8位PIC进行编码,“int”对于循环计数器只有10是不好的。无符号字符比较好。
  
 | 
|
| 
 | 
|
| 
 
很抱歉,但是没有。ANSI上一次参与任何C标准是在1989年。ISO在1990年采用了ANSI C标准。ISO在1999年发布了一个更新的标准。ISO在2011年发布了一个更新的标准。
  
 | 
|
| 
 | 
|
| 
 
好,我正在努力学习……我在用MPLAB-X和XC8 C编译器。有人知道如何得到C代码的汇编语言列表吗?是否有一个可以传递给编译器的选项?这样的选择在哪里被证明?我想写一些C代码,然后编译成一个asm列表,这样我就可以学习它并学习一些东西。请告诉我它支持这个。丹
  
 | 
|
| 
 | 
|
| 
 
只需在项目下面的文件夹中查找“.LST”文件。根据我的经验,默认情况下是这样的。
  
 | 
|
| 
 | 
|
| 
 
好的,谢谢你的指正。有趣。它仍然不是一种模式。这是一个标准。除非你是海湾合作委员会。
  
 | 
|
| 
 | 
|
| 
 
在用户指南中记录了编译器特定的任何内容。使用索引或浏览器的搜索工具来查找关键词,但请注意前面章节中有TOS。例如,如何3.3.12我如何知道编译器产生什么代码?回答关于获得汇编程序的问题。杰夫。
  
 | 
|
| 
 | 
|
只有小组成员才能发言,加入小组>>
5250 浏览 9 评论
2037 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2266 浏览 5 评论
788浏览 1评论
680浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
609浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
685浏览 0评论
582浏览 0评论
 /7 
            小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:21 , Processed in 1.307775 second(s), Total 64, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
        关注我们的微信
         下载发烧友APP
          电子发烧友观察
          版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

                            
淘帖
998