云乐彩票开户

电子产品世界 » 论坛云乐彩票开户 » 嵌入式开发 » MCU » 云乐彩票开户Help! IO口模拟UART通信遇到的问题

共7条 1/1 1 跳转至

Help! IO口模拟UART通信遇到的问题

菜鸟
2019-06-27 23:02:56    评分

如上图,是串行发送8位数据的时序图

下图的程序是利用51单片机的IO口模拟UART串行通信

1.jpg


红色箭头所指的程序,是表示判断数据是否接收完毕

结合时序图来看,while(!RxdEnd);语句是判断数据是否接收完毕,

云乐彩票开户若接收完毕,则代表RxdEnd这个标志位等于1,即检测到停止位

如果8位数据中出现1,会不会使得程序误以为接受到的1是停止位的1,从而误以为接收完成了?

2.jpg








关键词: UART     模拟串口    

菜鸟
2019-06-27 23:15:31    评分
2楼

RxdEnd不可能是直接检测高电平的来设置的。

是根据波特率来的。比如起始位触发RxdEnd=0接收,然后是8bit数据,然后是停止位。这个要


靠定时器来同步的。也就是说至少要过了10位时间才能触发RxdEnd=1



菜鸟
2019-06-27 23:22:05    评分
3楼

那应该是个位变量,是由其它代码在控制,结束时置1结束位是高电平,不代表高电平就是结束


菜鸟
2019-06-27 23:28:03    评分
4楼

不管怎么样的模拟串口程序,其有一个共同的特征就是得有一个精确控制的检测周期来进行数


据的读入,这必须匹配输入波特率。

云乐彩票开户离开这个概念,所以的串口包括硬件串口都不能正常工作。

对于有精确时钟控制的软串口程序,其判断停止位时间,不可能落在数据位上面。




菜鸟
2019-06-29 13:23:20    评分
5楼

不管怎么样的模拟串口程序,其有一个共同的特征就是得有一个精确控制的检测周期来进行数ru .


专家
2019-06-29 21:00:11    评分
6楼
谢谢分享,学习了。

菜鸟
2019-06-30 21:51:17    评分
7楼

最近我在DIY一个光纤串口,主要实现隔离信号和保护电脑免受高压、静电等损坏,喜欢的朋友,可以多关注我或直接联系哦


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
菜鸟彩票开户 真龙彩票开户 一元彩票开户 伯乐彩票开户 众彩网彩票开户 6合彩票开户 彩89开户 九州彩票开户 5福彩票开户 国民彩票开户