28335 GPIO学习

GPIO学习涉及到最简单的程序-点灯。参考文章:《TMS320F28335项目开发记录8_28335之GPIO引脚

1、GPxMUX寄存器(功能选择寄存器)

每个I/O口都有一个功能选择寄存器,功能选择寄存器主要用于选择I/O工作在特殊功能还是通用数组I/O模式。在复位时,所有GPIO配置成通用数字模式。

1)如果GPxMUX.bit = 0,配置成通用数字I/O功能;

2)如果GPxMUX.bit = 1,配置成特殊外设功能口(如SCI、CAN);

I/O的输入功能和外设的输入通道总是被使能的,输出通道是通用数组I/O和特殊外设复用的。如果引脚配置成通用数组I/O功能,相应的外设功能将被禁止。

2、GPxDIR(方向控制寄存器)

每个I/O口都有数据方向控制寄存器,数据方向控制寄存器用于设置通用数字I/O为输入还是输出口,在复位时,引脚的默认状态为输入状态。

1)如果GPxDIR.bit = 0,引脚设置为通用数字量输入;

2)如果GPxDIR.bit = 1,引脚设置为通用数字量输出;

复位时,GPxMUX和GPxDIR默认值都为0,所以在复位时,引脚的默认状态为数字I/O输入。

3、GPxDAT寄存器(数据寄存器)

每个I/O口都有一个数据寄存器,数据寄存器是可读可写寄存器。

1)I/O设置为输出功能时,如果GPxDAT.bit = 0,那么操作将会使相应的引脚拉低;

2)I/O口设置为输入功能时,如果GPxDAT.bit = 0,反映相应的引脚状态为低电平;

3)I/O口设置为输出功能时,如果GPxDAT.bit = 1,那么操作将会使相应的引脚拉高;

4)I/O口设置为输入功能时,如果GPxDAT.bit = 1,反映相应的引脚状态为高电平。

需要说明的是,当用户试图改变一个数字I/O的状态时,不要改变另一个I/O的引脚状态。

4、GOxSET寄存器(置位寄存器)

每个I/O口都有一个置位寄存器,置位寄存器是只写寄存器,任何读操作都返回0,如果相应的引脚配置成数据量输出,写1后相应的引脚会置高,写0时没有反映。

1)如果GPxSET.bit = 0,没有影响;

2)引脚设置为输出时,如果GPxSET.bit = 1,那么操作将会使引脚置高。

5、GPxCLEAR寄存器(清除寄存器)

每个I/O口都有一个清除寄存器,清除寄存器是只写寄存器,任何读操作都返回0。

1)如果GPxCLEAR.bit = 0,没有影响;

2)引脚设置为输出时,如果GPxCLEAR.bit = 1,将相应的引脚置成低电平。

6、GPxTOGGLE寄存器(取反触发寄存器)

每个I/O口都有一个取反触发寄存器,该寄存器是只写寄存器,任何读操作都返回0。

1)如果GPxTOGGLE.bit = 0,没有影响;

2)引脚设置为输出时,如果GPxTOGGLE.bit = 1,那么操作将使相应的引脚取反。



操作管脚的思路:1、选择寄存器MUX,最主要是选择功能。DSP管脚都是复用的

2、方向寄存器:是输入还是输出

3、数据:是0还是1

4、置位、清零、取反都有专用的寄存器


程序太简单,不做累述

参考文章中值得学习

  1. #define   LED1  GpioDataRegs.GPBDAT.bit.GPIO60  
  2. #define   LED2  GpioDataRegs.GPBDAT.bit.GPIO61  



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章