【实验目的】
- 掌握 USB 转串口电路的原理和设计.
- 学习 nRF52840 的 UART 和 UARTE 原理、区别。
- 掌握库函数中串口初始化、发送和接收数据相关的函数。
- 编写驱动串口收发程序,在此基础上,更进一步,编写串口发送命令控制 4 LED 指示灯亮灭的程序。
【实验环境】
nrf52840、keil、电脑
【实验资源】
IK-52840DK开发板上设计了USB转串口电路,它的主要作用有2个:
1)USB 转串口通讯,通过 USB 数据线连接到计算机的 USB 口即可使用串口通讯功能。
2)开发板供电通过 USB 可以为开发板供电(计算机 USB 可以提供 500mA 的电流)。
USB 转串口电路如下图所示,串口接收和发送的管脚上均连接了LED 指示灯,收发数据时指示灯会闪烁,这样,更方便我们从硬件的角度观察串口有没有在进行数据收发。电路中的自恢复保险丝用于保护开发板和计算机 USB 口。
nRF52840 片内集成了 1 个 UART 外设,其主要特性如下。
- 全双工。
- 自动的流控。
- 奇偶校验并自动产生校验位。
- 1 位停止位。
nRF52840 的 UART 通过 TXD 和 RXD 寄存器发送和接收数据,UART 的原理框图如下图所示:
图 10-2:UART 原理框图
从上图中,我们可以看到,UART 共有 4 个引脚配置寄存器,通过这 4 个寄存器可以将UART 的4 个信号映射到任何一个物理引脚。UART 的发送通过STARTTX 任务启动和停止, 发送成功后,会产生 TXDRDY 事件。UART 的接收通过 STARTRX 和 STOPRX 任务启动和停止,当数据由硬件 FIFO 提取到 RXD 寄存器时,产生 RXDRDY 事件。
【实验要求】
1.掌握 USB 转串口电路的原理和设计.
2.学习 nRF52840 的 UART 和 UARTE 原理、区别。
3.掌握库函数中串口初始化、发送和接收数据相关的函数。
编写驱动串口收发程序,在此基础上,更进一步,编写串口发送命令控制 4 LED 指示灯亮灭的程序。
【实验步骤】
1、配置串口事件回调函数,配置串口,注册串口事件回调函数。
void uart_error_handle(app_uart_evt_t * p_event){};
void uart_config(void){};