📄 ps2.txt
字号:
-------------------------------------------------------------------------------
本文件用于记录编写PS2键盘程序中出现的问题
--------------------------------------------------------------------------------
1.在*.H文件中放置数组,可能会在连接时提示数组名重定义
我昨天将PS2键盘的程序运用到了我的仿真板上,我起初以为只需要
改写少量的程序代码就可以的,结果是不知到是什么原因我几乎是
把全部代码都重写了一遍。程序运行好象没错,我设置了断点,也
看到了读近来的数据,比较后也是正确的,就是不能在LCD上显示出来
我起初是以为由于例程只读了通码没有读断码导致的。我想当我读完
通码,然后再开外部中断1时正好赶上键盘发送的断码,这时也许并不
断码的开头,可能会是他的中间部分,由于没有按照即定方式,所以
程序就死在里面的循环中了。
但后来的验证说明我的猜测也许不对,我设置断点却得到了键值,但运
行到查表程序时却又陷入了死循环,由于跟踪的限制我没能查到具体是
哪一个语句出的问题,但从中说明我上面的猜测可能有问题。
为了证明我的想法我将程序全部改写了一遍,将每次只检查一个位的
中断程序改成了,一次读取3个字节,这样就不会有前面猜想的那样的
后果了。(***********************我要说明的是这样做会占用太多
的CPU时间,使程序的实时性明显下降***************************)
但这次的结果更让我摸不到头脑,因为我只要在中断程序中加查表程序
从中断程序中读出来的按键值就完全变样了,但只要去掉那一条语句一
切都有会恢复正常。
这个现象使我开始怀疑我用SST芯片做的仿真器,刚开始测试别人的程序
时由于程序段中有关中断的语句,使仿真不能执行,而这次的情况也有点
类似。后来的测试使我更加坚信这一点,我利用静态变量来传递所取得的
键值,然后在主程序中进行显示,结果是在中断中设置断点后单步执行跳
主程序后就不能在仿真了。
我想我也许该用WAVE来仿真一下。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -