前言
前面进行了开发环境的搭建,现在进行串口的测试及串口代码的分析,实现串口的printf之后可以方便后面的调试。
过程
参考https://bbs.elecfans.com/jishu_2363768_1_1.html搭建HelloWorld工程。
注意
cycfg_system.c中注释掉//#define CY_CFG_SYSCLK_WCO_ENABLED 1
如下代码可以看到串口使用的P02 P03
result = cy_retarget_io_init(CYBSP_DEBUG_UART_TX, CYBSP_DEBUG_UART_RX,
CY_RETARGET_IO_BAUDRATE);
对应原理图
硬件接线如下
下载运行按回车可以看到串口打印,
串口相关代码分析
初始化
result = cy_retarget_io_init(CYBSP_DEBUG_UART_TX, CYBSP_DEBUG_UART_RX,
CY_RETARGET_IO_BAUDRATE);
cyhal_uart_init->_cyhal_uart_setup_resources->_CYHAL_SCB_CHECK_AFFILIATION
输入输出重定向
/mtb_shared/retarget-io/release-v1.3.0/cy_retarget_io.c
_write->cy_retarget_io_putchar实现发送
_read->cy_retarget_io_getchar实现接收
总结
Demo代码实现了串口重定向可以直接使用printf等,进行了输入输出测试,测试OK方便后面使用串口打印调试。