 
					
				LED灯循环&RGB闪烁
	
	
程序忽略:D6灯——D6处焊盘已掉
RGB——忽略红光部分及其红光部分组成的颜色光
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "stm32_eval.h"
GPIO_InitTypeDef GPIO_InitStructure;
void RCC_Configuration(void)//始终配置
{
  RCC_DeInit();
    
  RCC_HSICmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
  
  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_LSEConfig(RCC_LSE_OFF);
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz
  RCC_PLLCmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);
  RCC_PCLK2Config(RCC_HCLK_Div1);
  RCC_PCLK1Config(RCC_HCLK_Div2);
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  while(RCC_GetSYSCLKSource() != 0x08);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  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_2);//关闭蜂鸣器
}
/*初始化GPIO*/
void GPIO_INIT()
{
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA, ENABLE);//使能PC、PA时钟
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//Ñ¡Ôñ¹Ü½Åp0ÖÁp7
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//管脚最高输出速率为50MHZ
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
  GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化PC
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;//使用PA1¡、PA2¡、PA3  
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化PA
}  
/*微秒延时函数*/
void delay_us(u32 n)
{
	u8 j;
	while(n--)
	for(j=0;j<10;j++);
}
/*毫米延时函数*/
void  delay_ms(u32 n)
{
	while(n--)
	delay_us(1000);
}
			
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)  
{   
    RCC_Configuration();  
    GPIO_INIT();  
/*LED、RGB函数*/
    while(1)  
		{
					GPIO_ResetBits(GPIOC,GPIO_Pin_0);//点亮D1
					delay_ms(1000);            
          GPIO_SetBits(GPIOC,GPIO_Pin_0);//熄灭D1
					
					GPIO_ResetBits(GPIOC,GPIO_Pin_1);//点亮D2
					delay_ms(1000);      
          GPIO_SetBits(GPIOC,GPIO_Pin_1);
          
					GPIO_ResetBits(GPIOC,GPIO_Pin_2);//点亮D3
					delay_ms(1000);  
          GPIO_SetBits(GPIOC,GPIO_Pin_2);  
         
					GPIO_ResetBits(GPIOC,GPIO_Pin_3);//点亮D4 
          delay_ms(1000);  
          GPIO_SetBits(GPIOC,GPIO_Pin_3);  
          
					GPIO_ResetBits(GPIOC,GPIO_Pin_7);//点亮D8
          delay_ms(1000);  
          GPIO_SetBits(GPIOC,GPIO_Pin_7);
          
					GPIO_ResetBits(GPIOC,GPIO_Pin_6);//点亮D7  
          delay_ms(1000);  
          GPIO_SetBits(GPIOC,GPIO_Pin_6);
          
					GPIO_ResetBits(GPIOC,GPIO_Pin_4);//点亮D5  
          delay_ms(1000);  
					GPIO_SetBits(GPIOC,GPIO_Pin_4);
              
          GPIO_ResetBits(GPIOA,GPIO_Pin_1);//闪烁蓝光
          delay_ms(1000);  
          GPIO_SetBits(GPIOA,GPIO_Pin_1); //熄灭蓝光    
           
          GPIO_ResetBits(GPIOA,GPIO_Pin_3);//绿光
          delay_ms(1000);  
          GPIO_SetBits(GPIOA,GPIO_Pin_3);          
              
          GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3);//靛=蓝光+绿光
          delay_ms(1000);  
          GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3);
}    
}
	
	
	
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |

 
			
			
			
						
			 
 
 
					
				 
										 
					
				 
					
				 
					
				 
										 叫你帮我焊一下灯,你都不帮焊~
叫你帮我焊一下灯,你都不帮焊~										 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

