功能需求:
(1)对接收的字符串原样返回(每10个字符一次)。
(2)发送一个字符串完成后改变LED的状态。
1.创建工程
使用的是F407Discovery,4个LED对应PD12-PD14。
(1)使用外部高速时钟
(2)推挽输出4个LED输出端口
(3)使用usart2
(4)外部8M,使用HSE,频率设置为最高(168MHz,这个可随便)
(5)如下,设置用中断
(6)设置使用中断(在usart2中断下边的是外部中断,我测试的时候用的可不用管)
(7)点击这个小齿轮生成工程
2.程序设计
需求中需要接收到10个字符之后原样返回,发送完成后还要改变LED状态,所以要用中断,发送接收都要。
(1)定义一个字符变量,两个缓存数组(uint8_t其实就是unsigned char类型)
(2)在while(1)之前先使能接收中断并绑定接收缓存数组指定大小。在while(1)中:先发送一个字符,再发送字符数组中的字符,最后延时一下要不然一会发送的太快不利于观察。
(3)写回调函数(两个)
(4)下载验证即可