野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8893|回复: 6

跪求一个简单到极的问题

[复制链接]
发表于 2018-1-6 09:33:17 | 显示全部楼层 |阅读模式
     我想写一个LED灯一闪一闪的,LED灯是低电平发光的,代码如下:                GPIO_InitTypeDef GPIO_InitStruct;
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);       
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;               
                GPIO_Init(GPIOB, &GPIO_InitStruct);
                int16_t  i=0xffffffff;
        (1)       GPIO_WriteBit(GPIOB,GPIO_Pin_0,Bit_RESET);        //注释了这条语句,LED灯一直不亮,对
               Delay(i);
        (2)      GPIO_WriteBit(GPIOB,GPIO_Pin_0,Bit_SET);          //注析了这条语句,LED灯一直亮,对
               Delay(i);
           但是,如果上面有两条语句都不注释,板子不会一亮一灭,只会一直亮,即是只执行了语句(1),没有往下执行,怎么会这样呢?困惑了两天了,这么的都不会,跪求哪位给我说说



回复

使用道具 举报

发表于 2018-1-6 09:59:29 | 显示全部楼层
因为你这个没有放在循环里,放在循环里才会轮流执行,才会一亮一灭
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-6 10:06:34 | 显示全部楼层
flyleaf 发表于 2018-1-6 09:59
因为你这个没有放在循环里,放在循环里才会轮流执行,才会一亮一灭

但是我已经放在while(1){}里边了的,PB0的LED灯,就是不能按预期的,不知自己错哪里了
回复 支持 反对

使用道具 举报

发表于 2018-1-6 10:19:44 | 显示全部楼层
延时时间不够所以看上去一直亮?
回复 支持 反对

使用道具 举报

发表于 2018-1-6 10:22:19 | 显示全部楼层
2664723082 发表于 2018-1-6 10:06
但是我已经放在while(1){}里边了的,PB0的LED灯,就是不能按预期的,不知自己错哪里了

也可能是延时太长了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-6 10:38:00 | 显示全部楼层
wqy_1000 发表于 2018-1-6 10:19
延时时间不够所以看上去一直亮?

谢谢您,我找到原因了,我用错了函数,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-6 10:38:37 | 显示全部楼层
flyleaf 发表于 2018-1-6 10:22
也可能是延时太长了

谢谢您,我找到原因了,我用错了函数
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 22:04 , Processed in 0.028059 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表