stm32跑马灯实验
本文记录STM32mini开发板实验
普通跑马灯
回归GPIO基础知识
每组IO口含有下面7个寄存器,7个寄存器一共可以控制一组GPIO的16个IO口。
GPIOx_CRL:端口配置低寄存器
GPIOx_CRH:端口配置高寄存器
GPIOx_IDR:端口输入寄存器
GPIOx_ODR:端口输出寄存器
GPIOx_BSRR:端口位设置/清除寄存器
GPIOx_BRR:端口位清除寄存器
GPIOx_LCKR:端口配置锁存寄存器
下面实现:使用STM32F10xmini开发板
复位以后跑马灯展示(全亮,全灭,闪两下,从左至右单亮,从右至左单亮,全灭) ;
核心代码
头文件led.h
#ifndef __LED_H
#define __LED_Hvoid LED_Init(void);#endif
实现文件led.c
#include "led.h"#include "stm32f10x.h"//包含固件库头文件void LED_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIOB的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//GPIOE的时钟GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置推挽输出GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8;//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_8);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置推挽输出GPIO_InitStructure.GPIO_Pin= GPIO_Pin_2;//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度GPIO_Init(GPIOD,&GPIO_InitStructure);GPIO_SetBits(GPIOD,GPIO_Pin_2);}
主函数main.c
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"int main(void){LED_Init();delay_init();while(1){//全亮GPIO_ResetBits(GPIOA,GPIO_Pin_8);//LED0低电平,点亮GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1低电平,点亮delay_ms(10000);//全灭GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0高电平GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1高电平delay_ms(10000);//亮一下GPIO_ResetBits(GPIOA,GPIO_Pin_8);//LED0低电平,点亮GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1低电平,点亮delay_ms(300);//同时熄灭GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0高电平GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1高电平delay_ms(300);//亮一下GPIO_ResetBits(GPIOA,GPIO_Pin_8);//LED0低电平,点亮GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1低电平,点亮delay_ms(300);//同时熄灭GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0高电平GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1高电平delay_ms(300);//从左往右单亮GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高delay_ms(1000);GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低delay_ms(1000);GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1高电平delay_ms(300);//从右往左单亮GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低delay_ms(1000);GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高delay_ms(1000);//全灭GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0高电平GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1高电平delay_ms(10000);}
}
上述代码实现:复位以后跑马灯展示(全亮,全灭,闪两下,从左至右单亮,从右至左单亮,全灭) ;使用的是STM32mini板。
stm32跑马灯实验相关推荐
- 嵌入式系统stm32 跑马灯实验
一.实验目的和实验要求 实验要求:短按实验板扩展板上的按键SW18,依次点亮核心板上D2-D4指示灯.长按按键2秒,实现四个灯循环点亮(跑马灯). 二.实验原理 如上图所示,四个 LED 正极通过电阻 ...
- STM32跑马灯实验的基本步骤(库函数)
1.硬件设计 本次用到的硬件只有 LED(DS0 和 DS1).其电路在 ALIENTEK 探索者 STM32F4 开发板 上默认是已经连接好了的.DS0 接 PF9,DS1 接 PF10.所以在硬件 ...
- STM32-GPIO学习-跑马灯实验和按键实验-寄存器版本和HAL库版本
一.stm32跑马灯实验 a.GPIO general purpose input output 通用输入输出端口,可以做输入也可做输出,GPIO端口可通过程序配置成输入或输出. STM32FXXXI ...
- 【STM32】跑马灯实验主要程序代码分析
文章目录 main.c led.c led.h STM32 的 IO 口可以由软件配置成如下 8 种模式: 输入浮空 输入上拉 输入下拉 模拟输入 开漏输出 推挽输出 推挽式复用功能 开漏复用功能 S ...
- 【stm32】如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例
[stm32]如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例 外部硬件: stm32仿真编程器 (仿真编制器自己在网上买,不确定买哪个的可以就买我这个,图片上有牌子,自 ...
- 正点原子探索者原理图_正点原子【STM32-F407探索者】第六章 跑马灯实验
1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 http://weixin.qq.com/r/hEhUT ...
- 常用库函数_跑马灯实验和我为什么使用库函数?
建议阅读时长15min,全是干货 希望读者能点赞,关注,分享,让我更有动力,等我彻底写完stm32的学习日志,我会制作成电子书,分享给大家. 我为什么使用库函数进行编写程序? 截至2020年8月28日 ...
- 小白学STM32——跑马灯库函数版本
一.STM32 GPIO 1. GPIO_MODE_AIN 模拟输入 输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量. 2. GPIO_MODE_IN_FLOAT ...
- STM32F103ZET6开发板实现跑马灯实验
闲的无聊! 想要学好一款芯片,控制芯片io口是必不可少的!实现stm32(正点原子精英版)完成跑马灯(led循环闪烁)实验,就是最基础的控制.我们就必须了解开发板io口模式,那么有几种模式呢? 我把他 ...
最新文章
- 物联网是怎样把世界联系起来的
- 迈好“转战”第一步-丰收节交易会·陶以平: 谋定乡村振兴
- commons-logging log4j的联系区别
- HashMap 和 HashTable 到底哪不同 ?
- 背水一战:苹果向三星采购5G基带芯片遭拒 或自行研发
- 远程ykvm 插件移值java_远程管理KVM,命令行控制KVM,console连接,透传
- 多线程并发思考--文件加锁
- MySQL导入与导出备份详解
- 现场知识竞赛如何用手机做抢答器
- 怎么把几个音频合并在一起?
- 8K HDR!|为 Chromium 实现 HEVC 硬解 - 原理/实测指南
- IDEA全局替换快捷键
- TestCenter测试管理工具介绍和环境配置(A)
- VCC和GND短路,怎么找问题?
- android按键静音键功能实现
- 【零基础学Python】爬虫篇 :第十四节--爬虫+词云解决实际问题
- 《电信3.0——第二章》
- 为什么数学是创造力的源泉:一位数学家的思考与信仰
- 人工智能(AI)入门
- Matlab:Voronoi 图
热门文章
- ExpressionFuncT,TResult和FuncT,TResult
- leetcode题解:Search in Rotated Sorted Array(旋转排序数组查找)
- linux export_symbol 变量,linux EXPORT_SYMBOL
- java课程设计总结迷宫_Java课程设计走迷宫详解.doc
- mysql query plan_MySQL Execution Plan--IN查询计划(2)
- python了解一下_想要精通python?19个语法了解一下!
- 【Paper】2018_Group Consensus for Discrete-Time Heterogeneous Multiagent Systems with Input and Commun
- Python 实现图片质量比较之PSNR和SSIM
- 2.10 词嵌入除偏-深度学习第五课《序列模型》-Stanford吴恩达教授
- keil 多文件组织方法