This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C129芯片的UARTBusy函数

Other Parts Discussed in Thread: TM4C129ENCPDT, EK-TM4C123GXL

大家好,我想实现串口的单字节发送,就是当上位机有查询指令后,TM4C响应时单字节响应,当将一个字节的响应放到FIFO中发送时,使用ROM_UARTCharPutNonBlocking()这个函数将其发送到串口发送器上。关于判断一个字节是否全部已经从移位寄存器,包括停止位什么的,手册上有说:只有当发送FIFO为空,并且最后一个字符包括停止位已经从移位寄存器被发送时,Busy位失效。我想发送一个字节时,先判断当前FIFO是否为空,再判断Busy位是否无效,再进入发送。

(1)这个busy位是否可以使用UARTBusy函数来处理?

(2)我想请教下这个函数ROM_UARTCharPutNonBlocking()是使用FIFO发送字符,具体执行流程是什么?将字符发送到移位寄存器上,不等待其是否全部发完就返回吗?

(3)UART发送还有一种模式是不使用FIFO的,直接使用UARTCharput函数发送字符,那这个函数是将接受到的数据直接发送到移位寄存器上,每次发送字符前应该也是需要先判断Busy位是否无效?

(4)TM4C的UART手册上说的,好像是默认不启用FIFO的情况时单字节处理的,其实也是使用了FIFO,只是是单字节触发的,是这样的吗?上一个的UARTCharput其实也是说的使用了FIFO,但只是单字节触发的?单字节触发的话UART就要使用阻塞模式处理发送和接收,如果设置FIFO深度的话,UART便可使用不阻塞的方式处理了是吗?

有一些多,谢谢大家看完,给指点下。