我现在使用PGA900EVM与上位机使用串口进行调试时,串口数据的发送没有规律性,与手册描述出现不一致。
根据手册描述,每当UART_TX_BUF被写入数据时,PGA900会按照UART_Config函数配置的波特率、校验位等自动发送数据。当TX发送完成之后,UART_LINE_STATUS寄存器中的第5位TX_COMPLETE会被置1,UART_TX_BUF被写入数据时则会清零。
按照我编写的串口发送的程序,单步调试时应该只能输出ADC_BUFF[0]的数据,因为第一次TX发送完成后,TX_COMPLETE应该会置零从而导致判断语句失效跳出循环,但是实际情况是单步调试会按次序输出四组不同的数据。
连续调试时上位机通过串口接收到的数据则完全没有规律可循,TX发送可以发送,但是数据发送的时序似乎并没有按照预定的程序执行。
还有就是UART_LINE_STATUS寄存器中TX_COMPLETE之只能读不能写,我也不能手动置0来改变数据发送的顺序,所以这个UART的TX发送具体的函数可以在哪来看到他发送的逻辑以进行修改?