ylyfxzsx 发表于 2020-9-30 20:41

【GD32307E-START】开发实战->K2按键+USART实现用户交互控制+USRT打印输出状态

<p>上二节,已经点亮了板载的LED1及连接PC串口成功打印了HELLOWORD,这一节在这里就前面已经实现的功能进行一个综合应用的进阶。采用开发板的K2按键,usart0实现和PC的一个交互。那么这里设想一下简单的实现逻辑:</p>

<p>&nbsp;</p>

<p>1.开发板通电初始化完成---&gt;板载LED闪烁一次---&gt;串口打印好准备好消息---&gt;MCU进入待命状态</p>

<p>&nbsp;</p>

<p>2.用户按下按键K2---&gt;板载LED闪烁一次---&gt;串口打印用户按键按下消息---&gt;PC收到显示按键按下信息</p>

<p>&nbsp;</p>

<p>3.PC通过串口助手发送0XF0点亮指令---&gt;MCU收到0XF0指令---&gt;点亮板载LED---&gt;收到其他指令回发PC---&gt;非法指令,同时关闭LED</p>

<p>&nbsp;</p>

<p>--------------------------------------------------------------我是分割线-----------------------------------------------------------------------</p>

<p>1.开发板通电初始化完成---&gt;板载LED闪烁一次---&gt;串口打印好准备好消息---&gt;MCU进入待命状态</p>

<p>这个很好实现,前面已经实现了LED的闪烁和UART打印HELLOWORD,那么这里只要很简单的几行代码即可实现,如下图</p>

<p></p>

<p>接下来,继续实现第二个功能:用户按下按键K2---&gt;板载LED闪烁一次---&gt;串口打印用户按键按下消息---&gt;PC收到显示按键按下信息</p>

<p>首先,查看GD32307E-START开发板的硬件原理图,可以看到K2是连接到MCU的PA0引脚,那么查看GD32F30x_User_Manual_CN_V1.1 PA0 为<b>EXTI </b>线编号0</p>

<p></p>

<p>那么接下来,开始编写代码,新建hw_key.c和hw_key.h 文件编写代码,并在gd32f30x_it.c文件里添加中断处理。</p>

<p><br />
编译运行,下载到开发板上,按下按键,LED闪烁一次,同时串口打印出按键按下的消息</p>

<p></p>

<p></p>

<p>3.PC通过串口助手发送0XF0点亮指令---&gt;MCU收到0XF0指令---&gt;点亮板载LED---&gt;收到其他指令回发PC---&gt;非法指令,同时关闭LED</p>

<p>好了,到这里,接着实现第三个功能,通过串口和用户进行交互,这里需要加入串口接收中断处理</p>

<p></p>

<p></p>

<p>编译下载运行,查看结果,可以看到当PC串口助手发松0XF0点亮了LED,发送其他指令提示非法并关闭了LED,至此,除了开发板上的USB_OTG还没有探索外,实现了开发板所有功能的简单实现,总体来讲,开发工作比较顺利,如果以前用过友商的芯片,能很快上手开始开发工作。</p>

<p></p>

<p><br />
&nbsp;</p>

<p>&nbsp;</p>

<p><br />
&nbsp;</p>

<p>&nbsp;</p>

okhxyyo 发表于 2020-10-9 15:24

<p>兆易GD32307E-START测评汇总<br />
<a href="https://bbs.eeworld.com.cn/thread-1143008-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1143008-1-1.html</a></p>
页: [1]
查看完整版本: 【GD32307E-START】开发实战->K2按键+USART实现用户交互控制+USRT打印输出状态