历史上的今天
今天是:2024年10月21日(星期一)
2019年10月21日 | STM32流水灯的几种实现方法
2019-10-21 来源:eefocus
#include “stm32f10x.h”
void RCC_Configuration(void);//2
void GPIO_Configuration(void);//GPIO
void Delay(u32 count)
{
u32 i=0;
for(;i int main(void) { RCC_Configuration();//3 LED_Init(); while(1) { GPIO_SetBits(GPIOA,GPIO_Pin_0);//第一灯亮 Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_0); //第一灯灭 Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_1); //第二灯亮 Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_1); //第二灯灭 Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_2); //第三灯亮 Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_2); //第三灯灭 Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_3); //第四灯亮 Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_3); //第四灯灭 Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_4);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_4); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_5);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_5); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_6);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_6); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_7);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_7); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_8);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_8); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_9);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_9); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_10);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_10); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_11);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_11); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_12);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_12); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_13);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_13); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_14);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_14); // Delay(800000); //延时 GPIO_SetBits(GPIOA,GPIO_Pin_15);// Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_15); // Delay(800000); //延时 } } void LED_Init(void)//GPIO { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; //结构体 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); } void RCC_Configuration(void) //1 { ErrorStatus HSEStartUpStatus; RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource() != 0x08); } } 流水灯还有几中实现方法如 用函数GPIO_Write 位置1 再左移 实现流水灯
史海拾趣
|
PCB抄板信号隔离技术是使数字或模拟信号在发送时不存在穿越发送和接收端之间屏障的电流连接。这允许发送和接收端外的地或基准电平之差值可以高达几千伏,并且防止可能损害信号的不同地电位之间的环路电流,主要应用在:(1)系统地的噪声比较大,容 ...… 查看全部问答> |
|
在点按钮后 启动定时器,但是OnTimer好像一直没有启动,对话框始终弹不出来,请教一下,这是什么原因? void CTestTimerDlg::OnButton1() { SetTimer(0,1000,NULL); } void CTestTime ...… 查看全部问答> |
|
飞凌ARM9开发板TE2410 TE2440 OK2440-II 经典ARM9开发板尽在飞凌,TE2410,TE2440,OK2440-II无不显示着飞凌的智慧与用心。 TE2410 … 查看全部问答> |
|
其中环境要求是nasm 0.99 assemble,我在网上没找到这个版本的程序. 如果用高点的版本的话就出现namke fatal error U1045, no error; 如果用nasm 0.98编译就出现fatal error u1077:\'nasm.exe\';return code \'0x1\'. 有谁知道吗? 也可以有相关 ...… 查看全部问答> |
|
虽然网上有很多关于写nor flash的方法,很多都是基于MTD框架的,由于我现在做的这个项目不能基于MTD的框架,所以自己在底层写了一个关于nor flash的驱动,然后在应用层写了一个应用程序,最终尝试了很多方法,终于完成了此项目!以后哪位兄弟遇到No ...… 查看全部问答> |
|
EP3Cls200 fpGA中 pllout时钟输出引脚中说Optional negative terminal for external clock outputs from PLL[1..4]. These pins can only use thedifferential I/O standard if it is being fed by a PLL output 什么意思,时钟输出引 ...… 查看全部问答> |




