06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)

1、知识学习

1 按键工作电路原理

按键通常与电阻配合使用如:

上拉电阻:按键一端接地,另一端通过电阻接电源(VCC)。未按下时,输入引脚为高电平;按下时接地变为低电平。
下拉电阻:按键一端接VCC,另一端通过电阻接地。未按下时输入为低电平,按下时变为高电平。

2、LED控制原理

复制代码
• 对于小功率的LED可以直接通过单片机引脚控制
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b74873e83f58433391b06d477145b141.png)
对于大功率LED单片机不足以驱动LED所以需要通过三极管来驱动,单片机引脚输出高电平三极管导通LED点亮

2实验内容

1 配置外部时钟源选择Crystal/Ceramic ResonatorBYPASS Clock Source:旁路时钟源(有源晶振)

Crystal/Ceramic Resonator:晶体/陶瓷振荡器(无源晶振)

2 Debug选择Serial Wire,因为用的是SW下载调试

3 配置GPIO引脚模式

PA0配置为上拉输入模式

PC13配置为推挽输出模式

通过查看原理图可知按键一段接GND另一端接单片机引脚PA0,当按键按下时PA0读取到低电平,配置为上拉输入模式,按键悬空时PA0默认为高电平。 LED一端接3.3V另一端接单片机引脚PC13,配置为推挽输出模式,PC13输出高电平LED灭,输出低电平LED亮。

4 先定义LED翻转函数

5 定义按键函数delay10ms消抖

6 main函数

3 实验结果 按键按下可控制LED亮灭

按键按下可控制LED亮灭

4、面试知识预习

1 逗号运算符最后的结果时最后一位x(a=2,b=3,a+b) 结果为5

2 理解下列运算a=5,b=10;

a=b++;

printf("%d,%d",a,b);

//结果是10,11

因为b++具体运算过程是int temp = b;

b=b+1;

return temp;

++b的具体运算过程是b=b+1;

return b;

相关推荐
三品吉他手会点灯3 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
chushiyunen5 小时前
langchain4j笔记、tools
笔记·python·flask
sunfdf5 小时前
知识学习场景下的智能应用实践大纲
学习
MartinYeung56 小时前
[论文学习]重新思考大型语言模型忘却目标:梯度视角与超越
人工智能·学习·语言模型
影视飓风TIM6 小时前
数据结构 | 链表超全笔记(单链表+双链表+高频算法题)
数据结构·笔记·链表
二哈赛车手6 小时前
新人笔记---最终版智能体图片分析完整方案,包括一些总结于经验,以及各种优化点讲解
java·笔记·spring·ai·springboot
_李小白7 小时前
【智能驾驶:视觉感知后处理 阅读笔记】Day4: 相机成像模型与畸变
笔记·数码相机
十月的皮皮7 小时前
C语言学习笔记20260615-有序升序序列合并
c语言·笔记·学习
JAVA面经实录9177 小时前
前端系统化学习计划表(含完整知识思维导图)
前端·学习
破晓单片机7 小时前
067、STM32项目分享:语音儿童学习书桌系统
stm32·单片机·嵌入式硬件