前言: 分析了EXTI0程序,查看了原理图,想了十几分钟,想起来沁恒开发板外设与主控需要杜邦线进行连接。视频是我拍摄的GPIO_Toggle的现象,PA0间隔250ms进行高低电平输出,用杜邦线连接到需要控制的LED上即可看到对应的LED的闪烁。
根据CH32V20x评估板说明书,了解资料目录结构,如图1所示,EXAM文件夹提供了许多示例,本次以EXTI外部中断测试。
图1
进入到CH32V20xEVT\EVT\EXAM\EXTI\EXTI0目录,打开EXTI0.wvproj项目,如图2所示,主函数首先初始化优先级组,系统初始化,调试串口初始化,然后进行外部中断0初始化,最后无限循环每一秒打印一次Run at main。
图2
进入EXTI0_INT_INIT()函数,如图3所示,设置PA0为外部中断0,下降沿触发,全局查找EXTI0_IRQHandler函数,打开服务函数,中断产生后串口打印Run at EXTI,清除中断标志。
图3
打开PUB目录下CH32V20xSCH.pdf文件,找到第15页CH32V208W主控原理图,如图4所示,主要包括CH32V208W主控部分、XTAL晶振部分、POWER电源部分、以太网、USB type C、USB host type A、KEY以及排针。因原来用过沁恒的开发板,它的风格是把主控所有脚引出到排针,外设部分也引出到排针,需要用哪个脚控制外设,通过杜邦线在排针上连接即可,比如PA0通过KEY来外部中断测试,需要将KEY和PA0连接起来,如图5所示。
图4
图5
编译EXTI0程序,下载到板子,如图6所示,用杜邦线将KEY和PA0连接起来,按键S2进行测试,串口打印如图7所示。
图6
图7
通过对EXTI0程序的分析,了解到程序运行原理,举一反三其他程序也非常好理解了。后面我会针对蓝牙部分进行测试,能够用手机蓝牙发送控制指令给板子来控制外设。
更多回帖