本系列博文以TI官方的LaunchPad硬件电路板为例讲解。

目录:C:\TI\CC3200SDK_1.1.0\cc3200-sdk\example 对应众多代码例程。

目录:C:\TI\CC3200SDK_1.1.0\cc3200-sdk\docs\examples 有各个例程相关的文档。

目录:C:\TI\CC3200SDK_1.1.0\cc3200-sdk\docs\hardware 有开发板的硬件原理图。

1. GPIO分组

CC3200的GPIO总共四组,即:PA0 - PA3,每组有8个口,CC3200芯片总共有27个GPIO口可配置,分别为:GPIO0-GPIO17、GPIO22-GPIO25、GPIO28-GPIO32,具体参数如下:

2. 芯片管脚 

芯片的管脚原理图(非常重要)(…\hardware\CC3200-LAUNCHXL_SCH_Rev3p2-A.pdf)如下:

3. GPIO配置举例 

首先配置GPIO,根据上图获取所需要配置的GPIO管脚对应的标号,比如:开发板中的三个LED灯对应管脚GPIO9、GPIO10、GPIO11分别对应PIN64、PIN1、PIN2,其具体配置如下:

//在文件pinmux.c中
void PinMuxConfig(void)
{
    //使能外设时钟, 等价于调用函数PRCMPeripheralClkEnable
    MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK);
 
    //GPIO9属性,函数等价于PinTypeGPIO
    MAP_PinTypeGPIO(PIN_64, PIN_MODE_0, false);
    //管脚方式,函数等价于GPIODirModeSet
    MAP_GPIODirModeSet(GPIOA1_BASE, 0x2, GPIO_DIR_MODE_OUT);
  
    //配置GPIO10为输出
    MAP_PinTypeGPIO(PIN_01, PIN_MODE_0, false);
    MAP_GPIODirModeSet(GPIOA1_BASE, 0x4, GPIO_DIR_MODE_OUT);
 
    //配置GPIO11为输出
    MAP_PinTypeGPIO(PIN_02, PIN_MODE_0, false);
    MAP_GPIODirModeSet(GPIOA1_BASE, 0x8, GPIO_DIR_MODE_OUT);
}

4. 介绍GPIO配置函数

这些函数都来源于TI官方做好的driverlib,类似STM32开发中的库函数(其实就是),函数的具体实现在目录(…\cc3200-sdk\driverlib)下查看。

(1)void PRCMPeripheralClkEnable(unsigned long ulPeripheral, unsigned long ulClkFlags);

 

(2)void PinTypeGPIO(unsigned long ulPin,unsigned long ulPinMode,tBoolean bOpenDrain);

确认各参数的方法:

ulPin ->  GPIO口所对应的管脚标号,如:GPIO9 -> PIN64

ulPinMode -> Mode  需要查看完整版的编程手册地址,大约在483页往下的内容,部分截图如下:

bOpenDrain -> 是否使用OD模式

(3)void GPIODirModeSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulPinIO);

确认各个参数的方法:

ulPort  ->  A(GPIO编号/8 – 1),例:GPIO8对应的ulPort = A(8/8-1) = A0,如下:

ucPin  -> PAx口对应的位值,比如:GPIO8对应PA1口的第0 BIT位(00b),GPIO9对应PA1口的第1 BIT位(10b),GPIO10对应第2 BIT位(100b),依次类推。

注:

(1)其实这个地方完全可以使用GPIO_PIN_0、GPIO_PIN_1… 代替(已在gpio.h中定义)。

(2)关于函数实现的具体功能已经函数各个形参的含义,请查看目录(…\cc3200-sdk\docs)下的CC3200-Peripheral_Driver_Library_User's_Guide.chm,讲的非常清楚明了。

以上是GPIO管脚属性的配置函数,接下来设置管脚电平就可以了。

下一篇文章:《深入CC3200(4)—GPIO相关函数解析(2)》

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。 标签:CC3200,MCU探讨,MCU使用