求助:跑马灯为什么进入延时函数程序就死了

2019-03-23 19:50发布

一个很简单的小程序 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--){}
  }
}         试过很多大大小小延时函数的两个参数,弄了一下午,有时候灯一直亮,有时候灯一直灭,用软件仿真,全速事进入延时函数就出不来了   这是怎么回事呀 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。