微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200 Set the pin direction and mode.

CC3200 Set the pin direction and mode.

时间:10-02 整理:3721RD 点击:

HWREG(ulPort + GPIO_O_GPIO_DIR) = ((ulPinIO & 1) ?
                                                         (HWREG(ulPort + GPIO_O_GPIO_DIR) | ucPins) :
                                                         (HWREG(ulPort + GPIO_O_GPIO_DIR) & ~(ucPins)));

请问大神这句话是什么意思?

以及在GPIOPinWrite()里面的这句话HWREG(ulPort + (GPIO_O_GPIO_DATA + (ucPins << 2))) = ucVal;是什么意思。

HWREG 定义如下,剩下的就是给寄存器赋值嘛。

#define HWREG(x)  (*((volatile unsigned long *)(x)))

HWREG(ulPort + GPIO_O_GPIO_DIR) = ((ulPinIO & 1) ?(HWREG(ulPort + GPIO_O_GPIO_DIR) | ucPins) : (HWREG(ulPort + GPIO_O_GPIO_DIR) & ~(ucPins)));

这个就是设置GPIO的方向嘛,通过判断(ulPinIO&1)来设置为输入还是输出

谢谢您,那HWREG(ulPort + (GPIO_O_GPIO_DATA + (ucPins << 2))) = ucVal,ucPins为什么要左移2位呢。

我的MAP_GPIOPinWrite(GPIOA1_BASE,0xe,0);谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top