从事嵌入式行业也有三年多时间了,这三年里学习很多,进步也很多,需要学习的更多,现在公司也不怎么忙,想总结一些东西分享给大家,共同成长。
1
|
|
|
|
学习下,谢谢楼主的分享。主要是想看下LZ的的菜单结构
|
|
|
|
|
有什么问题随时提问啊,我看到就回,另外WORD文档上的所有内容都是手动打上去的,不要复制粘贴!不然编译器会报错,函数名字最好自己起,我这是随便起的。
|
|
|
|
|
void MenuFunction(&keybuf);
这个keybuf如何理解???没看懂啊。。。。
|
|
|
|
|
Keybuf是你自己定义的按键结构体,类型为 Key_Str_t,按键的检测可以在定时器里检测也可在外部中断检测,检测到按键按下就把结构体中的相应按键置位。然后在页面中判断结构体按键是否被置位,不知道这么说你可理解?
|
|
|
|
|
Key_Str_t keybuf;
这个void MenuFunction(&keybuf);应该放在主函数的哪个位置呢?
void main()
{
void MenuFunction(&keybuf);
while(1)
{
.
.
.
}
}
这样吗?
|
|
|
|
|
本帖最后由 meng19901003 于 2015-3-11 16:56 编辑
Key_Str_t keybuf = {0};
***it UpKey = P1^0;//例如是51单片机
int main(void)
{
while(1)
{
MenuFunction(&keybuf); }
return 0;
}
void Time0_Handler(void) interrupt 1 //例如定时器0 检测周期为 30ms
{
if(0 == UpKey){ //按键按下,如果需要软件消抖,自行添加代码
keybuf. u8upkey = 1;//标示使用后,记住清零
}
}
|
|
|
|
|
学习下,谢谢楼主的分享。主要是想看下LZ的的菜单结构
|
|
|
|
|