点亮LED

使用的板子是STM32F103C8T6最小系统板,LED0接口为PC13。

库函数版本

先初始化配置LED寄存器
定义一个结构体
GPIO_InitTypeDef GPIO_InitStructure;
结构体类型包括引脚,传输速度,引脚模式
输出类引脚可配置传输速度

根据引脚需求配置引脚传输模式

初始化GPIOC
GPIO_Init(GPIOC, &GPIO_InitStructure);
置位PC13为高电平
GPIO_SetBits(GPIOC,GPIO_Pin_13);
置位PC13位低电平,低电平时亮
GPIO_ResetBits(GPIOC,GPIO_Pin_13);

配置完成后代码如下
扩:
也可通过位代操作控制IO口,即不适用GPIO_ResetBits函数。
输出端口使用PAout(x)/PBout(x)…
输入端口使用PAin(x)/PBin(x)…

IO口操作,只对单一的IO口!

位代操作基本思想是这个公式,位代操作相当于51的 sbit led = P1^1;

((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))

寄存器版本

先假设控制LED灯IO口位PA1,好操作和理解。

1.打开GPIOA时钟
RCC->APB2ENR |= 1<<2; ///IO端口A时钟使能 置1打开时钟或上1左移2位 就相当于控制位2为1 打开GPIOA时钟

2.控制CRL寄存器
高8位控制CRH 低8位控制CRL
配置模式参考库函数模式
GPIOA->CRL &= 0xffffff0f;
GPIOA->CRL |= 0x00000030;//推挽输出
先保留其他位数据,在配置4-7位

3.端口输出数据寄存器
GPIOA->ODR |= 1<<1; ///PA1 端口输出数据寄存器
即配置PA1输出高电平
GPIOA->ODR &= 0<<1; ///PA1 端口输出数据寄存器
即配置PA1输出低电平

STM32F103:二.(1)点亮LED相关推荐

  1. 二、点亮LED(GPIO控制)

    二.点亮LED(GPIO控制) 文件状态: [ ] 草稿 [ ] 正在修改 [ √ ] 正式发布 文件标识: 当前版本: V1.1 作 者: Skymixos 完成日期: 2022年10月02日 版 ...

  2. STM32LL库系列教程【二】——点亮LED小灯

    开发板:秉火-霸道V1 芯片:STM32F103ZET6 GPIO: PB0 STM32LL库系列教程--LL库工程配置流程 STM32LL库系列教程[一]--安装CubeMx软件 STM32LL库系 ...

  3. STM32F103寄存器方式点亮LED流水灯

    实验要求:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB.GPIOC.GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒.1)写出 ...

  4. 基于STM32F103入门1——点亮LED灯

    今天学习了STM32固件库点灯程序 点灯也可以玩过很多好玩的东西,在这里做一下总结. STM32点灯程序合集 1:新建固件库工程文件 1.1找到一个固件库模板 1.2:打开KEIL5新建工程 1.3: ...

  5. STM32F103:二.(2)串口控制LED

    串口控制LED 大概通一下流程,具体USART和NVIT后续再写 不得抱怨一句,这芯片贵的让人发吐,让我们学生党还怎么活 最近学习越学越没有动力,一点学习的心情都没,脑壳疼,先把32入门看后续写会不会 ...

  6. 51单片机手把手教学(二)—— 点亮 LED 灯(GPIO 操作)

    本文章 来自原创专栏<51单片机手把手教学>,讲解如何使用 Keil uVision 构建 51单片机 程序,发布文章并 会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓ ...

  7. 小熊派:用OpenHarmory3.0点亮LED

    摘要:作为一个代表性的完整的开发,本案例可以分成3大部分:代码文件的规划,LED灯的驱动开发,点亮LED的业务开发. 本文分享自华为云社区<在小熊派Micro上用OpenHarmory3.0点亮 ...

  8. ESP-12S学习(2)--点亮LED

    跨过前面的一个烧录大坑,终于迎来自己的第一个小实验 一.工程下创建文件夹 这是我在调试的时候遇到的一个问题,串口打印的问题 我在调用uart_init()的时候报错没有定义,但是我明明就已经导入了ua ...

  9. Arduino学习(三)点亮LED灯

    本篇开始,学习用Arduino控制各种外部电子元器件.传感器等,学习如何搭建相关电路. 用Arduino搭建电路有两种方式: 方式1: 购买并使用Arduino现成的模块:由于模块本身已经做好了电路, ...

最新文章

  1. 轻松学Pytorch – 行人检测Mask-RCNN模型训练与使用
  2. c#的DateTime.Now函数详解
  3. 新手入门机器学习十大算法
  4. ActiveMQ网络连接器
  5. POJ3675 Telescope 圆和多边形的交
  6. libjpeg学习3:turbojpeg试用
  7. 正则表达式基础知识(转)
  8. linux进程与线程的通讯,实验进程与线程——Linux进程与线程通讯.ppt
  9. python数值运算函数代码_Python如何计算列表中所有数字的乘积?(代码示例)
  10. 高通平台SPI驱动框架分析
  11. 可以使用ActualHeight来判断textblock是否已经trimming
  12. 名人(国家)·经典语录——向 先 辈 低 头, 向 文 明 低 头
  13. 不会吧,不会吧,全网最细汉诺塔讲解,不会有人不知道吧。面试官直呼内行,看完只想默默找水喝(C语言)
  14. 软件测试工程师累不累?
  15. 儿时的动画,你看过那些?-我国的动画片
  16. 【编译原理系列】词法分析与有限自动机
  17. 李广之死――浅析项目管理
  18. 9个最实用的PS插件盘点!
  19. 浅析深究什么是SOA
  20. git本地分支推送到远程分支

热门文章

  1. python中如何统计元组中元素的个数_Python:count直到列表中的元素是一个元组
  2. ArcEngine和GDAL读写栅格数据机制对比(一)
  3. java stringjoiner_java-为什么我们已经拥有StringBuilder时使用StringJoiner?
  4. matlab寻找闭合,MatLab求取多个闭合区域的轮廓、面积和bbox
  5. java压缩文件夹(含有空文件夹)
  6. 计算机维修法宝,计算机的三大法宝
  7. JAVA 实现FTP功能_在Java程序中实现FTP功能
  8. Python更新数据库,解决转译字符与TypeError: XX format: a number is required, not str报错
  9. php中的DS,PHP Ds\Set reverse()用法及代码示例
  10. HiveQL:模式设计