GPIO输出电平函数
void GPIOPinWrite(unsignedlong ulPort ,unsigned char ucPins, unsigned char ucVal)
首先需要介绍一下CC3200的端口对应。同一个引脚共有三种表示方法。
第一种,PIN_X,X为板子上的引脚号
第二种,GPIOX,X可取0-31,表示共有32个GPIO引脚
第三种,即GPIOAX_X,32个GPIO引脚分为四组A0,A1,A2,A3,每组8个,分别为0-7
比如:PIN_64=GPIO9=GPIOA1_1,具体对应请看附表。
下面说明函数的参数,
第一个参数ulPort是该引脚的分组的基地址,比如58号引脚的三种表示PIN_58=GPIO3=GPIOA0_3,那么第一个参数即为 GPIOA0_BASE
第二个参数ucPins指的该分组对应的引脚值,即为0-7,但不能写0-7,具体写法是根据十六进制对应位置为1表示的。比如,0指的是第一个位置,从右侧数,所以0应表示为,00000001,同理,1指的第二个位置,所以1表示为00000010,2表示为00000100,以此类推,7表示为10000000。但需要用16进制来表示,故第二个参数位置写的是0-7,需要用上面对应位置的十六进制数写,即为0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
第三个参数指的是输出的高低电平,与第二个参数一样则表示高电平,0x0则表示低电平。
举例说明,
GPIOPinWrite(GPIOA0_BASE,0x8, 0x8);
GPIOPinWrite(GPIOA0_BASE,0x8, 0x0);
上面两句代码分别表示向58号引脚输入高电平,低电平。
附表:
引脚 |
名称 |
模式值 |
信号名称 |
信号说明 |
信号方向 |
50 |
GPIO0 |
0 |
GPIO0(GPIOA0_0) |
GPIO |
输入/输出 |
55 |
GPIO1 |
0 |
GPIO1(GPIOA0_1) |
GPIO |
输入/输出 |
57 |
GPIO2 |