GPIO(General Purpose Input/Output)通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。
查看原理图我们可以看到很多引脚后面标注着GPIOxx/EINTxx/xxxx,这表示这个引脚可以复用,既可以当成普通的GPIO口来使用,也可以配置成中断或I2C等来使用
使用“DrvGen”打开“codegen.dws”进行编辑,会出现如下图界面:
Def.Mode: GPIO默认的模式,即在系统启动过程中GPIO口的模式
M0~M7: 由于GPIO口是复用的,也就说除了作为普通的GPIO口使用之外,还有其它用途
InPull En: 是否支持上下拉
InPull SelHigh: 选择上拉还是下拉,勾选表示上拉
Def.Dir: 指示GPIO默认的数据传输方向,是输入还是输出,都需要设置的。
In、Out: In和Out这两个选项暂时不知道有何用处,根据字面意思呢,应该是允许输入或输出的。
INV: GPIO数据取反控制
OutHigh: 指示GPIO口作为普通IO时输出电平高低。
VarName1: 变量的名字,有些驱动中可能会使用到一些GPIO口,那么这里就是为GPIO口定义一个别名,那么在驱动中只需要这个别名就可以了,而这个GPIO口是可以换的,所以这里也是为了可移植性。
EintMode: 指示是否当作中断引脚来使用,例如GPIO0就可以当作ENTI0,如果选中了该模式,其它模式是不可见的。
我们可以通过.dws文件配置这些通用I/O引脚的模式、方向和输出值。
GPIO模式设置
开启GPIO上拉下拉
GPIO方向设置
GPIO数据取反控制
GPIO输出数据控制
变量名设置: 只有当对应GPIO管脚的MO被检查时,VarName设置才会使能
VarName2和VarName3是在两个/三个应用程序或模块之间共享GPIO引脚的特殊情况下使用的
变量名不能在任何两个不同的领域中分配
按键
LCD
FM
手电灯