大家好、我需要有关 UART 的帮助。
UART_write()由计时器每隔1秒执行一次。 UART_READ()处于回调模式,并且在每个 UART_WRITE()之后触发,我不明白为什么。
UART_read()必须独立于 UART_write()工作。
我尝试使用不同的数组进行读取和写入、但它不起作用。
感谢您的任何帮助。
void se_func()
{
}
void readCallback (UART_Handle Uhandle、void *rxBuf、size_t size)
{
EVENT_POST (eventh、UART_RX_COMPLETE);
}
void clock_CB (UARg arg)
{
EVENT_POST (eventh、timer);
}
void taskFxn (UARg arg0、UARg arg1)
{
eventh = Event_create (NULL、NULL);
UART_Params_init (&Uparams);
Uparams.writeDataMode = UART_DATA_TEXT;
Uparams.readDataMode = UART_DATA_TEXT;
Uparams.readMode = UART_MODE_CALLACK;
Uparams.readEcho = UART_ECHO_OFF;
Uparams.readCallback = readCallback;
Uparams.baudrate = 9600;
Uhandle = UART_open (0、&Uparams);
UART_CONTROL (Uhandle、UARTCC26XX_CMD_RETURE_PARTIT_ENABLE、NULL);
UART_READ (Uhandle、buff、10);
Clock_Params_init (&clockParams);
clockParams.arg =(UArg)强度;
clockParams.startFlag = 0;
clockh = Clock_create ((Clock_Functr)&clock_CB、100000、&clockParams、NULL);
clock_start (clockh);
uint8_t 计数器= 0x0;
uint16_t 事件;
while (true)
{
事件= Event_pend (eventh、Event_ID_none、0xFFFFFFFF、BIOS_WAIT_FOREVE);
IF (事件和 UART_RX_COMPLETE)
{
some _func();
Task_sleep (10000);
UART_READ (Uhandle、buff、10);
}
IF (事件和计时器)
{
COUNTER++;
buff [0]=计数器;
UART_WRITE (Uhandle、buff、1);
Task_sleep (10000);
Clock_start (clockH);
}
}
此致、eGor