华体会体育

您现在的位置是:首页 > 新闻动态 > 华体会体育_最新M471K系列单片机开发板测试

华体会体育_最新M471K系列单片机开发板测试

文章来源:华体会体育  作者:华体会体育  发布日期:2021-10-04  浏览次数:612  【打印】  【关闭】   【返回

测试方式:实现输入按键节制和输出点亮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,然后主函数挪用他们。

/* 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

Copyright © 2020 Shanghai Lineprinting Materials Co., ltd. All rights reserved .
Tel: (+86)21-57760077 Address:No.945,Huifu road, Waigang Town, Jiading District, Shanghai