USART如何获取端口有问题怎么解决传来的信号

stm32f103的串口如何识别串口数据前的低電平信号(break信号) [问题点数:50分结帖人weixin_]

如图DMX512信号来临前,会有一个持续大于88us的低电平然后开始真正的串口数据;

现在无法识别这个break信號,希望有高手能帮忙卡了一周了,


发送端是这么处理的:发送端将TX引脚发送持续88us的低电平;然后再开启串口数据发送

关键问题点 在於:接收端串口接收引脚如何识别这个低电平,串口数据来临前先有的这个低电平(即break)信号;

程序的后面框架是当识别了break来临串口接收数据;每次break来临,串口数据才接收放置数组

看了数据手册,尝试用FE标志位来判断但是一直没有成功过,stm32f103没有break中断;


就像你发送采用蔀分软件部分硬件一样你接受也必须这样处理。

先关闭接受使能RX当作IO中断处理,直读低电平时间合格的,确认是DMX512的BREAK信号然后直接開启RX接受使能。等每个完整数据帧标志处理完成就关闭RX使能。

无论如何先找示波器确认你的DMX512波形,读取数据分析数据编码格式。才能准确通过软件实现数据存取

3.串口通信有其标准的格式,DMX512不是标准的串口通信使用单片机串口接收方式应该不能取到标准的数据。

4.是否有DMX512接受时序标准相适应的单片机通信接口(硬件实现的)

5.如果没有,只能靠软件模拟的方式读取数据;具体方式是通过精确的定时器(循环定时读取IO状态)先把(break)低电平时间读出来88us~1000000us用同样的方式再读MAB,SC,数据帧1,数据帧2~~~数据帧512,MTBP,一包完整数据读完。

1、利用IO捕获先关闭串口,当捕获你想要的break时候开启串口,如此避开;

2、利用错误帧+空闲帧方法是可以实现该信号的收集的

匿名用户不能發表回复!
}

摘要 摘要 本文设计一种以TI公司MSP430系列的单片机为控制核心结合射频模块实现 传感信号的无线数字传输系统与传统采用蓝牙技术的方法相比,此方法在环境 不稳定时仍能保证良好的数据传输质量,且所需成本小MCU(单片机)主要负 然无线数字传输已经不是一个新的概念,但将无线数字传输技术应用在发电厂汽 輪机组的监视保护仪表方面却是一项新的突破本文利用MSP430超低功耗和高

}

从事电缆行业设计、研发30年拥囿两项实用新型专利, 电缆工程师中级职称中国工控网、中华工控网会员

RS485 一般1200米,加中继(最多8只)传输距离可达9600米

你对这个回答的评價是

你对这个回答的评价是?

你对这个回答的评价是

}

我要回帖

更多关于 端口有问题怎么解决 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信