#CH579M

初始化UART2串口后,想要发送DMX512数据,根据DMX512时序需要将UART2的TX脚电平拉低和拉高,发现初始化无法改变该脚电平状态,如何解决???

串口2初始化前,检查一下有没有进行GPIO口的初始化。

有重映射到另一组串口2吗,重映射后,需要在下载程序时在ISP工具中取消“使能RST作为手工复位输入引脚”的框选。


串口初始化之前是有进行tx脚初始化的,重映射——PA6/PA7----PB22/PB23,不是映射到这两个脚上面吗,取消那个勾选就可以实现从TX--PA7脚输出吗



没有调用remap函数重映射的话,是使用的PA7作为TXD2,不用去掉框选,应该是没问题的。

调用remap函数重映射到PB23的话,是需要去掉上述ISP工具中的框选的。


映射完,那个串口发送数据没有波形,没有映射就可以看到发送数据波形,映射和串口发送函数有冲突?



PB23是默认的手动复位引脚,重映射至这个引脚,需要在下载程序时,去掉ISP工具中的“使能RST作为手工复位输入引脚”的框选,如下图。

默认的RXD2即PA7没有这样的冲突,不重映射的话不用做额外处理。

1657174743748.png


已经去掉这个勾选了,就是不能测出我想要的时序图,如果没有映射的话,初始化串口之后,在处理发送数据前,无法改变tx脚电平,uart2_sendstring发送数据,可以测出波形。采取映射,可以测出uart2_sendstring发送前,tx电平改变时序,但是没有uart2_sendstring发送数据波形



检查PB23是否进行了GPIO初始化。

检查物理接线是否更改到了PB23。

我们用评估板测试是可以输出波形的。若仍有问题可以将工程或是板子发来,我们来测试一下。

邮箱zhaiyw@wch.cn


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