可以改为:给每个按键分配一个静态变量T[i],每隔比如10ms读一次状态,如果有按下T[i] ++松开清零。当T[i] >比如5 则确认为按下(注意长按)。这样同时 *** 作多个按键也不会卡,芯片可以去做别的事情。
首先,按键的硬件电路,按键不按的时候常高或者常低,按钮按下产生1个跳变,下降沿或者上升沿。然后,软件部分,将这个IO口配置为输入模式,带中断功能,再然后编写中断事件即可,比如让一个LED灯亮,或者串口输出。
有问题可以用ST-LINK连接看看,Debug可以单步运行查看进度的,比51的年代强太多了
简单的啊。思路:8个LED接在一个口,如P1口。再将另外两个LED接在另外某个口(如P2)的两个引脚。然后将两个按键分别接在空闲的口的两个引脚。按下一个按键,使8个LED的输出状态变化,0xFE循环移位实现,LED低电平亮。另外的按键按下,两个LED状态翻转。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)