这个时候就我们就需要了解 KEIL 中另一个有趣的东西——工具箱(ToolBox)。
以设置 GPIOA.4 为例,定义一个控制这个引脚的按键。
首先,新建一个文件:
然后保存为 OspreyDebug.ini 文件:
输入以下内容:
保存文件后,将其添加到工程中,这里我采用模拟的方式,所以在模拟中添加,如果你是在线调试,那么在另一个位置添加即可:
之后进入 Debug 模式即可,在这里你可以看到你定义的按键:
当你按下按键时,就会出现如下消息:
当你从外设窗口查看时(关于这个可以查看:外设寄存器该这么看才对嘛),也能观察到这个 IO 引脚的变化:
这里需要注意的是:
以上函数采用的是 读-改-写 的方式更改某一个位,很可能在更改中意外的修改其它引脚,所以最好采用别的方式修改某一个引脚(比如使用位带操作、BRR 寄存器操作、互斥访问、关中断之类的)。这个涉及到资源互斥的知识,可以看关于信号量的的内容。
事实上,你不仅仅可以用按键做一个 IO 口的翻转,它还能做更复杂的事情,按键只是作为一个触发入口而已,具体干什么事情就由你们自己发挥想象了。