stm32f103zet6战舰板,流水灯循环次数不对

2019-07-20 16:45发布

原子哥,前几天在你这里买的板子,战舰的f103zet6,一切正常,我自己写了一个流水灯测试程序,用for循环跑了5次流水灯,在线调试的时候循环正常,可是程序下载到板子里,重新上电,流水灯循环了14次,不知道为什么会这样?这是我的主要代码,求帮忙看看,谢谢。


[mw_shl_code=c,true]
void LED_INIT(void) {
        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE, ENABLE);

        //GPIO Structure && GPIO init
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                                                                //PB5
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                                //Set Frequency 50MHz       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                                //íÆíìêä3ö£o¼′í¨óÃIO¿úêä3öÄ£ê½
        GPIO_Init(GPIOB, &GPIO_InitStructure);
       
        //GPIO Structure & GPIO init
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                                                                //PE5
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                                //Set Frequency 50MHz       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                                //íÆíìêä3ö£o¼′í¨óÃIO¿úêä3öÄ£ê½
        GPIO_Init(GPIOE, &GPIO_InitStructure);
}



void LED_off_on(void){
                int temp = 0;

                LED_INIT();

                for (temp=0; temp<5; temp++) {
                                GPIO_SetBits(GPIOB, GPIO_Pin_5);
                                GPIO_ResetBits(GPIOE, GPIO_Pin_5);
                                mydelay_ms(500);
                               
                                GPIO_ResetBits(GPIOB, GPIO_Pin_5);
                                GPIO_SetBits(GPIOE, GPIO_Pin_5);       
                                mydelay_ms(500);
                }

                GPIO_SetBits(GPIOB, GPIO_Pin_5);
                GPIO_SetBits(GPIOE, GPIO_Pin_5);       
}[/mw_shl_code]
[mw_shl_code=c,true]int main(void)
{
        SystemInit();
       
        LED_off_on();       
}[/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
gsndragon
1楼-- · 2019-07-20 21:29
 精彩回答 2  元偷偷看……
lsy3500
2楼-- · 2019-07-21 01:50
gsndragon 发表于 2017-2-21 10:34
可能的原因:因为你在流水灯跑完后没有将程序停在那里(比如在 LED_off_on( );后面加个while(1);),所以M ...

今天准备试试你的方法,结果程序重新下载到板子,莫名奇妙的好了,~~~还没试呢~~~
不管怎么样,谢谢你哈~~~

一周热门 更多>