|
為什么我的LED不閃爍,下面是程序和電路。#include "stm32f10x.h"
void delay_ms(u32 ms){
u32 temp;
SysTick->LOAD = 9000 * ms; //重裝初值,72MHz時
SysTick->CTRL = 0x01; //使能,減到0無動作,采用外部時鐘
SysTick->VAL = 0; //清零計數(shù)器
do{
temp = SysTick->CTRL; //讀取當前倒計數(shù)數(shù)值
}while((temp & 0x01) && (!(temp & (1 << 16)))); //等待時間到達
SysTick->CTRL = 0; //關閉計數(shù)器
SysTick->VAL = 0; //清空計數(shù)器
}
void testGPIO_Config(void){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = testGPIO_Pin;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(testGPIO, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
}
int main(void){
SystemInit();
//SysTick
testGPIO_Config();
while(1){
GPIO_WriteBit(testGPIO, testGPIO_Pin, Bit_RESET);
delay_ms(1000);
GPIO_WriteBit(testGPIO, testGPIO_Pin, Bit_SET);
delay_ms(1000);
}
//return 0;
}
|
|