以core-G1【STM32F103C8T6】核心板 跑马灯实验 之入门系列1工程为例,介绍STM3...
[复制链接]
一、本章简介 本章以core-G1【STM32F103C8T6】核心板 跑马灯实验 之入门系列1工程为例,介绍STM32关于GPIO的配置方法,并通过此配置完成对开发板上RGB灯的控制。
二、实验平台 1、硬件:core-G1核心板 2、编译软件:MDK-RAM Plus V5.26.2.0 3、STM32F10X固件库版本:V3.5 4、仿真器:QQ14A编译调试器
三、版权声明 作者:职业劝退师 声明:转载请注明出处。 纠错:1911996023@qq.com 本例程开源资料下载地址: http://www.enmaking.com/material/ma_MM2uHZGB
core-G1【STM32F103C8T6】核心板购买链接: https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w137644-23090197827.26.60ab2049lTW1TL&id=625712740336
QQ14A编译调试器购买链接: https://item.taobao.com/item.htm?spm=a230r.7195193.1997079397.8.55b5123bwA3UVW&id=626843731543&abbucket=4
四、实验前提 1、在进行本文步骤前,请先阅读以下章节 1)《Cortex-M3权威指南(中文)》的第一章至第五章章节。 2)《STM32中文参考手册_V10》的第八章节。
2、在进行本文步骤前,请先实现以下章节: 1)MDK5的软件安装。安装教程链接如下 http://www.enmaking.com/article/ar_cXHjU6Uj
五、硬件原理 1、原理图
2、由上面两图可知 名称 引脚 控制方法 LEDR PB8 高电平灭、低电平亮 LEDB PC13 高电平灭、低电平亮 LEDG PB9 高电平灭、低电平亮
现在我们知道要操作哪些IO口,就可以进行程序编写了。
六、实验步骤 1、编写RGB灯驱动程序。
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC->APB2ENR|=1<<3; //使能PORTB时钟
RCC->APB2ENR|=1<<4; //使能PORTC时钟
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置为推挽输出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//最大输出速度为50MZH
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIOB->ODR|=3<<8; //PB8 PB9 输出高
GPIOC->ODR|=1<<13; //PC13 输出高
}
2、添加有关操作RGB灯的GPIO口宏定义,方便操作和调动。
#define LEDB PCout(13)
#define LEDG PBout(9)
#define LEDR PBout(8)
3、将驱动程序添加到自己的工程中
4、编写自己的业务代码
while (1)
{
LEDB=1;
LEDG=0;
delay_ms(300);
LEDG=1;
LEDR=0;
delay_ms(300);
LEDR=1;
LEDB=0;
delay_ms(300);
}
最后编译并将程序烧录到开发版中。
七、注意事项 暂无
八、实验结果 RGB灯的三种颜色可以一直循环显示出来。而且灯颜色的切换时间恰好是300ms。与预期的结果一致。
|