历史上的今天
今天是:2025年06月01日(星期日)
2018年06月01日 | STM8S与IAR程序常用错误
2018-06-01 来源:eefocus
一、IAR中的重复定义问题
在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包含到main.c中,同时,相应的.c文件也有该常量定义语句,就会导致linker报错,有xxxx重定义(redefined)。此外,当要在main.c中使用其他.c文件中定义的量时,要记得+ extern+ <类型>+<+变量名>。
标准的做法:在.h文件中声明变量,在一个.c文件中定义变量,其它.c文件要用到变量只要包含.h头文件,相当于变量声明,就可以引用其它.c文件中定义的变量了。一般只在头文件中声明变量,在原文件中定义变量,即使你在头文件中使用了预编译指令 #ifndef…. #define … #endif,也不能在头文件中定义变量。不能定义,必须声明。
http://www.amobbs.com/thread-5516889-1-26.html
http://www.amobbs.com/thread-5516388-1-1.html
http://www.amobbs.com/thread-5526431-1-1.html
http://www.amobbs.com/thread-4181924-1-1.html三、 Error[Pe169]: expected a declaration
答:多了}右大括号。
四、PL2303上电后鼠标乱动的解决办法:
1,重新上电,因为我们开发板带了一键下载电路,所以第一次上电,会引起几次(3~6次)MCU复位,很正常. 你不要每次都按电源键来实现复位,就不存在这个问题了.
2,因为你的例程,一上电,就通过串口输出数据了,而此时CH340还在和电脑通信,CH340在和电脑USB连接建立的时候,收到数据,就可能导致你的串口不被识别为串口,而被识别为什么ball之类的设备,从而鼠标乱飞.
解决办法:
上电之前,先按住MCU的复位,然后再上电.等10秒钟左右,再释放复位.就一切OK了.
史海拾趣
|
大家好,请教一个问题呀,请问:一个串口的TX和RX联在一起,然后用WRITEFILE向串口写数据,这样容不容易造成WINCE死机呀?谢谢了!我现在用WRITEFILE这个函数往串口写数据时,容易死机是什么原因呀?谢谢了!… 查看全部问答> |
|
大家好!我是单片机的初学者,现在遇到一个问题无法解决,希望能得到大家的帮忙,谢谢! 如题: 1、我做了一个边沿触发方式的外部中断0,当按键按下不放时按要求串口发送数据. 2、在P2.3口做了个独立式按键S1,当按下时向串口发送相关字符,松开按键时 ...… 查看全部问答> |
|
(1)、前端设备的防雷:前端设备有室外和室内两种分布方式,室内分布的一般不会受到直击雷击,但需考虑防止雷电过电压对设备的侵害,而室外的设备则同时需考虑防止直击雷击。 前端设备如摄像头等应置于避雷针有效保护范围之内。对于 ...… 查看全部问答> |
|
在enet_io 和enet_lwip实例中,网页文件被存放在io_fsdata.h中,网页代码被译成16进制数组,请问这个怎么生成的!… 查看全部问答> |
|
我试过这个电路 http://www.intersil.com/data/an/an9637.pdf, 也试过将两正弦波转成方波后进行时间差计算再换算成角度, 总是无法有一个稳定的电路出来,这东西有够难做, 目前定的目标是要做到 500KHZ,可以测量0度到90度的相位差, 末学才 ...… 查看全部问答> |
|
没有对P0进行任何操作就变成了0xFDprotues中P0没有按我设定的变成0xC0 变成了0x03想问下 这是为什么 求助啊 这是交通灯的程序 有主干道和乡村通道两条代码在附件里 … 查看全部问答> |
|
【玩转LaunchPad】板上资源解读https://bbs.eeworld.com.cn/thread-314352-1-1.html【玩转LaunchPad】之LaunchPad开发板介绍(一)https://bbs.eeworld.com.cn/thread-314350-1-1.html 【玩转LaunchPad】开发板介绍(二)https://bbs.eeworld.com. ...… 查看全部问答> |




