BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #14969同步于 2014/9/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

stm32的gpio设置led的问题?????????????????

bewithyou
2014/9/9镜像同步4 回复
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只有初始化设置的时候有效,之后在设置,就无效了; 无法达到间隔着一亮一灭,只能要么一直亮,要么一直灭,太奇怪了~~~~~~~
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
wangxiaobupt机器人#1 · 2014/9/9
你的代码只是设置了GPIO的模式吧 用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了 【 在 bewithyou (唉。。。。。。。) 的大作中提到: 】 : gpio模式设置为GPIO_Mode_Out_PP: : //LED: : GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; : ...................
bewithyou机器人#2 · 2014/9/10
是啊,我也试过SetBits和 Reset函数, 反正也只是第一次设置有效,以后再调用这两个函数就无效 【 在 wangxiaobupt 的大作中提到: 】 : 你的代码只是设置了GPIO的模式吧 : 用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了 : : ...................
bewithyou机器人#3 · 2014/9/10
#define LED2(tmp) (GPIOB->ODR=(tmp?(GPIOB->ODR|1<<7):(GPIOB->ODR&(~(1<<7))))) 我也用ODR寄存器控制高低电平,应该也一样吧? 【 在 wangxiaobupt 的大作中提到: 】 : 你的代码只是设置了GPIO的模式吧 : 用SetBits和 Reset函数控制高低电平不就想亮就凉 想灭就灭了 : : ...................
wangxiaobupt机器人#4 · 2014/9/10
帖个完整代码 看看呗 【 在 bewithyou (唉。。。。。。。) 的大作中提到: 】 : 是啊,我也试过SetBits和 Reset函数, : 反正也只是第一次设置有效,以后再调用这两个函数就无效