历史上的今天
返回首页

历史上的今天

今天是:2024年09月11日(星期三)

正在发生

2019年09月11日 | STM32HAL库学习(二)CubeMx按键

2019-09-11 来源:eefocus

首先是找到电路图,按键是高电平按下还是低电平按下

GPIO八种模式



https://blog.csdn.net/hailin0716/article/details/24333951


上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平。而在信号输入为低电平是输入端的电平应该也为低电平。

按键是按下时是高电平时,那无信号输入时要保持低电平,下拉输入

枚举KEYState_TypeDef 定义按键的两种状态 


typedef enum{

KEY0_UP,

KEY0_DOWN,

KEY1_UP,

KEY1_DOWN


}KEYState_typedef;


函数有个 KEYState_TypeDef 类型的返回值 


KEYState_typedef KEY0_GetState(void)

{

if (HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin)==KEY0_DOWN_LEVEL )

{

HAL_Delay(10);

if (HAL_GPIO_ReadPin (KEY0_GPIO_Port ,KEY0_Pin )==KEY0_DOWN_LEVEL )

{

while(HAL_GPIO_ReadPin (KEY0_GPIO_Port ,KEY0_Pin )== KEY0_DOWN_LEVEL );

return KEY0_DOWN;

}

return KEY0_UP;


}


读取,写入GPIO电平


HAL_GPIO_ReadPin();


HAL_GPIO_WritePin();


将自己的代码放入一个文件夹,在下一次复制修改CubeMx从新生成code时,不会被重置。


将各个外设的驱动单独写.c .h文件,自己写一个system程序,作为主程序,每次重置后就在main中放入my_system的头文件,init和主函数就行,在魔术棒中编译路径中加入自己的文件夹。

推荐阅读

史海拾趣

Ecera Comtek Corp公司的发展小趣事

随着公司实力的不断增强,Ecera Comtek Corp公司开始寻求更广阔的发展空间。公司决定进军国际市场,拓展海外业务。然而,国际市场的竞争更加激烈,Ecera Comtek Corp公司面临着来自全球各地的强大竞争对手。为了应对这一挑战,Ecera Comtek Corp公司加强了与国际合作伙伴的联系,共同研发新产品,开拓新市场。同时,公司还加大了对海外市场的宣传力度,提高了品牌的知名度和美誉度。经过几年的努力,Ecera Comtek Corp公司的产品逐渐在国际市场上获得了认可,海外业务也取得了显著的进展。

DAICO公司的发展小趣事

DAICO公司深知品质的重要性,因此在生产过程中严格遵循国际标准和规范。公司不仅建立了完善的质量管理体系,还通过了多项国际认证,如ISO 9001等。这些认证证明了DAICO在产品质量和管理水平方面的实力,进一步提升了其在国际市场上的竞争力。

Essentra Components公司的发展小趣事

作为一家有社会责任感的企业,Essentra Components公司积极履行社会责任,关注社会公益事业。公司定期参与各种慈善活动和社会公益活动,为当地社区的发展做出了积极贡献。此外,公司还注重员工的福利和培训发展,为员工提供了良好的工作环境和发展机会。这些举措不仅树立了企业的良好形象,还增强了企业的凝聚力和向心力。

请注意,以上故事是基于对Essentra Components公司业务特性和市场环境的理解而构想出来的,并非实际发生的事件。如有需要,建议直接联系Essentra Components公司或查阅相关资料以获取更准确的信息。

Bce Sud公司的发展小趣事

随着公司规模的扩大和市场份额的提升,Bce Sud开始实施国际化战略。公司先后在多个国家和地区设立了研发中心和销售网络,进一步扩大了市场份额。通过与国际知名企业的合作与交流,Bce Sud不断提升自身的技术水平和国际竞争力。

ATOP_Technologies公司的发展小趣事

随着技术的不断进步,ATOP Technologies意识到要想在激烈的市场竞争中保持领先地位,必须不断进行技术创新和产品升级。因此,公司加大了在研发方面的投入,积极引进高端人才,加强与高校和研究机构的合作。经过多年的努力,ATOP Technologies成功开发出了一系列具有自主知识产权的工业自动化产品,并在市场上取得了良好的口碑。

Celduc Relais公司的发展小趣事

为了确保产品质量和客户满意度,Celduc Relais公司投入大量资源建立了完善的质量管理体系。公司引入了先进的质量管理工具和方法,通过严格的质量控制和持续改进,不断提升产品质量和服务水平。这一举措不仅增强了客户对公司的信任,也为公司在激烈的市场竞争中保持领先地位提供了有力保障。

问答坊 | AI 解惑

最酷最全的电子类学习网站集锦

这是我在网上找的一些信息,是转载!希望对大家能有有用!希望大家多多支持! 由于字数太多,放在WORD文档中。…

查看全部问答>

TI2407入门资料

不知别人有没有上传过,也许对初学者有用 …

查看全部问答>

【求助】PNP可以这样做开关吗?

买的单片机开发板的电路图是这样把PNP当作开关来用的 我怎么看着不对呢? [ 本帖最后由 daition340 于 2010-1-31 12:55 编辑 ]…

查看全部问答>

紧急!!SIM300DZ 模块对AT指令返回错误信息 在线等

我开发的平台是S3c2410,我想在嵌入式linux下实现GPRS上网,使用pppd call GPRS方式,SIM300DZ模块使用的是3脚串口,模块开机后向其拨打电话可以接通,但是执行pppd call GPRS,执行到send(AT)EXpect(OK)时,串口返回的是“%lee”这是怎么回事 ...…

查看全部问答>

请问自己怎样增长开发经验?

如题,小弟很无奈,入行没多久,公司也没事可做, 小弟自知技术很不纯熟,请教各位过来人怎么自己增长, 咱这个技术接私活真是自不量力, 但是没有项目经验光看书感觉就是纸上谈兵, 所以真诚请教各位过来人,有什么途径可以自己增长开发的经验 ...…

查看全部问答>

请while(ms--) 这种写是什么意思?

void delay(uint ms) {   uchar k;   while(ms--)  //这句等介什么程序,没有见过这种写法   {     for(k = 0; k < 500; k++);   } }…

查看全部问答>

一个很邪门的问题

我帮别人做个读IO口,然后通过串口发出去的程序,用PC调试正常,怎么试怎么好,但是将单片机接到终端设备上去,终端收到的数据出错,但是如果将这个数据发给一台pc,单片机将数据发给pc,然后pc用相同的串口设置将收到数据发给设备,则设备接收数据 ...…

查看全部问答>

TI公司MaxLife快速充电技术解析

    TI公司MaxLife快速充电技术解析,不伤电池的快速充电技术,,,     虽然锂离子电池的充电速度比以前的镍镉电池或镍氢电池快多了,但我们还是嫌慢。越快越好。是的,市场上有售一些快速充电器,但它们会严重损害锂离子电 ...…

查看全部问答>

uart 接收发送新玩法

本帖最后由 jorya_txj 于 2014-1-5 20:18 编辑 很多时候,用户发送具体消息的时候,也需要发送一个消息长度。比如在网卡中断中接收到了一包数据,发送消息给外面任务的时候,也需要告诉外面的任务消息的长度是多少。使用之前的queue模块做需要一 ...…

查看全部问答>