竟然百度到自己的帖子,,, 描述一下问题和解决吧.
问题当时是定一个16位的临时变量,这个变量取值为后面的一个16位的全局变量.在实际操作的时候发现全局变量的值不能完全赋值到临时变量里面.
最后问题的原因是那个全局变量在串口接受中断中有自加的操作,在赋值的时候如果正好被中断打断赋值就会导致执行完赋值语句发现两个变量值并不相等的情况,解决办法就是在定义和赋值之前把串口接受中断暂时关闭,完成赋值之后再打开就可以解决这个问题. 对一些全局变量的操作,一定要注意多线程(中断)的操作产生的影响,望各位引以为戒.
|