今天开始进入第二阶段 ,所有模块的初始化在前11章已经介绍过了,接下来开始做点灯等处理操作。

LED灯初始化具体可以参考 :

2、ARM嵌入式系统:LED初始化_cyf31的博客-CSDN博客_arm重置LED模块初始化是对RGB灯进行点灯操作,LED模块对应的管脚可通过如下原理图得知:2_电路原理图_Blazar实验板.pdf如图右侧,关注RGB灯的7个管脚就是对LED等进行初始化的管脚。https://blog.csdn.net/cyf31/article/details/122655693

一、LED灯在板子上的位置

LED灯在板子上的位置在之前介绍过,再回顾一下。如上图,板子上总共有4个LED灯,可以点亮,还可以改灯的颜色。

二、点亮4个LED灯的代码

void SW1_4_Handler()

{

if((GPIOA_PDIR&BIT12)!=BIT12)

{

LED_light(0x01);   //LED1

lED1_light_flag=1; //LED1 flag

lED2_light_flag=0;

lED3_light_flag=0;

lED4_light_flag=0;

}

//DOWN KEY handler

else if((GPIOA_PDIR&BIT5)!=BIT5)

{

LED_light(0x02);   //LED2

lED1_light_flag=0; //LED1 flag

lED2_light_flag=2;

lED3_light_flag=0;

lED4_light_flag=0;

}

else if((GPIOA_PDIR&BIT13)!=BIT13)

{

LED_light(0x03);   //LED3

lED1_light_flag=0; //LED1 flag

lED2_light_flag=0;

lED3_light_flag=3;

lED4_light_flag=0;

}

else if((GPIOA_PDIR&BIT1)!=BIT1)

{

LED_light(0x04);   //LED4

lED1_light_flag=0; //LED1 flag

lED2_light_flag=0;

lED3_light_flag=0;

lED4_light_flag=4;

}

}

这段代码简单,就是接收按键的位置,然后 点亮对应的灯,最后再把对应的全局变量置位。

关键在于如何知道用户是按的哪个键呢?按键在板子上对应的位置参见之前的文章。

3、ARM嵌入式系统:按键 初始化_cyf31的博客-CSDN博客_按键初始化ARM嵌入式系统学习,清华大学曾鸣老师的讲课内容代码解读https://blog.csdn.net/cyf31/article/details/122693907

三、点亮某个灯的代码

void LED_light(unsigned char number)

{

switch(number)

{

case 1:

LED_group_reset;

LED_color_reset;

LED1_group_en;

LED_color_all_on;

break;

case 2:

LED_group_reset;

LED_color_reset;

LED2_group_en;

LED_color_all_on;

break;

case 3:

LED_group_reset;

LED_color_reset;

LED3_group_en;

LED_color_all_on;

break;

case 4:

LED_group_reset;

LED_color_reset;

LED4_group_en;

LED_color_all_on;

break;

default:

GPIOC_PDOR&=~0xFFF;              //GPIOC0--1--2  light

break;

}

}

4个LED灯点亮代码类似,都是先把灯开关和颜色开关置位初始化,然后再把对应LED灯(1,2,3,4)对应的寄存器设置为0,即打开灯,最后灯颜色即RGB开关设置为1.

12、ARM嵌入式系统:点亮4个LED灯相关推荐

  1. 【嵌入式系统开发09】重做LED灯以及串口通信查询

    [嵌入式系统开发09]重做LED灯以及串口通信查询 要求:安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务: 1.LED灯重 ...

  2. 嵌入式系统开发设计——按键控制LED灯实现

    一.实验目的 掌握STM32固件库的使用方法: 掌握基于库函数模板的开发方法: 掌握基于固件库进行GPIO端口编程的方法: 4.规范编程格式. 二.实验内容 1.查阅STM32-V5开发板按键.LED ...

  3. 【嵌入式系统开发】Keil 实现LED灯闪烁 详细教程及完整代码

  4. 网络上所谓的《ARM嵌入式系统入门最好的文章》

    一 首先说说ARM的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位. 广义的嵌入式无非几种:传统的什么51.AVR.PIC称做嵌入式微控制器:ARM是嵌入式微处理器 ...

  5. ARM嵌入式系统malloc的实现(C源码)

    在ARM嵌入式系统实现malloc内存分配机制. 在ARM cpu上验证通过. ps:也可在pc ubuntu linux进行验证 #include "include/lib_replace ...

  6. 8、ARM嵌入式系统:UART初始化

    一.UART概述 百度上UART的定义:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.它将要传输的资料在串行通信与并行 ...

  7. 7、ARM嵌入式系统:LCD/数码管/OLED初始化

    一.LCD/数码管模块在板子上的位置 LCD和数码管在板子上都分别有一个插槽. 二.LCD/数码管初始化代码 //SMG init void SMG_Init() { /* PORTB and POR ...

  8. Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  9. Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  10. Arduino嵌入式开发-如何点亮一盏LED灯

    随着人工智能的不断发展,各种各样的传感器层出不穷,传感器的存在和发展,让物体有了触觉.味觉和嗅觉等感官,让物体慢慢变得活了起来.而Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各 ...

最新文章

  1. Vivado Fir Ip核动态更改滤波器系数的两种方法
  2. bootstrap 栅栏系统
  3. android studio编译提示错误:android Error:(21, 19) 错误: 程序包R不存在
  4. 静态服务器显示固定页面,【Python高级编程034 ● 静态web服务器 ● 静态Web服务器-返回固定页面数据】...
  5. keras 自定义层 2
  6. python 常用内置函数_Python小白必备的8个最常用的内置函数(推荐)
  7. sql在线模拟器_力荐一款在线SQL模拟器
  8. TensorFlow2-神经网络训练
  9. 僧多粥少?还原 OpenStack 的真实“钱景”
  10. Android之EditText自定义边框和边框颜色(转载)
  11. linux grep egrep fgrep bash条件判断 bash测试 if 条件判断
  12. 【转贴】谈谈企业经营管理中的八大黑洞
  13. 实战:手把手教你开发React应用-郭永峰-专题视频课程
  14. MYSQL基础知识+运维面试题
  15. Linux账号安全控制与PAM认证模块
  16. composer下面composer.lock有什么用处 以及 如何优雅地删除它
  17. 家用计算机中PCB板材质,主流的PCB板材料有哪些分类?
  18. Linux--Linux服务器空间占满解决办法
  19. 利用群晖nas备份华为手机数据
  20. java实验三_java实验三实验报告.docx

热门文章

  1. UE4/UE5 导入abc文件总结
  2. 7.Redis过期策略底层是如何实现的?
  3. 矩阵卷积运算的具体过程
  4. SC_FDE仿真平台:卷积编码 -> 矩阵交织 -> QPSK调制 -> 插入导频 -> 插入CP -> RayleighFading->channel
  5. 计算机组成与原理第二章,计算机组成原理《第二章》
  6. ETL数据同步工具Kettle简介
  7. java 圣思园_圣思园Java8新特性及实战视频教程完整版1
  8. SketchUp2020下载SketchUp2020下载安装SketchUp草图大师2020下载安装详细教程
  9. java打包成jar对其进行加密处理防止反编译
  10. java 网页录音并上传_Java+FlashWavRecorder实现网页录音并上传