【已解决】Tlsr825x平台串口使用问题
Posted: 2026年 Feb 4日 11:05
初始化:
Code: Select all
TAL_UART_CFG_T cfg;
tal_system_memset(&cfg, 0, SIZEOF(TAL_UART_CFG_T));
optRet = tal_uart_deinit(TUYA_UART_NUM_0);
if(OPRT_OK != optRet) {
TAL_PR_ERR("Uart uninit err: %d!", optRet);
}
cfg.rx_buffer_size = 128;
cfg.open_mode = 0;
cfg.base_cfg.baudrate = 115200;
cfg.base_cfg.parity = TUYA_UART_PARITY_TYPE_NONE;
cfg.base_cfg.databits = TUYA_UART_DATA_LEN_8BIT;
cfg.base_cfg.stopbits =TUYA_UART_STOP_LEN_1BIT;
cfg.base_cfg.flowctrl = TUYA_UART_FLOWCTRL_NONE;
optRet = tal_uart_init(TUYA_UART_NUM_0, &cfg);
if(OPRT_OK != optRet) {
TAL_PR_ERR("Uart init err: %d!", optRet);
return optRet;
} else {
TAL_PR_DEBUG("Uart init ok!");
}初始化是成功了(有Log输出)。
有调用接口注册中断函数:tal_uart_rx_reg_irq_cb(TUYA_UART_NUM_0, apps_system_uart_irq_callback);
发送数据:
Code: Select all
int ret = tal_uart_write(TUYA_UART_NUM_0, in, length);
if(OPRT_OK != ret) {
TAL_PR_ERR("uart_send_data error: %d", ret);
}实际会发送不成功,刚上电那会报的error code: -4. 后面报的1
初始化是在tuya_init_last 中进行的。请教下这是什么原因导致的发送失败呢?