T5 SMP(3.13.3)上串口的使用

更新时间:2026-03-17 03:05:03LLM 副本以 Markdown 格式查看下载 PDF

该demo仅供参考

P40 UART2_RX

P41 UART2_TX

1.初始化串口

	//rx init
	TAL_UART_CFG_T cfg_rx = {0};
	cfg_rx.base_cfg.baudrate = 115200;
	cfg_rx.base_cfg.databits = TUYA_UART_DATA_LEN_8BIT;
	cfg_rx.base_cfg.stopbits = TUYA_UART_STOP_LEN_1BIT;
	cfg_rx.base_cfg.parity = TUYA_UART_PARITY_TYPE_NONE;
	cfg_rx.base_cfg.flowctrl = TUYA_UART_FLOWCTRL_NONE;
	cfg_rx.rx_buffer_size = 512;
	cfg_rx.open_mode = O_BLOCK;

	tkl_io_pinmux_config(TUYA_IO_PIN_40, TUYA_UART2_RX);
	tkl_io_pinmux_config(TUYA_IO_PIN_41, TUYA_UART2_TX);
	TUYA_CALL_ERR_RETURN(tal_uart_init(TUYA_UART_NUM_2, &cfg_rx));


	STATIC TIMER_ID sw_timer_id = NULL;
        tal_sw_timer_create(swimming_uart2_timer, NULL, &sw_timer_id);
        TAL_PR_DEBUG("***************sw timer start***************");
        tal_sw_timer_start(sw_timer_id, 30 * 1000, TAL_TIMER_CYCLE);

2.回调函数

STATIC INT32_T write_cnt = 0;
STATIC VOID swimming_uart2_timer(VOID *args)
{
    TAL_PR_NOTICE("***************swimming sw timer callback***************\r\n");
    tal_uart_write(TUYA_UART_NUM_2, &write_cnt, 1);
    write_cnt++;
    TAL_PR_DEBUG("write data:%d \r\n",write_cnt);
}

3.测试结果

T5 SMP(3.13.3)上串口的使用