测试方法:实现输入按键控制和输出点亮LED,输入可以控制LED闪烁速度
串口可以打印出闪烁的周期。
GPIO的初始化
void led_init(void){ GPIO_SetMode(PB, BIT14, GPIO_MODE_OUTPUT); PB14 = 1;}
//初始化按键的端口为输入模式void button_init(void){ GPIO_SetMode(PH, BIT4, GPIO_MODE_INPUT);}
实现LED闪烁,并通过传入一个参数控制延时周期
void led_blink(int i){ while(i--) CLK_SysTickDelay(100000); PB14 ^=1;}
这里使用了库函数进行延时,最小延时单元设置为0.1s,即100000us。通过传入的变量i,可以控制多少个0.1s后进行翻转。 按键输入用于控制一个变量从10到1循环变化,通过指针传入该变量的地址。
//通过按键改变一个数字从10到1的变化,用于控制LED闪烁的频率。
void get_button(int *i){
if(PH4==0) { CLK_SysTickDelay(1000); if(PH4==0) { while(PH4==0); (*i)--; if(*i《=0) *i=10; printf(“i=%d T=%.2f s
”,*i,(float)*i/5); } }}
每次完成一次变量改变后,打印出变量值和当前对应的周期。代码实现了松手检测,按下后,先延时确认是否真的按下,如果是按下了,那么等待松手,松手后进行变量的减一操作,然后判断变量是否循环到0,然后主函数调用他们。
int32_t main(void){int i=10; /* Init System, IP clock and multi-function I/O. */ SYS_Init();
/* Init UART0 for printf */ UART0_Init();
printf(“
CPU [url=home.php?mod=space&uid=72445]@[/url] %dHz
”, SystemCoreClock);
printf(“+-------------------------------------------------+
”); printf(“| PB.14(Output) and PCH.4(Input) Sample Code |
”); printf(“+-------------------------------------------------+
”);
led_init(); button_init();
while(1) { led_blink(i); get_button(&i); }}
00_LED.rar (746.17 KB,)
最后串口打印的效果如下,完整的工程看附件,可以放到
M471_Series_BSP_CMSIS_V3.00.000SampleCodeStdDriver
这个目录下,因为我是用GPIO的例子复制了一份,修改的。
责任编辑:haq
-
led
+关注
关注
242文章
23398浏览量
664061 -
单片机
+关注
关注
6044文章
44632浏览量
639390
原文标题:最新M471K系列单片机开发板测评:测试GPIO和串口
文章出处:【微信号:pcbgood,微信公众号:奈因PCB电路板设计】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
![](https://file1.elecfans.com/web3/M00/05/27/wKgZPGd9HROAe7lSAAU3AZD_C80751.jpg)
XD08M3232红外感应单片机开发板适合初学者吗?
盘古22K开发板
单片机怎么写入程序
32位M0核普冉单片机 PY32F003开发板20脚 快速入门 易于上手
![32位<b class='flag-5'>M</b>0核普冉<b class='flag-5'>单片机</b> PY32F003<b class='flag-5'>开发板</b>20脚 快速入门 易于上手](https://file1.elecfans.com//web2/M00/06/30/wKgZombipiSAePQNAAykeVlL0zw744.jpg)
PY32F002A单片机开发板 PY32F002AF15P6开发板 32位MCU,M0+内核
![PY32F002A<b class='flag-5'>单片机</b><b class='flag-5'>开发板</b> PY32F002AF15P6<b class='flag-5'>开发板</b> 32位MCU,<b class='flag-5'>M</b>0+内核](https://file1.elecfans.com//web2/M00/05/14/wKgZombWr56AONF1AAKjvai7Xtk000.jpg)
单片机烧录程序的基本步骤是什么
linux开发板和单片机开发的区别
紫光同创PGL22G开发板|盘古22K开发板,国产FPGA开发板,接口丰富,高性价比
PY32系列单片机开发板 常用型号都有 支持Keil,IAR进行开发
![PY32<b class='flag-5'>系列</b><b class='flag-5'>单片机</b><b class='flag-5'>开发板</b> 常用型号都有 支持Keil,IAR进行<b class='flag-5'>开发</b>](https://file1.elecfans.com//web2/M00/E8/DB/wKgaomZNlUCAZR2BAA4W9nyyvYg902.jpg)
评论