【玩转C2000 Launchpad】通用输入/输出模块(I/O)
[复制链接]
1.多功能复用 GPIO 介绍
F2807提供了多个通用数字I/O引脚,大部分引脚的功能是复用的,通过GPIO多路开关寄存器(GPIO MUX)为这些功能复用的引脚选择工作方式,通过这些寄存器可以把这些引脚设置成数字I/O或者外设I/O信号工作模式。如果是数字I/O模式,通过方向控制寄存器(GPxDIR)用来配置引脚的信号传输方向,并通过量化寄存器(GPxQUAL )量化输入信号的脉冲宽度以消除不必要的噪声。当DSP复位时,所有的GPIO引脚被配置为输入引脚。
复用控制寄存器 --- GPxMUX
GPxMUX.bit = 0 ---配置为数字I/O功能 GPxMUX.bit = 1 ---配置为外设功能 方向控制寄存器 --- GPxDIR
GPxDIR.bit = 0 ---引脚配置为数字量输入
GPxDIR.bit = 1 ---引脚配置为数字量输出 I/O数据寄存器 --- GPxDAT
GPxDAT.bit = 0, 且设置为输出--引脚置低
GPxDAT.bit = 1, 且设置为输出--引脚置高 I/O置位寄存器 --- GPxSET 只写寄存器 GPxSET.bit = 0 --- 没有影响
GPxSET.bit = 1,且设置为输出 --- 将相应的引脚置为高
I/O清零寄存器 --- GPxCLEAR GPxCLEAR.bit = 0 --- 没有影响
GPxCLEAR.bit = 1,且设置为输出 --- 将相应的引脚置为低电平
单独触发寄存器 --- GPxTOGGLE GPxTOGGLE.bit = 0 --- 没有影响
GPxTOGGLE .bit = 1,且设置为输出 --- 将相应的引脚置电平取反
量化控制寄存器 --- GPxQUAL (0---无量化,1---量化范围0x00--0xff) 用来量化采样周期,输入信号首先与内核时钟(SYSCLKOUT)同步,通过量化寄存器进行输出。由于相对输入信号来讲是个一步信号,因此与 SYSCLKOUT 同步最多有一个 SYSCLKOUT 的延时。采样窗口是6个采样周期宽度,只有当所有采样的数据相同时,输出才会改变。这个功能可以有效地消除输入信号的毛刺脉冲的干扰。
|