实验原理:

  通过STM32的三个GPIO驱动一个三色LED,引脚PB2接红色LED(ARM_LEDR),

引脚PA9接蓝色LED(ARM_LEDB),引脚PA10接绿色LED(ARM_LEDG),  GPIO为推

挽输出模式,采用灌电流方式与LED连接,通过拉高拉低GPIO电平,从而控制LED亮灭。

实验现象:

  该实验实现跑马灯功能,红、绿、蓝三色LED每隔500ms循环点亮。

源代码下载链接:

链接:http://pan.baidu.com/s/1eSu18A2 密码:ud87

核心源码:

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration----------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
        LED_RED_ON;LED_BLUE_OFF;LED_GREEN_OFF;HAL_Delay(500);LED_RED_OFF;LED_BLUE_ON;LED_GREEN_OFF;HAL_Delay(500);LED_RED_OFF;LED_BLUE_OFF;LED_GREEN_ON;HAL_Delay(500);}/* USER CODE END 3 */}

/* USER CODE BEGIN Private defines */
#define LED_RED_ON HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET)
#define LED_RED_OFF HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET)#define LED_BLUE_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET)
#define LED_BLUE_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET)#define LED_GREEN_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_RESET)
#define LED_GREEN_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET)
/* USER CODE END Private defines */

iCore4链接:

【iCore4 双核心板_ARM】例程一:ARM驱动三色LED相关推荐

  1. 【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED

    实验原理: 通过STM32的三个GPIO口驱动三色LED的三个通道,设定GPIO为推挽输出模式,采 用灌电流方式与LED连接,输出高电平LED灭,输出低电平LED亮,通过系统定时器实现 1s定时,每秒 ...

  2. 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)

    实验方法: 1.将跳线冒跳至USB_UART,通过Micro USB 线将iCore4 USB-UART接口与电脑相连. 2.打开PUTTY软件. 3.通过读U盘转接线将U盘(或者读卡器)与iCore ...

  3. 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试

    实验现象: 核心代码: int main(void) {/* USER CODE BEGIN 1 */int i,j;int res;float time[2];static int error_fl ...

  4. 【iCore4 双核心板_ARM】例程二十:LWIP_TCP_CLIENT实验——以太网数据传输

    实验现象: 核心代码: int main(void) { system_clock.initialize(); //ϵͳʱÖÓ³õʼ»¯led.initialize(); //LED³õʼ» ...

  5. 【iCore4 双核心板_ARM】例程二十三:LWIP_HTTP实验——网页服务器

    实验现象: 核心代码: int main(void) { system_clock.initialize(); led.initialize(); adc.initialize(); delay.in ...

  6. 【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输

    实验原理: DAM(直接存储器访问)传输不需要占用CPU,可以在存储器至存储器实现高速的数据 传输.本实验采用DAM2控制器的数据流0,选用通道0进行数据传输.通过LED的颜色来 判断传输是否成功. ...

  7. 【iCore1S 双核心板_ARM】例程五:IWDG看门狗实验——复位ARM

    实验原理: STM32内部包含独立看门狗,通过看门狗可以监控程序运行,程序错误 时,未在规定时间喂狗,自动复位ARM.本实验通过按键按下,停止喂狗, 制造程序运行 错误,从而产生复位 . 实验现象: ...

  8. 【iCore4 双核心板_FPGA】例程七:状态机实验——状态机使用

    实验现象: 按键每按下一次,三色LED改变一次状态. 核心代码: //--------------------module_rst_n---------------------------// mod ...

  9. SAM9X60 curiosity开发板,SYSFS文件系统控制板载三色Led

    驱动位于\buildroot-external-microchip\build\linux-custom\drivers\leds 开发板使用sam9x60_curiosity 应用层控制外设的两种不 ...

最新文章

  1. 使用ASP.NET操作IIS7中使用应用程序
  2. 完胜BERT!谷歌NLP预训练利器:小模型也有高精度,单个GPU就能训练 | 代码开源...
  3. WinForm实现Rabbitmq官网6个案例-Topics
  4. android镜像文件怎么命名,android镜像文件说明(示例代码)
  5. oracle选择外键列,Oracle外键列上是否需要索引?
  6. 【python】SOCK_STREAM和SOCK_DGRAM两种类型的区别【转】
  7. mysql默认存储引擎的索引结构是_InnoDB引擎的索引和存储结构
  8. 三类测量血压原理 - 智能手环测血压原理详解
  9. QT每日一练day29:QT中的多线程探究
  10. MySQL server has gone away 问题的解决方法
  11. vb 关于窗口样式的API以及处理文本的API参考
  12. RAC11g使用数据泵导入导出报ORA-6512,ORA-25306,ORA-39079错
  13. [常微分方程]Lecture 2: 欧拉数值方法及推广
  14. MPLS OPTION-B
  15. JAVA定时任务Cron表达式解析
  16. html小游戏社区,h5小游戏源码(h5养成社区源码)
  17. 简述java 内存回收机制_简单介绍Java垃圾回收机制
  18. Python制作翻译软件(中英文互译)
  19. 怎么查看虚拟机的IP地址?
  20. 网络口碑理论的精髓:AISAS

热门文章

  1. 欧阳娜娜跳槽网易:带你回顾教科书式的面试现场!
  2. 入手cherry mx1.0
  3. 《产品经理的20堂必修课》一第2章 围绕用户需求打造产品竞争力2.1 不同层次的用户需求...
  4. 【笔记】2022.5.11 网页前端
  5. 百度华为等各个面试笔试题目收集
  6. 微服务终极笔记:穿针引线“直取京都”,拒绝散兵游勇
  7. 电脑技术:win10关机后电脑自动重启解决方法
  8. MDB Jet.OLEDB.4.0(32位)和 ACE.OLEDB.12.0 ACCDB(64位)的区别
  9. 云服务器装win 10系统,云服务器可以安装win10吗
  10. 时尚前沿:15个创意的 3D 字体设计艺术作品欣赏