关于UART串口通信的几个问题(单片机与电脑之间的通信)
答案:1 悬赏:80 手机版
解决时间 2021-04-04 04:24
- 提问者网友:書生途
- 2021-04-03 13:47
关于UART串口通信的几个问题(单片机与电脑之间的通信)
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-04-03 14:18
1.接收数据是硬件电路自动完成的,是按设定的波特率对接收引脚RXD进行采样得每一位数据,8位数据是累计得到的。并不是要等结束才去取数据的。
2.按规定串口的数据位数,当接收到停止位后,接收就完毕了。
3.发送数据,可以中断方式,也可以查询方式。不管什么方式,并不是连续的。那就是每发送一位都是由程序控制的,只有执行SBUF=发送数据,才开始发送的。
常说的连续发送,是指连续执行发送指令。追问有个问题。。就是停止位是1……那发送的八位数据中也会有1……那怎么区别这两个1…?
还有就是…那接受数据呢…这个应该是检测到起始位之后就每个波特率分之一的时间接受一位数据吧?那程序进入中断后,串口的通信会暂停吗?追答接收8位数后,才是停止位,会自动计8个位的,之后才接收停止位。所以,与几个1无关。接收每一位的时间都是根据波特率自动控制的,这个你不必操心。串口接收是硬件自动完成的,只要RXD脚有数据,就会接收,与是否中断无关,也不会因中断而暂停。你操心的有点多。学单片机重点在电路设计和编程,不必钻这些牛角尖。当你学到熟悉程度后,自然会理解了。现在有点像不会走,就想跑了。
2.按规定串口的数据位数,当接收到停止位后,接收就完毕了。
3.发送数据,可以中断方式,也可以查询方式。不管什么方式,并不是连续的。那就是每发送一位都是由程序控制的,只有执行SBUF=发送数据,才开始发送的。
常说的连续发送,是指连续执行发送指令。追问有个问题。。就是停止位是1……那发送的八位数据中也会有1……那怎么区别这两个1…?
还有就是…那接受数据呢…这个应该是检测到起始位之后就每个波特率分之一的时间接受一位数据吧?那程序进入中断后,串口的通信会暂停吗?追答接收8位数后,才是停止位,会自动计8个位的,之后才接收停止位。所以,与几个1无关。接收每一位的时间都是根据波特率自动控制的,这个你不必操心。串口接收是硬件自动完成的,只要RXD脚有数据,就会接收,与是否中断无关,也不会因中断而暂停。你操心的有点多。学单片机重点在电路设计和编程,不必钻这些牛角尖。当你学到熟悉程度后,自然会理解了。现在有点像不会走,就想跑了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯