我在主循环中想让LED闪动,这样写
的void main()
{
while(1)
{
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
// 点亮LED
for(i=0;i<0xfffffff;i++);
// 延时 GPIO_SetBits(GPIOA, GPIO_Pin_2);
//灭LED }
我用的是stm32103rb单片机,单片机时钟 GPIO 等 初始化肯定没有问题,我用的是keil4如果我把主函数改成void main(){ while (1)
{
for (i = 0; i <5 ; i++)
{
if (i %= 1)
{
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
}
else
{
GPIO_SetBits(GPIOA, GPIO_Pin_2);
}
for (i=0;i<0xfffffff;i++);
}
}
}这样改后LED就能闪动了,但我总感觉第一个比较简练,却不好使,led一直亮,不知道为什么,请大家找找原因
此帖出自
小平头技术问答
利用位带特性可以更简洁 [ 本帖最后由 shower.xu 于 2012-7-3 08:52 编辑 ]
一周热门 更多>