HAL库板级支持包的构建
输入输出板级支持包的构建笔记
一、输出板级支持包(初始化LED)
1、在CubeMX自动生成的文件下创建一个User目录,在下面创建一个LED目录
2、File->new:在LED目录下新建两个文件,然后双击Core后缀文件将.c文件加入进去,在h文件下写入宏定义防止头文件被多次重复调用,c文件下引用h文件,最后不要忘记在魔术棒添加头文件的路径。

3、在c文件中写一个init(初始化),并在h文件中声明:(和STD库的教程一样,根据结构体选择参数然后写入init函数进行初始化),我也不知道为什么教程不是直接复制CubeMX生成好的个gpio配置要自己重新写一遍

4、在h文件中声明LED_Init并且写了一些宏,有直接调用HAL库函数点亮反转电平的函数,也有直接向寄存器写数据的宏定义

二、输入板级支持包的构建(初始化两个按键)
1、File->new:在LED目录下新建两个文件,然后双击Core后缀文件将.c文件加入进去,在h文件下写入宏定义防止头文件被多次重复调用,c文件下引用h文件,最后不要忘记在魔术棒添加头文件的路径。(在上一级创建了User文件夹,方便区分板级支持包)

2、在c文件中写一个init(初始化),并在h文件中声明:(和STD库的教程一样,根据结构体选择参数然后写入init函数进行初始化),我也不知道为什么教程不是直接复制CubeMX生成好的个gpio配置要自己重新写一遍


3、写读取按键电平,判断按键是否被按下,然后返回按键值(根据硬件不同代码不同,看原理图按键按下PA0会读取为1,调用ReadPin读取电平,判断电平为set还是reset)若是被按下则返回1否则返回0.


总结:教程是直接写的和官方库差不多,没有用CubeMX直接生成的代码,暂时不知道为什么。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
