有些时候我们并不满足监控数据,还想定义一些自己的按键,比如当我按下按钮时,系统电源关闭,再按下按钮时系统电源开启,怎么做?这个功能其实使用前面所说的外设窗口也是完成能完成要求的,麻烦的是,如果使用外设窗口,要控制 IO 口,那你每次都得找到对应的 IO 口才行,很是麻烦,但是使用按键就会简单许多。
这个时候就我们就需要了解 KEIL 中另一个有趣的东西——工具箱(ToolBox)。
以设置 GPIOA.4 为例,定义一个控制这个引脚的按键。
首先,新建一个文件:
然后保存为 OspreyDebug.ini 文件:
输入以下内容:
保存文件后,将其添加到工程中,这里我采用模拟的方式,所以在模拟中添加,如果你是在线调试,那么在另一个位置添加即可:
之后进入 Debug 模式即可,在这里你可以看到你定义的按键:
当你按下按键时,就会出现如下消息:
当你从外设窗口查看时(关于这个可以查看:窗口展示),也能观察到这个 IO 引脚的变化:
这里需要注意的是:
以上函数采用的是 读-改-写 的方式更改某一个位,很可能在更改中意外的修改其它引脚,所以最好采用别的方式修改某一个引脚(比如使用位带操作、BRR 寄存器操作、互斥访问、关中断之类的)。这个涉及到资源互斥的知识,可以看前面的内容(信号量)。
事实上,你不仅仅可以用按键做一个 IO 口的翻转,它还能做更复杂的事情,按键只是作为一个触发入口而已,具体干什么事情就由你们自己发挥想象了。
如果有帮助,记得点个赞再走哦,谢谢支持!
下周预告:.ini文件的使用方法?
欢迎关注微信公众号:emOsprey
原文链接: