[求助] 利用串口中断接收字符串的问题

1157421908   2014-3-11 15:11 楼主
为什么在用  串口中断  来接收 字符串时  应该先关闭串口中断  然后再打开串口中断???

回复评论 (10)

我想是处理接受字符串的一种方法,更好的方法是判断接受标志位。
点赞  2014-3-11 15:38
引用: qinkaiabc 发表于 2014-3-11 15:38
我想是处理接受字符串的一种方法,更好的方法是判断接受标志位。

请斑竹明示  我是菜鸟  谢谢啦!!!!
点赞  2014-3-11 15:51
并没有必须先关闭中断一说,具体看编程思路。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-3-11 16:14
引用: chunyang 发表于 2014-3-11 16:14
并没有必须先关闭中断一说,具体看编程思路。

我想将串口收到的字符存在一个数组里面  XC2000的RBUF0与RBUF1  各是16位的   手册上说  建议用户直接访问RBUF 我想问这个16位的RBUF 是什么意思啊??在之前的数据不被覆盖的情况下  能存多少个字符啊??   手册上说了  用户读RBUF时   将得到最先接收到的数据   我的思路  是将发送的字符  一次性全部存入  RBUF中   比如说  我发送5个字符  然后 再读取5次RBUF  就会得到这五个字符
点赞  2014-3-11 16:26
引用: 1157421908 发表于 2014-3-11 16:26
我想将串口收到的字符存在一个数组里面  XC2000的RBUF0与RBUF1  各是16位的   手册上说  建议用户直接访 ...

每次串口中断后直接从接收寄存器中取值就是,当然是直接访问。发送时每次发一个字节,也是依次放入,能不能放多个字节要看器件手册确定。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-3-11 17:57
引用: chunyang 发表于 2014-3-11 17:57
每次串口中断后直接从接收寄存器中取值就是,当然是直接访问。发送时每次发一个字节,也是依次放入,能不 ...

哦??!!RBUF中可以存放多少数据  和  寄存器的位  有关吗??
点赞  2014-3-11 18:06
引用: 1157421908 发表于 2014-3-11 18:06
哦??!!RBUF中可以存放多少数据  和  寄存器的位  有关吗??

当然有关。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-3-11 18:11
没有这么一说,那不是必须的.双工串口都可以同时收发.
点赞  2014-3-11 23:32
引用: 1157421908 发表于 2014-3-11 16:26
我想将串口收到的字符存在一个数组里面  XC2000的RBUF0与RBUF1  各是16位的   手册上说  建议用户直接访 ...

写入和读取是有条件的,发完才可以再写,收到才可以去读.
否则会被覆盖.

点赞  2014-3-11 23:38
关注一下,最近也在搞这个东东
点赞  2014-3-12 08:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复