您好!
我希望在 UART1中接收到命令后发送多个字节。 我已经成功执行了接收部分 、但是响应无法通过 TX 中断传输。
请与我分享参考代码、基于回波的传输除外。
我很困惑、我们应该使用哪个 API 通过主 子例程的中断来传输多个数据。
此致、
GK
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.
您好!
我希望在 UART1中接收到命令后发送多个字节。 我已经成功执行了接收部分 、但是响应无法通过 TX 中断传输。
请与我分享参考代码、基于回波的传输除外。
我很困惑、我们应该使用哪个 API 通过主 子例程的中断来传输多个数据。
此致、
GK
您好!
有许多关于如何使用 UART 发送数据的概念。 在该示例中、使用了外设的硬件 FIFO 缓冲器。 由于 FIFO 缓冲区只有几个字节、您需要发送更多字节、因此您需要多次填充该 FIFO。 在开始时、您会在某些任务中填充缓冲器缓冲器以开始传输。 其余的 TX 数据在 UART 中断处填充。
我检查了我的最新代码、当我在任务中填充 TX FIFO 时、似乎也禁用了 UART TX 中断:
MAP_UARTIntDisable (serial_UART、UART_INT_TX); while ((MAP_UARTSpaceAvail (serial_UART))&&(cmdTxToSendLen > 0){ MAP_UARTCharPutNonBlocking (serial_UART、cmdEngRespBuffer[cmdTxPos+]);cmdTxToSendLUNT_UARTxTxTxN };UARTxIntUART- (serial_UARTxPos+)
1月
在我的情况下、我不使用 FIFO、因为我希望发送更多字节、FIFO 限制为16字节。 因此、我正在寻找这样的解决方案、而不是使用 FIFO、而是如何通过中断发送多个数据。
我在发送数据时触发函数下面的函数、因此在发送数据时、如果我在调试模式下将断点置入、则会起作用、但在运行模式下不起作用。 在中断处理程序中、我只是清除 Tx 中断标志、没有其他东西。
void UART_SendData (unsigned char * TransData、unsigned char ullengthofdata)
{
while ((map_UARTSpaceAvail (device))&&(ullengthofdata >0))
{
//map_UARTCharPutNonBlocking (device、* TransData);
MAP_UARTCharPut (器件、*传输数据);
TransData++;
超长数据--;
}
}
您好!
您可以在 TRM 找到 CC3200中的 UART 硬件工作原理。 上面我的代码显示了通过中断从主任务发送数据。 TX 中断在发送主任务中填充的数据的第一部分后被触发。 在该 UART TX 中断中、您将填充其余数据。
我不确定您在寻找什么、因为第一个答案的链接会准确显示您所要求的内容。
1月