原理图:
程序:
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_5);
//#define LED1_ON GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET);
#define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_5);
//#define LED1_OFF GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_RESET) ;
#define LED2_ON GPIO_SetBits(GPIOD, GPIO_Pin_6);
#define LED2_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_6);
#define LED3_ON GPIO_SetBits(GPIOD, GPIO_Pin_3);
#define LED3_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_3);
void RCC_Configuration(void);
void LED_Config(void);
void Delay(__IO uint32_t nCount);
/****************************************************************************
* 名 称:void LED_Config(void)
* 功 能:LED 控制初始化函数
输入
****************************************************************************/
void LED_Config(void){
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1 V6 //将V6,V7,V8 配置为通用推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口线翻转速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_3; //LED2, LED3 V7 V8
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);
// GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LCD背光控制
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_ResetBits(GPIOD, GPIO_Pin_13); //LCD背光关闭
}
/****************************************************************************
* 名 称:int main(void)
* 功 能:主函数
****************************************************************************/
int main(void)
{
RCC_Configuration(); //系统时钟配置
LED_Config();//LED控制配置
while (1)
{
LED1_ON; LED2_OFF; LED3_OFF;//LED1亮 LED2,LED3灭(LED2,LED3 仅V5 V3,V2,V2.1板有)
Delay(0xAFFFF);
LED1_OFF; LED2_ON; LED3_OFF;//LED2亮 LED1,LED3灭(LED2,LED3 仅V5 V3,V2,V2.1板有)
Delay(0xAFFFF);
LED1_OFF; LED2_OFF; LED3_ON;//LED3亮 LED1,LED2灭(LED2,LED3 仅V5 V3,V2,V2.1板有)
Delay(0xAFFFF);
}
}
/****************************************************************************
* 名 称:void RCC_Configuration(void)
* 功 能:系统时钟配置为72MHZ
* 入口参数:无
* 出口参数:无
* 说 明:
* 调用方法:无
****************************************************************************/
void RCC_Configuration(void)
{
SystemInit();
}
/****************************************************************************
* 名 称:void Delay(__IO uint32_t nCount)
* 功 能:延时函数
* 入口参数:无
* 出口参数:无
* 说 明:
* 调用方法:无
****************************************************************************/
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
上一篇:基于RFID的医疗器械智能控制系统设计
下一篇:关于STM32中RTC的校准方法
推荐阅读最新更新时间:2024-11-07 22:24
设计资源 培训 开发板 精华推荐
- KA431L 可编程并联稳压器的典型应用
- PCM1754解码板
- 具有浪涌电流控制、过流保护、输入电压浪涌保护和反向输入保护的 LTC3897IUHF 非同步 107V/1.5A 2 相升压转换器的典型应用电路
- FEBFAN6604MR-CH11U65A-GEVB:计算笔记本适配器
- AD9286-500EBZ,用于评估 AD9286 模数转换器的评估板
- 仪表用 3.3V DC 至 DC 单路输出电源
- LTC3630HDHC 5V 至 65V 输入至 5V 输出、高效率、500mA 稳压器的典型应用电路
- 采用双电源模块的 LTC3882EUJ-1 高密度、1.5V/45A、650kHz 降压转换器的典型应用电路
- LTC1550 的典型应用 - 低噪声、开关电容调节型电压逆变器
- EVAL-ADRF6755SDZ,基于 ADRF6755 300 至 2310 MHz I/Q 调制器的评估板,具有集成小数 N PLL 和 VCO