返回信息流gpio模式设置为GPIO_Mode_Out_PP:
//LED:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
#define LED2(tmp) (GPIOB->ODR=(tmp?(GPIOB->ODR|1<<7):(GPIOB->ODR&(~(1<<7)))))
可是led只有初始化设置的时候有效,之后在设置,就无效了;
无法达到间隔着一亮一灭,只能要么一直亮,要么一直灭,太奇怪了~~~~~~~
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #14969同步于 2014/9/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
stm32的gpio设置led的问题?????????????????
bewithyou
2014/9/9镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
你的代码只是设置了GPIO的模式吧
用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了
【 在 bewithyou (唉。。。。。。。) 的大作中提到: 】
: gpio模式设置为GPIO_Mode_Out_PP:
: //LED:
: GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
: ...................
是啊,我也试过SetBits和 Reset函数,
反正也只是第一次设置有效,以后再调用这两个函数就无效
【 在 wangxiaobupt 的大作中提到: 】
: 你的代码只是设置了GPIO的模式吧
: 用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了
:
: ...................
#define LED2(tmp) (GPIOB->ODR=(tmp?(GPIOB->ODR|1<<7):(GPIOB->ODR&(~(1<<7)))))
我也用ODR寄存器控制高低电平,应该也一样吧?
【 在 wangxiaobupt 的大作中提到: 】
: 你的代码只是设置了GPIO的模式吧
: 用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了
:
: ...................
帖个完整代码 看看呗
【 在 bewithyou (唉。。。。。。。) 的大作中提到: 】
: 是啊,我也试过SetBits和 Reset函数,
: 反正也只是第一次设置有效,以后再调用这两个函数就无效