/*走马灯实现*//*实现原理:依次从头到尾点亮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——跑马灯实现相关推荐

  1. 小白学STM32——跑马灯库函数版本

    一.STM32 GPIO 1. GPIO_MODE_AIN 模拟输入 输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量. 2. GPIO_MODE_IN_FLOAT ...

  2. stm32跑马灯实验

    本文记录STM32mini开发板实验 普通跑马灯 回归GPIO基础知识 每组IO口含有下面7个寄存器,7个寄存器一共可以控制一组GPIO的16个IO口. GPIOx_CRL:端口配置低寄存器 GPIO ...

  3. 嵌入式系统stm32 跑马灯实验

    一.实验目的和实验要求 实验要求:短按实验板扩展板上的按键SW18,依次点亮核心板上D2-D4指示灯.长按按键2秒,实现四个灯循环点亮(跑马灯). 二.实验原理 如上图所示,四个 LED 正极通过电阻 ...

  4. STM32跑马灯实验的基本步骤(库函数)

    1.硬件设计 本次用到的硬件只有 LED(DS0 和 DS1).其电路在 ALIENTEK 探索者 STM32F4 开发板 上默认是已经连接好了的.DS0 接 PF9,DS1 接 PF10.所以在硬件 ...

  5. STM32-GPIO学习-跑马灯实验和按键实验-寄存器版本和HAL库版本

    一.stm32跑马灯实验 a.GPIO general purpose input output 通用输入输出端口,可以做输入也可做输出,GPIO端口可通过程序配置成输入或输出. STM32FXXXI ...

  6. 【STM32】跑马灯实验主要程序代码分析

    文章目录 main.c led.c led.h STM32 的 IO 口可以由软件配置成如下 8 种模式: 输入浮空 输入上拉 输入下拉 模拟输入 开漏输出 推挽输出 推挽式复用功能 开漏复用功能 S ...

  7. 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础

    上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...

  8. STM32(1)跑马灯

    建立LED初始化头文件 建立头文件有点像C++中,头文件中可以添加宏定义以及函数原型,然后在.c文件中写入函数定义 "sys.h" "sys.h"这个头文件中# ...

  9. STM32入门开发--LED模块实现跑马灯

    1.案例描述 利用STM32F103ZE开发板实现控制LED灯实现跑马灯现象. 正在不断学习嵌入式开发中,博客还会持续更新,敬请关注! 2.开发环境 keil 5.14 + Windows 10 + ...

最新文章

  1. linux 中samba账号登录密码,ubuntu下的Samba配置:使每个用户可以用自己的用户名和密码登录自己的home目录...
  2. 数据库经典书籍--数据库系统概念
  3. 整型和浮点型的区别_浮点整型强转的一个题目解析
  4. Java笔记:String类
  5. Effective C#:避免使用ICloneable接口
  6. Java JVM 汇编代码入门 GitChat链接
  7. 织梦dedecms小说网站源码|带采集+搭建方式
  8. Layui简介、layui例子
  9. java 防止文件重名的方法_使用java避免文本文件中的重复输出?
  10. Android基于Socket无线遥控 - 模拟触摸按键篇framework jar
  11. 如何在通用用户权限系统中快速实现调查问卷系统
  12. ELK下Kibana性能调优
  13. 由0.1+0.2-0.3不等于0说起
  14. 计算机专硕报考专业代码,什么是报考专业代码 考研专业代码到底是什么意思...
  15. 客户端性能测试工具-Wetest、cude PC
  16. 给Ubuntu配置静态IP地址
  17. python爬取app store的评论_用python爬取苹果官网店铺
  18. 投影仪怎么安装小容量软件?5款小体积应用下载搞定内存不足
  19. 组建计算机网络的硬件设备,计算机网络的硬件组成中包含了哪些硬件设备
  20. ICPC 2017 Daejeon-Slot Machines

热门文章

  1. word批注怎么删除计算机名字,【2人回答】Word批注中的名字怎么删除?-3D溜溜网...
  2. CRPR能补偿crosstalk吗?
  3. dpdk mellanox网卡 多线程hang住的问题
  4. 最好的网络拓扑制作软件
  5. 记录极致cms当前位置间隔符号替换
  6. python 音速_Python:在播放过程中更改音速
  7. HA 高可用软件系统保养指南
  8. 全栈工程师和架构师的区别
  9. python学习笔记(九)异常处理
  10. 华为openGauss初级OGCA认证100%通过