打印
[STM32F4]

用于指示作用的LED的初始化问题

[复制链接]
1422|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
penghuiyanbiyun|  楼主 | 2014-12-3 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LED, pi, gp, IO, GPIO
一直用以下的程序初始化LED,没发现什么问题,而且可以实现指示作用(即程序运行到哪步的时候亮哪个灯都可以实现)。今天调程序时,无意间在主函数中使用LED_ON(0),本来是想在主函数中点亮PF8口的灯,可是一运行程序所有的灯都亮了。断点调试一过这个LED_ON(0)函数,所有的灯就亮了。百思不得其解,也找不出什么问题,请大家指点一下,急啊!!

void LED_ON(unsigned int i)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOF, &GPIO_InitStructure);
  switch(i)
  {
   case 0: GPIO_ResetBits(GPIOF,GPIO_Pin_8);break;
   case 1: GPIO_ResetBits(GPIOF,GPIO_Pin_10);break;
   case 2: GPIO_ResetBits(GPIOF,GPIO_Pin_11);break;
   case 3: GPIO_ResetBits(GPIOF,GPIO_Pin_9);break;
   default: GPIO_SetBits(GPIOF,GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);
  }
}
沙发
westzg| | 2014-12-3 10:05 | 只看该作者
看在你这段代码,在主程序运行LED_ON(0),GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;都被重新初始化了,把端口初始化放到别的地方去,

使用特权

评论回复
板凳
penghuiyanbiyun|  楼主 | 2014-12-3 11:26 | 只看该作者
westzg 发表于 2014-12-3 10:05
看在你这段代码,在主程序运行LED_ON(0),GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;都被重新初始化 ...

不是这个原因,之前就是分开放的,后来才挪到一起。就是在main函数里用了LED_ON(0),没放在while(1)里面,依然所有的灯被点亮。但不运行发现,运行到switch(i)的时候灯就亮了,不知道什么情况

使用特权

评论回复
地板
mmuuss586| | 2014-12-3 12:28 | 只看该作者
penghuiyanbiyun 发表于 2014-12-3 11:26
不是这个原因,之前就是分开放的,后来才挪到一起。就是在main函数里用了LED_ON(0),没放在while(1) ...

那就加上CASE:0的时候:把其它端口灭掉,只亮PIN8;

使用特权

评论回复
5
penghuiyanbiyun|  楼主 | 2014-12-3 13:18 | 只看该作者
mmuuss586 发表于 2014-12-3 12:28
那就加上CASE:0的时候:把其它端口灭掉,只亮PIN8;

恩,谢谢啊~这个方法也行。不过找到主要原因了,就是粗心,忘了将灯初始化为熄灭的状态了。哎。。真是对自己很无语!

使用特权

评论回复
6
mmuuss586| | 2014-12-3 17:33 | 只看该作者
penghuiyanbiyun 发表于 2014-12-3 13:18
恩,谢谢啊~这个方法也行。不过找到主要原因了,就是粗心,忘了将灯初始化为熄灭的状态了。哎。。真是对 ...

呵呵,解决了就好;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

110

帖子

1

粉丝