打印

关于STM8单线半双工问题

[复制链接]
942|7
手机看帖
扫描二维码
随时随地手机跟帖
沙发
千岁寒| | 2019-1-2 14:34 | 只看该作者
这得双方有握手才能保证时序正确吧。

使用特权

评论回复
板凳
gavinpeng2| | 2019-1-3 11:17 | 只看该作者
本帖最后由 gavinpeng2 于 2019-1-3 11:20 编辑

问题要说清楚一点啊,是串口吗?硬件上怎么连接的?自己拉GPIO吗?那就自己设计一个时序好了。
例如模拟串口的时序,硬件上默认拉高,两端默认都设置为输入,如果检测到拉低,一个起始位的时间后再开始检测电平,接收数据,够8个bit就拉高。
--------------_--_--_--_--_---------------------

------------------------------------------------------------------------------------------------------------------------
本人产品 -- 无线串口(USB转TTL)

使用特权

评论回复
地板
三禾月|  楼主 | 2019-1-3 14:17 | 只看该作者
gavinpeng2 发表于 2019-1-3 11:17
问题要说清楚一点啊,是串口吗?硬件上怎么连接的?自己拉GPIO吗?那就自己设计一个时序好了。
例如模拟串 ...

另一个MCU的串口数据时序是固定写好的,我这边要做到单线数据收发来与之通信。

使用特权

评论回复
5
gavinpeng2| | 2019-1-4 10:26 | 只看该作者
既然对端已写好时序,那你把问题写详细点啊,把时序show出来啊。中断一般都是上升沿或者下降沿触发。

使用特权

评论回复
6
三禾月|  楼主 | 2019-1-4 10:42 | 只看该作者
gavinpeng2 发表于 2019-1-4 10:26
既然对端已写好时序,那你把问题写详细点啊,把时序show出来啊。中断一般都是上升沿或者下降沿触发。

...

是这样的,一开始我是想用硬件将RX和TX两个口转成一根线和对端通信,但是没找到合适的电路。
之后我想用STM8支持的单线半双工来通信,波特率4800.用while(1)一直接收和定时器中断接收的数据顺序一直
对不上,

你说的外部中断不行吧,一方面引脚功能复用(TX做接收发送),另一方面数据的变化传输过来时不会引起中断么?
说的不对的地方请谅解,纯小白一个

使用特权

评论回复
7
三禾月|  楼主 | 2019-1-4 16:30 | 只看该作者
问题解决了,还是用的WHILE(1)实现的,只要是靠接收发送标志位来实现的。这样数据就不会出错。
        while (UART3_GetFlagStatus(UART3_FLAG_RXNE) == RESET)
        {
        }

使用特权

评论回复
8
美乐辰| | 2019-7-9 11:38 | 只看该作者
三禾月 发表于 2019-1-4 16:30
问题解决了,还是用的WHILE(1)实现的,只要是靠接收发送标志位来实现的。这样数据就不会出错。
   ...

您好,单线半双工接收如何实现的?可以分享一下嘛?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

28

帖子

2

粉丝