STM32L0 HAL库 IO读写功能
2015-09-13 10:27
190 查看
开发环境使用 MDK5.16a + CUBEMX生成代码
开发板使用:NUCLEO-L053R8
核心芯片:STM32L053R8
今天主要学习了下最基础的IO的读写,IO使用 PA5 LED输出, PC13按键输入
使用CUBEMX生成LED和按键的设置输入输出的代码(此步略去),比较简单戳戳点点就行了
注意事项:
1.NUCLEO板子没外置晶振,所以晶振选择HSI
2.按键最好设置使用内部上拉,个人习惯。没仔细看电路上的按键是否是有上拉。
3.MDK使用GB2312编码格式,其它的编码写过的中文注释,重新用CUBEMX生成有时候会乱码。
4.自己写的代码一定要写在系统提示的user code begin 和end之间,这样重新生成CUBEMX时候不会覆盖这部分代码,其它的地方写的程序在生成代码时候会被软件覆盖掉。
5.MDK5有自动的代码补全功能,还是挺好使的,记得开启下。
IO的读写学习:
IO状态翻转
开发板使用:NUCLEO-L053R8
核心芯片:STM32L053R8
今天主要学习了下最基础的IO的读写,IO使用 PA5 LED输出, PC13按键输入
使用CUBEMX生成LED和按键的设置输入输出的代码(此步略去),比较简单戳戳点点就行了
注意事项:
1.NUCLEO板子没外置晶振,所以晶振选择HSI
2.按键最好设置使用内部上拉,个人习惯。没仔细看电路上的按键是否是有上拉。
3.MDK使用GB2312编码格式,其它的编码写过的中文注释,重新用CUBEMX生成有时候会乱码。
4.自己写的代码一定要写在系统提示的user code begin 和end之间,这样重新生成CUBEMX时候不会覆盖这部分代码,其它的地方写的程序在生成代码时候会被软件覆盖掉。
5.MDK5有自动的代码补全功能,还是挺好使的,记得开启下。
IO的读写学习:
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){ //是否有按键按下 HAL_Delay(10); //延迟去抖动 if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){ //重新检测是否有按键按下 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); //按键按下了,点亮LED }else{ HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET); //松开按键,熄灭LED } }
IO状态翻转
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); HAL_Delay(1000);
相关文章推荐
- Search in Rotated Sorted Array
- 终于狠下心做了一点小突破
- 终于狠下心做了一点小突破
- GDB调试精粹及使用实例
- linux参考-20150913
- 关于高速缓存和I/O高速缓冲的讲解
- UISearchBar, NSPredicate 实现简单的搜索功能
- GDB 使用与示例
- 欢迎使用CSDN-markdown编辑器
- Apache 80端口被IIS或其他服务占用怎么处理
- 华为机试:和尚挑水问题
- 解决android studio adb not responding 的问题
- Qt 插件模块的编写和管理
- GDB 用法和命令介绍
- 出现"cannot be resolved or is not a field"莫名错误的解决方法
- 安装好Oracle Client以后没有tnsnames.ora文件
- OpenWRT 15.05发布
- ajax结合springmvc报406错误
- Struts2环境配置
- 'dict' object has no attribute 'has_key'