本帖最后由 通宵敲代码 于 2021-5-7 16:07 编辑
公司项目因为外接传感器太多,导致串口不够用,
所以通过SPI接了一片CH9434外扩了四路串口,
参考沁恒官方的资料做了代码移植,
主控芯片是STM32H7,目前测试SPI驱动芯片应该是正常的,
四路串口配置均为波特率115200,数据8位,停止1位,无校验和,开始FIFO,关闭流控;
上电初始化CH9434后,四路串口均能正常输出调试信息,也就是说串口输出是没问题的,如下图
但是通过外接串口往CH9434的串口发送数据,在RX引脚上输入的信号是正常的,通过SPI读到的却是乱码,如下图
而且只要给串口发送一次数据,CH9434的中断引脚就会一直拉低,手册上给的读取LSR清中断的办法不起作用
下图是设备没法清中断时各个串口寄存器的状态
总结一下现在遇到的问题:
1、上电正常配置CH9434,SPI写入串口发送数据正常,串口接收通过SPI读取数据会乱码,四个通道都是这样;
2、串口接收到数据之后会一直触发CH9434中断引脚输出,手册上给的读取LSR寄存器清中断的方法不起作用;
|