硬件平台: TMS320F28377D
软件版本: CSS 7.3


寄存器说明:

TMS320F28377D存储器宽度为16bit,即每个地址对应16bit的数据,32bit数据对应两个地址,编程寻址需要特别注意。


控制寄存器

GPyCTRL 输入采样周期设置(仅做为输入时有效)
每8个引脚为一组,每组采用相同的采样周期值,t = PLLSYSCLK/(QUALPRDx + 1);

[31:24] - QUALPRD3: GPIO31~GPIO24输入采样周期设置;
[23:16] - QUALPRD2: GPIO23~GPIO16输入采样周期设置;
[15:8]  - QUALPRD1: GPIO15~GPIO8输入采样周期设置;
[7:0]   - QUALPRD0: GPIO8~GPIO0输入采样周期设置;

GPyQSELn 输入采样数设置(仅做为输入时有效)
每个端口需要2bit来设置,所以一共需要2个32bit的寄存器来控制;
00b - 同步, 01 - 3samples, 10 - 6samples, 11 - 异步

GPyMUXn/GPyGMUXn 端口功能设置
用于配置端口的复用功能,每个端口需要4个bit来设置同,需要4个32bit的寄存器:
(GPyGMUX2/GPyGMUX1/GPyMUX2/GPyMUX1)

GPyDIR 端口方向设置,
每bit对应一个端口,输入(1),输出(0);

GPyPUD 上拉禁止设置
每bit对应一个端口,禁止上拉(1),使能上拉(0);

GPyINV 输入极性反转(仅做为输入时有效)
每bit对应一个端口,反转(1),不翻转(0)

GPyODR 输出开漏设置
仅做为输出时有效,用于需要开漏输出的场合,每bit对应一个端口,输出开漏(1),普通输出(0);

GPyCSELn 选择主控制器(重要)
选择由可以读写数据寄存器的主控制器,每4个bit对应一个端口,共需要4个32bit的寄存器;
根据数据手册说明GPyCSEL4/GPyCSEL3的值可以忽略,仅有GPyCSEL2/GPyCSEL1来控制;
xx00: CPU1
xx01: CPU1.CLA1
xx10: CPU2
xx11: CPU2.CLA1

GPyLOCK 配置锁定
锁定后不允修改端口的配置(控制寄存器组),复位后只允许写一次;

GPyACR 锁定提交
GPyLOCK修改后,使能该位来提交确认,复位后只允许写一次;


数据寄存器

GPyDAT      将对应bit写入1或0来设置端口电平,读操作是读取端口的电平置;
GPySET      将对应bit写1来设置该端口为高电平,写0无效;
GPyCLEAR    将对应bit写1来设置该端口为低电平,写0无效;
GPyTOOGLE   将对应bit写1来反转该端口的电平状态,写0无效;