关于CH432T的串口0的接收问题

我想要写一个使用CH432T的串口0发送和接收数据,相关寄存器初始化如下:

spi_transmit((REG_IER_ADDR<<2)|0x02,0x81); //软复位,允许接收数据中断 spi_transmit((REG_IER1_ADDR<<2)|0x02,0x20); //2倍频设置 spi_transmit((REG_LCR_ADDR<<2)|0x02,0x83); //允许设置波特率 spi_transmit((REG_DLL_ADDR<<2)|0x02,0x08); //波特率115200 spi_transmit((REG_DLM_ADDR<<2)|0x02,0x00); //申请写DLM操作 spi_transmit((REG_LCR_ADDR<<2)|0x02,0x03); spi_transmit((REG_MCR_ADDR<<2)|0x02,0x08); //允许中断请求输出

发送数据正常,但是不能产生数据接收中断,通过查询的方法读取IIR寄存器,标志位不正常,请问有可能什么地方出错了?

中断使能寄存器IER怎么配置的?


spi_transmit((REG_IER_ADDR<<2)|0x02,0x81); //软复位,允许接收数据中断


如果我要写一个串口0的接收程序,寄存器应该怎样配置?硬件连线又该怎样?


我用串口调试软件向ch432发送数据,ch432接收后将数据返回给单片机,单片机再将数据通过ch432发送到调试软件,结果只有当发送的数据是00或FF时,单片机才能正确读取数据,其他数据则会出现乱码,这是为什么?


你的晶振用的多大?倍频还是分频?我们CH432有配套的例程,可供参考,具体寄存器设置可见例程。


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