【GD32307E-START】开发实战->K2按键+USART实现用户交互控制+USRT打印输出状态
[复制链接]
上二节,已经点亮了板载的LED1及连接PC串口成功打印了HELLOWORD,这一节在这里就前面已经实现的功能进行一个综合应用的进阶。采用开发板的K2按键,usart0实现和PC的一个交互。那么这里设想一下简单的实现逻辑:
1.开发板通电初始化完成--->板载LED闪烁一次--->串口打印好准备好消息--->MCU进入待命状态
2.用户按下按键K2--->板载LED闪烁一次--->串口打印用户按键按下消息--->PC收到显示按键按下信息
3.PC通过串口助手发送0XF0点亮指令--->MCU收到0XF0指令--->点亮板载LED--->收到其他指令回发PC--->非法指令,同时关闭LED
--------------------------------------------------------------我是分割线-----------------------------------------------------------------------
1.开发板通电初始化完成--->板载LED闪烁一次--->串口打印好准备好消息--->MCU进入待命状态
这个很好实现,前面已经实现了LED的闪烁和UART打印HELLOWORD,那么这里只要很简单的几行代码即可实现,如下图
接下来,继续实现第二个功能:用户按下按键K2--->板载LED闪烁一次--->串口打印用户按键按下消息--->PC收到显示按键按下信息
首先,查看GD32307E-START开发板的硬件原理图,可以看到K2是连接到MCU的PA0引脚,那么查看GD32F30x_User_Manual_CN_V1.1 PA0 为EXTI 线编号0
那么接下来,开始编写代码,新建hw_key.c和hw_key.h 文件编写代码,并在gd32f30x_it.c文件里添加中断处理。
编译运行,下载到开发板上,按下按键,LED闪烁一次,同时串口打印出按键按下的消息
3.PC通过串口助手发送0XF0点亮指令--->MCU收到0XF0指令--->点亮板载LED--->收到其他指令回发PC--->非法指令,同时关闭LED
好了,到这里,接着实现第三个功能,通过串口和用户进行交互,这里需要加入串口接收中断处理
编译下载运行,查看结果,可以看到当PC串口助手发松0XF0点亮了LED,发送其他指令提示非法并关闭了LED,至此,除了开发板上的USB_OTG还没有探索外,实现了开发板所有功能的简单实现,总体来讲,开发工作比较顺利,如果以前用过友商的芯片,能很快上手开始开发工作。
|