stm32按键控制led灯亮度(stm32按键控制灯的亮度)
stm32单片机用两个按键控制led, 按键1 控制从灭到亮,按键2控制从亮到暗,但是一直按着按键
给你一个最简单的思路
cpu利用率不高但是可以完成
你上面写的我给你提供一个思路
你应该可以看的懂
看不懂追问
unsigned
int
key;
void
main(void)
{
while(1)
{
switch(key)
{
case
0:
led0=!led0;
//你自己修改
delay_ms(200);
break;
case
1:
led1=!led1;
delay_ms(200);
break;
case
2:led2=!led2;
delay_ms(200);
break;
default:
break;
}
void
在这里按键获取函数(void)
{
key=获取到的值;
//没有按键按下的话是进入不到这里
}
}
}
求大神指教怎么用stm32按键控制LED
把PC5-PC8都设置为输入,把PB0,1,14,15设置为输出。
在程序while中检测pc5-8的输入管脚电平,来使能输出PB管脚的高低电平来点亮LED。
逻辑很简单,希望你成功。
[img]奋斗stm32 v5开发版按键控制led的问题
这个不是一两句话可以
讲清楚
的,你可以可以使用APP函数或者
库函数
完成开发,与
51单片机
一样,只是
STM32
需要先开启时钟线、设置端口输入还是输出模式,速度模式,以及初始化是高还是低状态,等设置好这些了,它就是一个51单片机一样的功能了。
在stm32里用按键来控制灯的亮灭时如图的一句代码是干吗用的感觉多余,但是注释掉还不对,求大神指教??
通常的代码如下
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{ /*检测是否有按键按下 */
if(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin)==KEY_ON)
{ /*等待按键释放 */
while(GPIO_ReadInputDataBit( GPIOx, GPIO_Pin)==KEY_ON) ;
return KEY_ON ;
}
else return KEY_OFF;
}
两者之间的差异仅仅是 KEY_ON 和 KEY_OFF,你取的按键逻辑是反相的,并没什么不对;
其中语句:while(GPIO_ReadInputDataBit( GPIOx, GPIO_Pin)==KEY_ON) ;
就是进入循环,直到 GPIO_Pin= KEY_OFF,循环才结束;
stm32按键控制led灯亮度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于stm32按键控制灯的亮度、stm32按键控制led灯亮度的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~