
这个地方是说!你先把GPIOB口的输出寄存器低四位清零,让后在把他与0xf相与在把低四位置高。
GPIOB是32位寄存器所以,0xfff0正好是32位,那个0xf是0x0f的意思!
这段程序没有错误.如果你就JTAG的话建议使用在线仿真(具体教程请百度吧,不算复杂),在switch(x)处设置断点,当程序执行到那里就暂停了,可以看到x的值是多少,这样有助于你查找错误.如果没有的话建议买一个,也不贵,五六十就可以买到.很方便的东西
u8 GetKEY(void)//按键扫描 按下时返回1-16,不按时返回0,这个你自己写吧
u8 LockFlag = 1//0代表有键按下
u8 KEY//键值
//主程序或者中断中循环执行下边的程序
KEYValue = GetKEY()
if(KEYValue)
{
if(LockFlag)
{
LockFlag = 0
KEY=KEYValue
}
}
else
{
LockFlag = 1
}
大概就是这种,随手写的,应该可以实现
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)