6022|2

51

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

nucleo心得 stm32l053开发板按键检测 [复制链接]

stm32l053 nucleo开发板按键检测(查询方式),使用cubemx生成代码1.板上自带一个按键接在PC13上,设置PC13为输入模式,选择PA5(板上LED)为输出模式

2.选择PC13为上拉输入,原理图上已经硬件上拉

配置完后直接生成代码,下面是关于GPIO配置的部分代码

自己添加检测函数,建议自己添加代码时在/* USER CODE BEGIN n */和/* USER CODE END n */之间添加,这样再次通过cubemx修改之后就不会删除自己书写的代码,否则修改cubemx工程文件重新生成代码会删除自己写的代码。
/* USER CODE BEGIN 2 */
void keyscan(void)
{
        GPIO_PinState KEY;
        KEY=HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);
        if(KEY==GPIO_PIN_RESET)
        {
                HAL_Delay(20);
                KEY=HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);
                if(KEY!=GPIO_PIN_RESET)HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
        }
}

/* USER CODE END 2 */

主程序while(1)中调用这个函数就够了,最后编译下载验证通过,cubemx详细配置请移步https://bbs.eeworld.com.cn/thread-447853-1-1.html
另外stm32l053 nucleo开发板还支持mbed在线编译,里面自带了一些demo,有兴趣的可以去看一看,直接在线编译完了之后会生成一个xxx.bin文件,把这个文件直接拖进nucleo的64K的U盘里就能直接在版上运行,总的来说下载程序十分方便,但是唯一缺憾是不支持调试功能,自己下载了一个离线版的mbed叫做Smesh Stdio功能比在线版强但是支持四款单片机没有nucleo板,相信不久就能支持ST这套板子。

以下是mbed的按键检测程序非常简单有没有
#include "mbed.h"

DigitalIn mybutton(USER_BUTTON);
DigitalOut myled(LED1);

int main() {
  while(1) {
    if (mybutton == 0) { // Button is pressed
      myled = !myled; // Toggle the LED state
      wait(0.2); // 200 ms
    }
  }
}
把生成的.bin文件拖进对应盘就能运行了


另外发一份mbed的led闪烁程序

#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}


此帖出自stm32/stm8论坛

最新回复

都开始玩图形界面了  详情 回复 发表于 2014-9-23 12:41
点赞 关注
 

回复
举报

524

帖子

0

TA的资源

一粒金砂(高级)

推荐
 
好东西,第一次发现原来st的也有类似freescale的这种开发环境啊
此帖出自stm32/stm8论坛
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

板凳
 
都开始玩图形界面了
此帖出自stm32/stm8论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表