工具/软件:TI-RTOS
您好!
我编写了 UART 多线程程序、其代码片段如下所示:
void * mainThread (void * arg0)
{
while (1){
TX_BUFFER[0]= 0x01;
TX_BUFFER[0]= 0x02;
TX_BUFFER[0]= 0x03;
UART_WRITE (uart1、&Tx_buffer、3); //向传感器发送数据。
}
}
void * Thread2 (void * arg0)
{
while (1){
UART_READ (uart1、&Tx_buffer、1); //从传感器接收数据。
UART_WRITE (uart2、&Tx_buffer、1); //向外部发送数据。
}
}
void * Thread3 (void * arg0)
{
while (1){
UART_READ (uart3、&Tx_buffer、1); //从外部接收数据。
UART_WRITE (uart1、&Tx_buffer、1); //向传感器发送数据。
}
}
在此过程 中、我为'Thread2'提供了更高的优先级、为'main_Thread'提供了下一个优先级、为'Thread3'提供了最低优先级。
使用该 Main_Thread 和 Thread2函数正在正常执行、但 Thread3未执行。
如果我为 Thread3指定了更高的优先级 、则所有三个函数都不会执行。
有人能告诉我、编写代码的方式是正确的吗? 或者、我应该在这两者之间使用互斥量或信标。
请指导我。
谢谢你
此致
Kalyan。