前面我使用的vscode+ModusToolbox Assistant进行了测试,为了尽快的熟悉CY8CKIT-062S2-AI的外设,我这篇将体验他的UART收发功能。
【创建工程】
1、创建一个新的工程,命名的my_uart_test
2、将开发板接到电脑上,刷新后,选择好开发板:
3、在示例工程的选择中,我选择外设->UART 发送与接收:
4、检查好后,点击creart Project生成工程。
5、然后等待从服务器上面下载相关代码,如果是第一次,则需要等一段时间:
在创建期间,需要观察日志,如果出现错误,一般是由于连接github超时,大家需要科学上网。
当出现下面这个对话框时,则创建工程结束,我们打开工程就可以实现对工程的下一步操作了。
【工程代码学习】
在main中,对UART的配置代码如下:
- result = cy_retarget_io_init_fc(CYBSP_DEBUG_UART_TX, //#define CYBSP_DEBUG_UART_RX (P5_0)
- CYBSP_DEBUG_UART_RX, //#define CYBSP_DEBUG_UART_TX (P5_1)
- CYBSP_DEBUG_UART_CTS,
- CYBSP_DEBUG_UART_RTS,
- CY_RETARGET_IO_BAUDRATE); //#define CY_RETARGET_IO_BAUDRATE (115200)
- if (result != CY_RSLT_SUCCESS)
- {
- handle_error();
- }
英飞凌的编译非常的规范,是我们学习编程的非常好的示例代码:
接下来,在主循环中,使用查询接收,如接收到串口的数据,通过串口返回:
- for (;;)
- {
- if (CY_RSLT_SUCCESS == cyhal_uart_getc(&cy_retarget_io_uart_obj,
- &read_data, 0))
- {
- if (CY_RSLT_SUCCESS != cyhal_uart_putc(&cy_retarget_io_uart_obj,
- read_data))
- {
- handle_error();
- }
- }
- else
- {
- handle_error();
- }
- }
【体验】
下载代码到开发板,打开串口终端,我们发送什么,终端就返回什么:
【总结】
通过对uart示例的学习,可以看到配置还是比较简单的,这样我们在其的代码中就可以使用以上的配置与接收来实现串**互了。
|