完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32学习(4)-蜂鸣器,按键,C语言(位,关键字,结构体),寄存器地址名称映射分析
一.蜂鸣器程序的编写 接10K的电阻作用:STM32复位时引脚处于浮空状态,引脚电平具有不确定性,如果不接10K的电阻,蜂鸣器引脚电平的跳变会造成蜂鸣器响。 程序实现: (1)使能蜂鸣器的I/O时钟。 (2)初始化I/O模式(推挽输出) (3)控制I/O输出高低电平。 程序编写参考LED小灯程序。 二.按键输入程序的编写 2.1 如何准确识别按键按下的次数 思路:增加判断前一次按键按下之后是否松开的标志位,当前一次按键松开后才能判断此次按键按下有效。标志位在初始化时需要使用static关键字。 2.2 static关键字 (1)static申明的局部变量,存储在静态存储区。 (2)它在函数调用结束后,不会被释放,它的值会一直保留下来,可以说具有记忆功能。 (3)并且它只被初始化一次,不会被重新初始化。如下图所示: 输出结果始终为1。 输出结果不断增加。 2.3 准备识别按键次数的其中一个方法 model参数为0时不支持连续按,必须满足上一次按键松开才会判断本次按键是否按下,可以准确识别按键次数。model参数为1时支持连续按。 三.C语言复习 3.1位操作 或1用来置1, 与0用来清零。 3.2define宏定义关键词 3.3 ifdef条件编译 3.4 extern变量申明 3.5 typedef类型别名 3.6 结构体 4.MDK中寄存器地址名称映射分析 GPIO的寄存器CRL的地址为GPIOA_BASE+CRL的偏移量。CRL的偏移量通过查找STM32中文参考手册,如图所示。 具体映射过程 |
|
|
|
只有小组成员才能发言,加入小组>>
3213 浏览 9 评论
2896 浏览 16 评论
3405 浏览 1 评论
8848 浏览 16 评论
3998 浏览 18 评论
9634浏览 3评论
1013浏览 3评论
525浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
526浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2253浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-5 07:02 , Processed in 0.879070 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号