完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
IO_HAL1.项目概述:key按下,即引脚PC.1有低电平输入,此时led点亮,即PC.0为低电平; key弹起,即引脚PC.1悬空,此时led熄灭,即PC.0为高电平。 2.软件调试:简述hal库的编程的理解:引入HAL层的概念,将软件大致分为三类:第一类hal层:直接和硬件相关,操作寄存器与原始的芯片api;第二类组件层:通过hal层间接操作硬件,只需要了解部分和组件直接相关的必要硬件信息即可,主要目的是实现组件功能,第三类应用层:通过调用组件层,只关注功能,关注硬件。优势:1.有利于多人协同开发:可以按三个层次对人员的工作进行分配,定义好接口,可实现三层软件同时开发,大大提高开发效率2.有利于不同平台的移植:在移植时:应用 层可不过修改,组件层修改量很少,只需要着重修改hal层就可满足要求; 2.1Hal层:目录结构如下图所示: 2.1.1变量:定义结构体: 结构体元素为初始化io引脚的必要元素如:端口号,序号,输入输出模式,初始电平; typedef struct {
}GPIO_InitTypeDef; 2.1.2函数:用于初始化io引脚, void HAL_GPIO_Init ( GPIO_InitTypeDef *GPIO_Init); 用于读取引脚的电平状态 u8 HAL_GPIO_ReadPin (GPIO_InitTypeDef *GPIO_Init); 2.2组件层目录结构如下图所示: 初始化io引脚的步骤
示例为led引脚初始化: static GPIO_InitTypeDef GPIO_LED0; void LedInit () {
} void LedOn (); void LedOff (); 读取引脚的电平状态如下所示: u8 GetKeyState () ret = HAL_GPIO_ReadPin(&GPIO_KEY0); 2.3应用层目录结构如图所示: void UserFunction1 () {
} 整体软件的目录结构为,如下图所示: 3.硬件接入:独立按键key连接引脚PC.1,key按下,有低电平输入,key弹起,即悬空; led连接引脚PC.0,led为共阳极,低电平点亮; 硬件接线如下图所示: 4.视频演示:实际现象与描述一致。 5.建议建议在开发板的硬件电路中增加led,key,3.3v/5v电源,电源开关,以及复位按键,可以提高开发者的开发效率。 |
|
相关推荐
|
|
即将更新:针对感芯科技64线程MC3172开发板,2.HAL库实现串口,3.HAL库实现pwm的编程说明,敬请期待.
后续代码将上传至Gitee上,做开源分享和交流。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
【感芯科技64线程MC3172开发板免费试用体验】感芯科技MC3172多线程实时性测试
21581 浏览 1 评论
【感芯科技64线程MC3172开发板免费试用体验】这个芯片不一样,硬件多线程MCU体验
19537 浏览 1 评论
501浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 10:04 , Processed in 0.881481 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号