一个很简单的小程序
stm32初学,很多都不太理解,希望大家给与指点
以下是程序,没用固件库
#include "stm32f10x.h"
void delay_ms(u8 ms);
int main(void){
RCC->CR = 0x01010000; RCC->CFGR = 0x061c3000; RCC->APB2ENR = 0x00000080; //enable GPIOF Clock GPIOF->CRL=(u32)0X33000000; GPIOF->CRH=(u32)0X00000033;//配置神舟III号LED灯使用的GPIOF6.7.8.9管脚模式
while(1) { GPIOF->ODR |= 0x000003C0;//灯灭 delay_ms(200); GPIOF->ODR &= ~0x000003C0;//灯亮 delay_ms(200); }
}
//延时函数 void delay_ms(u8 ms){
u16 i; for(i=0;i<2000;i++) { for(;ms>1;ms--){} } }
试过很多大大小小延时函数的两个参数,弄了一下午,有时候灯一直亮,有时候灯一直灭,用软件仿真,全速事进入延时函数就出不来了
这是怎么回事呀
|