CH32V307 usart 的rts一直为低电平

GPIOA 12已经初始化为GPIO_Mode_AF_PP

......................

USART初始化

Init.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS;

.................

串口发送数据rts没有变化,一直是低电平,TX正常输出

单独控制gpio能正常输出高低电平

串口的配置我是不是少了什么?


image.png

用DMA发送完成中断的方式去空RTS为低,居然会提前两个字节产生中断

无解了,rts控制不了


去普及了一下usart 的RST信号,发现这信号不是我想要的,串口的rts没问题。

现在只能是用dma中断实现,发送数据的时候高电平,接收数据的时候低电平。

问题是dma发送中断提前两个字节产生了....


您好,按照我对你问题及需求描述的理解,现在你的需求是:CH32V307通过串口与某设备进行数据传输通信,当发送数据的时候配置某一引脚输出高电平信号,当接收数据数据的时候配置该引脚为低电平信号,是这样的需求么?若要通过DMA中断对信号电平进行配置,但DMA中断只能配置传输过半、传输完成以及错误中断,应该无法在DMA中断配置信号满足你的需求。你可以通过在使能串口发送数据或接收数据的时候配置某一引脚为高低电平实现信号的设置,你可以通过邮箱(lzs@wch.cn)跟我具体沟通一下说一下你的需求。


只有登录才能回复,可以选择微信账号登录