开发环境使用 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的读写学习:

    if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == ){        //是否有按键按下
HAL_Delay(); //延迟去抖动
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == ){ //重新检测是否有按键按下
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();

STM32L0 HAL库 IO读写功能的更多相关文章

  1. STM32L0 HAL库 UART 串口读写功能

    串口发送功能: uint8_t TxData[]= "01234abcde"; HAL_UART_Transmit(&huart2,TxData,,0xffff);//把T ...

  2. STM32L0 HAL库 TIM定时1s

    STM32L0的定制器资源: 本实验使用TIM6 HSI频率是16Mhz,则单指令周期是1/16Mhz 预分频设置为1600,则每跑1600下,定时器加1,相当于定时器加1的时间是1600*(1/16 ...

  3. STM32 HAL库 UART 串口读写功能笔记

    https://www.cnblogs.com/Mysterious/p/4804188.html STM32L0 HAL库 UART 串口读写功能 串口发送功能: uint8_t TxData[10 ...

  4. stm32 HAL库笔记(一)——普通IO口

    今天介HAL库操作普通IO口,就是输入/输出. 如果用CubeMX配置io工程,打开以后可以看到如下代码: GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOB ...

  5. STM32基于HAL库通过DMA读写SDIO

    通过STM32CUBEMX生成DMA读写sdio的工程,再读写过程中总会卡死在DMA中断等待读写完成的while中,最终发现while等待的标志在SDIO的中断里置位的,而SDIO中断优先级如果小于或 ...

  6. STM32 实现内部Flash的读写(HAL库版)

    Flash 中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器.可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除.一个Nand Flash由多个块(Block ...

  7. 【STM32H7教程】第47章 STM32H7的FMC总线基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第47章       STM32H7的FMC总线基础知识和HA ...

  8. 【情人节选帽子】TCS34725颜色传感器和Python图形界面编程(STM32 HAL库)

    截图 描述: l  STM32 HAL库编程 l  使用模拟IIC通信,方便程序移植 l  Python界面编写,蘑菇头的帽子是什么颜色 l  STM32 HAL库串口通信 l  Python界面使用 ...

  9. 【HAL库每天一例】freemodbus移植

    例程下载:资料包括程序.相关说明资料以及软件使用截图 百度云盘:https://pan.baidu.com/s/1slN8rIt 密码:u6m1 360云盘:https://yunpan.cn/OcP ...

随机推荐

  1. Linux学习笔记 (三)Vi文本编辑器

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  2. js 获取浏览器显示内容的宽度和高度

      js获取浏览器显示内容的宽度和高度 CreateTime--2017年7月10日17:24:12Author:Marydon 1.获取浏览器屏幕显示d的网页宽度 /** * 得到浏览器显示的屏幕高 ...

  3. Windows重装系统

    本文主要针对那些不会重装系统windows的用户,虽然重装系统win7或win10很简单,但是还是有一些小白不明白如何安装新系统,也不清楚有几种安装方式.本教程现在就详细的讲讲利用U盘重装系统的具体步 ...

  4. UUID(即GUID)

    UUID(GUID)是Cocoa Touch提供的一种生成唯一标识的机制.类型为CFUUIDRef的对象可以代表UUID,UUID是基于当前时间.计数器和硬件标识(通常是以太网卡的MAC地址)等数据计 ...

  5. SVN版本控制图标未显示或显示异常

    TortoiseSVN下载的文件和文件夹如果缺失了那些花花绿绿的状态小图标,很容易逼死某些强迫症患者,更何况这些小图标用处多多 接下来我会逐步展示从常规到非常规的一系列解决方案(不包括重装重启这一类) ...

  6. 在caffe中用训练好的 caffemodel 来分类新的图片所遇到的问题

    结合之前的博客: http://www.cnblogs.com/Allen-rg/p/5834551.html#3949333 用caffemodel去测试单通道的图像(mnist数据集)时,出现了问 ...

  7. GO语言使用开源SSH模拟终端

    <pre name="code" class="plain">package main import ( "go-ssh/ssh" ...

  8. SpringBoot启动流程分析(五):SpringBoot自动装配原理实现

    SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...

  9. 【问题记录】springmvc国际化问题

    异常-Cannot change HTTP accept header - use a different locale resolution strategy springmvc国际化时,local ...

  10. Jquery 中Ajax使用的四种情况

    <script type="text/javascript" language="javascript" src="JS/jquery-1[1] ...