永发信息网

单片机同步通信,为了保证接收正确无误,发送方除了发送数据外,还要同时传送时钟信号。

答案:3  悬赏:0  手机版
解决时间 2021-01-13 13:47
  • 提问者网友:谁的错
  • 2021-01-12 20:04
单片机同步通信,为了保证接收正确无误,发送方除了发送数据外,还要同时传送时钟信号。
最佳答案
  • 五星知识达人网友:不甚了了
  • 2021-01-12 20:09
传送时钟信号也就SPI,I2C之类的接口会使用到,uart不需要时钟信号,时钟信号就是一个方波,一个方波周期内传送数据的一位,方波实现方法简单,拉高电平,拉低电平,重复就可以了!追问数据和时钟信号是同时发送给一个接收口吗?如果是一个接收口,那么这个接收口是怎么区分时钟信号和数据的追答不是的哦,是2个口!追问RXD用来发送接收数据TXD用来发送时钟信号,通过一位数据就对应一个方波周期来保证通信的同步,这样理解对吗?追答来,举个例子,比如主机设置9600波特率,从机19200波特率,按照你这种说法不管怎么设置不会出现数据错乱的问题,结果是出现乱码了,你说呢?呵呵,你说的这种方式应该是UART,UART是通过双方协定才能正常通讯的,就是主机9600波特率的话那么从机必须也是9600,否则会出现数据错乱,接收方机器内部有时钟进行计算的,所以不需要时钟信号!
全部回答
  • 1楼网友:末日狂欢
  • 2021-01-12 21:22
那你得先有时钟同步机制,你是内时钟还是外时钟?
  如果是单片机的内部时钟的话,我建议的办法是每个小时进行一次时钟同步调整过程,用五次握手协议来平均误差。
  如果是外部时钟的话,我建议在有GPS信号的地方采用GPS时钟,没有GPS的地方用电波钟。
  然后至于发送时钟的问题,根据你的通信次数的频率和精度要求来选择发送时分秒毫秒的哪个级别。比如你的两块单片机一个小时通信一次,那你在每个数据包的末尾加上小时,分钟,秒,毫秒。如果你每秒通信一次的话,那你只用加上分钟,秒就可以确定正确性了。
  • 2楼网友:雪起风沙痕
  • 2021-01-12 20:51
单片机可以通过设置,使串口成为同步通讯口,你只要写数据到串口的SBUF,就直接发出去了,包括数据和时钟信号。追问数据我知道是什么,但是不值得时钟信号什么,起始位的低电平就是时钟信号吗?追答串口有两根线啊,方式0是同步方式,RXD作为数据输入输出,TXD为同步时钟。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯