前言
严格来说不算是第二天了,应该是第2.3.4天了吧。跟着B站江科大自动协在学习,个人觉得这个老师讲得非常好,深入浅出,从单片机到C语言都讲了。觉得太细的部分跳过就好。
学习内容
复习向 ,用于自己思考回顾,想一想那些点让我印象深刻。
- 看单片机引脚图
之前点LED的时候发现别的地方也会有一些反应(数码管和蜂鸣器),最开始猜的是作为开发板,可能一个引脚接了多个东西,后来跟着老师会看板子的图了,发现果然是这样。 - 按键控制
按键控制涉及一个按钮控制的函数(不能直接if-》代码执行去控制,这个按钮和电脑界面上的buttun不一样),以及防止抖动的方法。
if(a==0){
wait();
while(a==0);
wait();
/*代码块*/
}
- 数码管
数码管中涉及到了另外一块设备74HC138译码器,它可以将3个脚的电信号来表示8种情况(二进制)。通过操作数码管中谁亮谁不亮,以及亮什么显示单个数。
多个数的显示其实是利用时序进行不断的刷新,人的眼睛察觉不到那样的刷新频率。
但是要注意出现的残影(说法不专业。。),就是在切换下一个显示位的时候,先将显示内容清除。 - 模块化
也就是软件里各种包的引用。
可以在main.c文件外创建很多其他的.c文件,例如functions.c有funA(),funcB()方法。
在此基础上创建functions.h,把需要对外暴露的函数进行声明,
#ifndef __FUNCTIONS_H__
#define __FUNCTIONS_H__
//用户调用函数:
void funcA();
#endif
其他.c文件只需要在头部引用"functions.h"便可以调用这些方法。
#include "functions.h"
疑惑点
为什么.h文件里,需要__XXXXXXXXX_H__
include的时候还是只需要.h文件的文件名,
如果名称对应不上会有问题吗?