STM32F103:二.(1)点亮LED
点亮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相关推荐
- 二、点亮LED(GPIO控制)
二.点亮LED(GPIO控制) 文件状态: [ ] 草稿 [ ] 正在修改 [ √ ] 正式发布 文件标识: 当前版本: V1.1 作 者: Skymixos 完成日期: 2022年10月02日 版 ...
- STM32LL库系列教程【二】——点亮LED小灯
开发板:秉火-霸道V1 芯片:STM32F103ZET6 GPIO: PB0 STM32LL库系列教程--LL库工程配置流程 STM32LL库系列教程[一]--安装CubeMx软件 STM32LL库系 ...
- STM32F103寄存器方式点亮LED流水灯
实验要求:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB.GPIOC.GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒.1)写出 ...
- 基于STM32F103入门1——点亮LED灯
今天学习了STM32固件库点灯程序 点灯也可以玩过很多好玩的东西,在这里做一下总结. STM32点灯程序合集 1:新建固件库工程文件 1.1找到一个固件库模板 1.2:打开KEIL5新建工程 1.3: ...
- STM32F103:二.(2)串口控制LED
串口控制LED 大概通一下流程,具体USART和NVIT后续再写 不得抱怨一句,这芯片贵的让人发吐,让我们学生党还怎么活 最近学习越学越没有动力,一点学习的心情都没,脑壳疼,先把32入门看后续写会不会 ...
- 51单片机手把手教学(二)—— 点亮 LED 灯(GPIO 操作)
本文章 来自原创专栏<51单片机手把手教学>,讲解如何使用 Keil uVision 构建 51单片机 程序,发布文章并 会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓ ...
- 小熊派:用OpenHarmory3.0点亮LED
摘要:作为一个代表性的完整的开发,本案例可以分成3大部分:代码文件的规划,LED灯的驱动开发,点亮LED的业务开发. 本文分享自华为云社区<在小熊派Micro上用OpenHarmory3.0点亮 ...
- ESP-12S学习(2)--点亮LED
跨过前面的一个烧录大坑,终于迎来自己的第一个小实验 一.工程下创建文件夹 这是我在调试的时候遇到的一个问题,串口打印的问题 我在调用uart_init()的时候报错没有定义,但是我明明就已经导入了ua ...
- Arduino学习(三)点亮LED灯
本篇开始,学习用Arduino控制各种外部电子元器件.传感器等,学习如何搭建相关电路. 用Arduino搭建电路有两种方式: 方式1: 购买并使用Arduino现成的模块:由于模块本身已经做好了电路, ...
最新文章
- 轻松学Pytorch – 行人检测Mask-RCNN模型训练与使用
- c#的DateTime.Now函数详解
- 新手入门机器学习十大算法
- ActiveMQ网络连接器
- POJ3675 Telescope 圆和多边形的交
- libjpeg学习3:turbojpeg试用
- 正则表达式基础知识(转)
- linux进程与线程的通讯,实验进程与线程——Linux进程与线程通讯.ppt
- python数值运算函数代码_Python如何计算列表中所有数字的乘积?(代码示例)
- 高通平台SPI驱动框架分析
- 可以使用ActualHeight来判断textblock是否已经trimming
- 名人(国家)·经典语录——向 先 辈 低 头, 向 文 明 低 头
- 不会吧,不会吧,全网最细汉诺塔讲解,不会有人不知道吧。面试官直呼内行,看完只想默默找水喝(C语言)
- 软件测试工程师累不累?
- 儿时的动画,你看过那些?-我国的动画片
- 【编译原理系列】词法分析与有限自动机
- 李广之死――浅析项目管理
- 9个最实用的PS插件盘点!
- 浅析深究什么是SOA
- git本地分支推送到远程分支
热门文章
- python中如何统计元组中元素的个数_Python:count直到列表中的元素是一个元组
- ArcEngine和GDAL读写栅格数据机制对比(一)
- java stringjoiner_java-为什么我们已经拥有StringBuilder时使用StringJoiner?
- matlab寻找闭合,MatLab求取多个闭合区域的轮廓、面积和bbox
- java压缩文件夹(含有空文件夹)
- 计算机维修法宝,计算机的三大法宝
- JAVA 实现FTP功能_在Java程序中实现FTP功能
- Python更新数据库,解决转译字符与TypeError: XX format: a number is required, not str报错
- php中的DS,PHP Ds\Set reverse()用法及代码示例
- HiveQL:模式设计