2020-01-23 14:31发布
laujc 发表于 2013-2-26 23:11 字符是一个bit一个bit发来的,接收时,接收8bit就收到一个字节的内容,会放到缓存中. 缓存大小有不同,有的单片 ...
mcu_lover 发表于 2013-2-26 22:57 中断+缓冲
最多设置5个标签!
缓存大小有不同,有的单片机就一个,即一个byte.这样接收到8bit即一byte就要主程序进行读取,读取的同时,硬件会继续接收接下来的bit
也有的缓存较大,这样就可以接收多个字节,程序再一次读取全部接收到的byte
不论是字母,如abc,还是数字123.都是传输的二进制数,两边协议相同就不会错.
嗯,上位机发送一个字符串,下位机利用串口中断RI 来接收,即中断一次就进入中断函数接收一个字符(例:recive=SBUF),但在接收字符的同时,上位机也在继续发接着后一个字符的数据,那在这时候我们在中断函数中读取的那个字符会不会已经被修改过了?从而导致乱码.?
是不是只需要在中断函数里面读取下来就ok?然后每来一个字符就进中断一次就读取一次?
一周热门 更多>