STM32——跑马灯实现
/*走马灯实现*//*实现原理:依次从头到尾点亮8个灯*列如:第一个灯赋值低电平(点亮),*延迟之后(暂未确定多少s),*不使用灯寄存器之后,系统自动熄灭, *在点亮下一个灯,依次往下*/ #include "stm32f10x.h"
#define uint unsigned int
void Delay(uint time);void LEDInit(uint i);
int main(){RCC->APB2ENR |= (1<<2); //开启时钟,GPIOA属于总线APB2; GPIOA对应APB2的第二位 0:为关闭(默认) 1:开启while(1){uint i;for (i = 0; i < 8; i++){LEDInit(i);Delay(100000); //试运行// GPIOA->ODR |= 0xFFFFFFFF; //延迟之后给灯高电平(熄灭)// Delay(1000000); //试运行 }if (i >= 8){i = 0; }//GPIOA->CRL = 0x11111111; //推挽输出 把PA0,PA1,PA2,PA3,PA4,PA4,PA5,PA6,PA7配置成输出//输出寄存器//GPIOA->ODR &= 0xFFFFFFFE; //让GPIOA输出0 默认输出低电平亮}
}
void SystemInit(void){}
/*名称: 延迟函数
*功能: 延迟
*延迟级别:微妙级
*/
//传入1000000就是1s
void Delay(uint time){uint i;for (i = 0; i < time; i++){uint t = 11;while (t != 0){t--;}}}
/*
描述:根据主函数传过来的值以依次点亮相对应的灯
*/
void LEDInit(uint i){GPIOA->ODR = 0;switch(i){case 0: GPIOA->CRL = 0x01; //把PA0设置为推免输出GPIOA->ODR &= 0xFFFFFFFE; //把PA0设置为低电平break;case 1: GPIOA->CRL = 0x10; //把PA1设置为推免输出GPIOA->ODR &= 0xFFFFFFFD; //把PA1设置为低电平break;case 2: GPIOA->CRL = 0x100; //把PA2设置为推免输出GPIOA->ODR &= 0xFFFFFFFC; //把PA2设置为低电平break;case 3: GPIOA->CRL = 0x1000; //把PA3设置为推免输出GPIOA->ODR &= 0xFFFFFFFB; //把PA3设置为低电平break;case 4: GPIOA->CRL = 0x10000; //把PA4设置为推免输出GPIOA->ODR &= 0xFFFFFFFA; //把PA4设置为低电平break;case 5: GPIOA->CRL = 0x100000; //把PA5设置为推免输出GPIOA->ODR &= 0xFFFFFFF9; //把PA5设置为低电平break;case 6: GPIOA->CRL = 0x1000000; //把PA6设置为推免输出GPIOA->ODR &= 0xFFFFFFF8; //把PA6设置为低电平break;case 7: GPIOA->CRL = 0x1000000; //把PA7设置为推免输出GPIOA->ODR &= 0xFFFFFFF7; //把PA7设置为低电平break;}}
STM32——跑马灯实现相关推荐
- 小白学STM32——跑马灯库函数版本
一.STM32 GPIO 1. GPIO_MODE_AIN 模拟输入 输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量. 2. GPIO_MODE_IN_FLOAT ...
- stm32跑马灯实验
本文记录STM32mini开发板实验 普通跑马灯 回归GPIO基础知识 每组IO口含有下面7个寄存器,7个寄存器一共可以控制一组GPIO的16个IO口. GPIOx_CRL:端口配置低寄存器 GPIO ...
- 嵌入式系统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单片机学习二 跑马灯程序衍生出的stm32编程基础
上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...
- STM32(1)跑马灯
建立LED初始化头文件 建立头文件有点像C++中,头文件中可以添加宏定义以及函数原型,然后在.c文件中写入函数定义 "sys.h" "sys.h"这个头文件中# ...
- STM32入门开发--LED模块实现跑马灯
1.案例描述 利用STM32F103ZE开发板实现控制LED灯实现跑马灯现象. 正在不断学习嵌入式开发中,博客还会持续更新,敬请关注! 2.开发环境 keil 5.14 + Windows 10 + ...
最新文章
- linux 中samba账号登录密码,ubuntu下的Samba配置:使每个用户可以用自己的用户名和密码登录自己的home目录...
- 数据库经典书籍--数据库系统概念
- 整型和浮点型的区别_浮点整型强转的一个题目解析
- Java笔记:String类
- Effective C#:避免使用ICloneable接口
- Java JVM 汇编代码入门 GitChat链接
- 织梦dedecms小说网站源码|带采集+搭建方式
- Layui简介、layui例子
- java 防止文件重名的方法_使用java避免文本文件中的重复输出?
- Android基于Socket无线遥控 - 模拟触摸按键篇framework jar
- 如何在通用用户权限系统中快速实现调查问卷系统
- ELK下Kibana性能调优
- 由0.1+0.2-0.3不等于0说起
- 计算机专硕报考专业代码,什么是报考专业代码 考研专业代码到底是什么意思...
- 客户端性能测试工具-Wetest、cude PC
- 给Ubuntu配置静态IP地址
- python爬取app store的评论_用python爬取苹果官网店铺
- 投影仪怎么安装小容量软件?5款小体积应用下载搞定内存不足
- 组建计算机网络的硬件设备,计算机网络的硬件组成中包含了哪些硬件设备
- ICPC 2017 Daejeon-Slot Machines