近日在用IAR FOR 8050 8.10版本调试CC2530单片机中发现叻一个非常奇怪的问题我用print函数向串口打印传感器数据,一切都调试正如下图所示:
然后要增加新的功能了,这是必须的 加入了一個C文件,sleeptime.c这是用来设置定时休眠的,源文件如下: 上面这个文件只是加入进来没有调用里面的任何函数哦, 编绎通过没有报错,下載运行…. 奇怪的事情发生了,串口打印的数据变成了这样: 全部变成了超级大的负值百思不得其解,清除重新编绎,再下载不行! 关闭工程,再打开不行! 甚至重启了电脑,不是不行。 把上面的sleeptime.c这个文件从工程中移除重新编绎,再下载又正常了。 看来只能采用最笨的排除法了最先怀疑的是这段代码: 把这个函数整件屏蔽了,编译下载,正常 我的天呐!!噩梦还在继续! 最后屏蔽得就剩下这行代码了 定义了一个长整型的变量,编绎下载还是不行 看来问题就出在这行代码上了,可实在看不出有什么问题只能采用各种懷疑了… 难道长整型赋值不对,把代码改成如下: 编绎通过吐血,还是不行: 难道这个变量不能定义成局部变量把这个变量定义放到函数外面试试: 编绎,下载激动人心一刻要来临了,行不行呢 这里插播一条广告哦,我们把平里产品开发过程中用到的一些芯片、技術顺便做成了模块与大家一起分享: 欲知后事如何,请先看图: 终于串口打印数据打印又恢复正常了。
0
|
近日在用IAR FOR 8050 8.10版本调试CC2530单片机中发现叻一个非常奇怪的问题我用print函数向串口打印传感器数据,一切都调试正如下图所示:
然后要增加新的功能了,这是必须的 加入了一個C文件,sleeptime.c这是用来设置定时休眠的,源文件如下: 上面这个文件只是加入进来没有调用里面的任何函数哦, 编绎通过没有报错,下載运行…. 奇怪的事情发生了,串口打印的数据变成了这样: 全部变成了超级大的负值百思不得其解,清除重新编绎,再下载不行! 关闭工程,再打开不行! 甚至重启了电脑,不是不行。 把上面的sleeptime.c这个文件从工程中移除重新编绎,再下载又正常了。 看来只能采用最笨的排除法了最先怀疑的是这段代码: 把这个函数整件屏蔽了,编译下载,正常 我的天呐!!噩梦还在继续! 最后屏蔽得就剩下这行代码了 定义了一个长整型的变量,编绎下载还是不行 看来问题就出在这行代码上了,可实在看不出有什么问题只能采用各种懷疑了… 难道长整型赋值不对,把代码改成如下: 编绎通过吐血,还是不行: 难道这个变量不能定义成局部变量把这个变量定义放到函数外面试试: 编绎,下载激动人心一刻要来临了,行不行呢 这里插播一条广告哦,我们把平里产品开发过程中用到的一些芯片、技術顺便做成了模块与大家一起分享: 欲知后事如何,请先看图: 终于串口打印数据打印又恢复正常了。
0
|
近日在用IAR FOR 8050 8.10版本调试CC2530单片机中发现叻一个非常奇怪的问题我用print函数向串口打印传感器数据,一切都调试正如下图所示:
然后要增加新的功能了,这是必须的 加入了一個C文件,sleeptime.c这是用来设置定时休眠的,源文件如下: 上面这个文件只是加入进来没有调用里面的任何函数哦, 编绎通过没有报错,下載运行…. 奇怪的事情发生了,串口打印的数据变成了这样: 全部变成了超级大的负值百思不得其解,清除重新编绎,再下载不行! 关闭工程,再打开不行! 甚至重启了电脑,不是不行。 把上面的sleeptime.c这个文件从工程中移除重新编绎,再下载又正常了。 看来只能采用最笨的排除法了最先怀疑的是这段代码: 把这个函数整件屏蔽了,编译下载,正常 我的天呐!!噩梦还在继续! 最后屏蔽得就剩下这行代码了 定义了一个长整型的变量,编绎下载还是不行 看来问题就出在这行代码上了,可实在看不出有什么问题只能采用各种懷疑了… 难道长整型赋值不对,把代码改成如下: 编绎通过吐血,还是不行: 难道这个变量不能定义成局部变量把这个变量定义放到函数外面试试: 编绎,下载激动人心一刻要来临了,行不行呢 这里插播一条广告哦,我们把平里产品开发过程中用到的一些芯片、技術顺便做成了模块与大家一起分享: 欲知后事如何,请先看图: 终于串口打印数据打印又恢复正常了。
0
|