PICC使用中初学者容易犯得两个错误.pdf

PICC使用中初学者容易犯得两个错误.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PICC使用中初学者容易犯得两个错误

PICC 使用中初学者容易犯得两个错误 /hnrainll/archive/2010/12/25/1916628.html 我是初次使用PIC 单片机,对PICC 的编程规范不了解,在编译程序时老是出问题。现 在介绍两个最常见的问题给大家,看看有没有和我遇到一样问题的。 错误1:变量定义赋值先后顺序问题很重要 开发环境为MPLAB IDE V7.43 + PICC 。如下两种代码书写方式,在补充完整之后,哪一 个会编译出错?( flag_sendKeyByte 为全局位变量,已定义过) A: flag_sendKeyByte = 0; unsign char mbit = 0; B: unsign char mbit = 0; flag_sendKeyByte = 0; 使用正常的 C 语言习惯来看,似乎都没问题,都是赋值,仅仅是先后位置不一样。但是在 PIC 单片机的编译环境下,A 是错误的,B 是正确的。 在出现这一编译错误时,我查找了很久。由于初次接触PIC, 了解不多,导致走了很多弯路。 最后逐行删除代码,逐行修改,最后才发现是次序错了。 PIC 单片机的编译环境要求变量赋值必须在变量定义之后。而不允许在给一个变量赋值后 再去定义另一个变量并赋值。似乎是因为编译环境在赋值之前会先处理所有的变量定义。如 果检测到一个变量赋值语句则该函数或子程序后面的定义它将不再检查,导致最后编译的时 候出现某些变量未定义。 (注:以上这些分析是我自己揣摩的,可能分析的不对,还请高手指正) 可笑的是,编译出错的提示信息却是乱七八糟的,而不是说存在未定义的变量。下面的提示 就是我编译时提示的,对一个初学者来说,根据这些提示能找到错误源吗? Error[000] D:\documents\PIC\test\keyboard\ps2.c 387 : probable missing } in previous block Error[000] D:\documents\PIC\test\keyboard\ps2.c 388 : undefined identifier: ch Error[000] D:\documents\PIC\test\keyboard\ps2.c 388 : constant expression required Warning[000] D:\documents\PIC\test\keyboard\ps2.c 390 : missing basic type: int assumed Error[000] D:\documents\PIC\test\keyboard\ps2.c 390 : type redeclared Error[000] D:\documents\PIC\test\keyboard\ps2.c 390 : identifier redefined: calc_parity (from line 64) Error[000] D:\documents\PIC\test\keyboard\ps2.c 390 : constant expression required 后面还有很多,一直到程序的最后都会提示出错。把A 中的写法换成B 的写法,编译就成 功了。 感觉这个编译环境太不好用了。以前用过C8051F 系列的开发工具,那个就好用多了。把这 个问题提出来,提醒初学者别犯我这样的错误。 错误2,could not find file c018i.o 在使用MPIDE +MCC18 编译时经常出现下列提示: “could not find file c018i.o” 解决办法:是因为没有指定库的默认路径。点project-build option-project.在Directories 选 项卡里,点击show directories for:右侧的下拉菜单,找到library search path 项,选择new , 在新建的项目里指定路径为c:\mcc18\lib 。点击确定。再次编译即可成功。 ———————————————————————————————— C 语言中变量的声明必须在一个block 的开头 一个block 就是指一对{}大括号包起来的部分 变量的声明必须紧跟在{之后,中间不能夹其它代码。 还有比如for(char i=0; i 20 ; i++){ do something...},这在有的编译器可以用,有的不行 这样的写法也是不正确的,会报一个语法错误,一个变量未声明的错误 如果想用,但是又不想在block 的开头去声

文档评论(0)

ldj215323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档