请问各位老师,怎样操作TMS320VC5502的GPIO口?
Shine:
你好,
请问你具体要操作哪个GPIO口?
vc5502有三种GPIO口(1) 单独的dedicated GPIO口, 不和其他管脚复用.(2) PGPIO口, EMIF, HPI的地址线, 数据线, 控制线用作GPIO口.(3) 一些外设如McBSP, Timer, 可以配成GPIO模式. (1)(2)种GPIO口配置可以参考数据手册第3.12 General-Purpose I/O (GPIO)章节.http://www.ti.com/lit/ds/symlink/tms320vc5502.pdf(3)种情况需要到相应的接口手册查看GPIO模式配置.
yishun wang:
回复 Shine:
您好,是第一种GPIO口。数据手册上只有对寄存器操作,是8个一起操作的。我想就是怎样具体到一个GPIO口的操作(比如给GPIO1赋高电平或低电平)。
Shine:
回复 yishun wang:
可以用逻辑"与"和"或"对寄存器的位进行操作. 如#define IODIR (*(volatile ioport unsigned short*)0x3400)IODIR &=0xfffe; //bit0清0IODIR |=0x1; //bit0置1
yishun wang:
回复 Shine:
老师您好,上面的三条语句的意思是设置GPIO0为输入或者输出功能的意思吧?我想要GPIO0输出高电平或低电平应该怎么写呢?
Shine:
回复 yishun wang:
是的, 你理解正确.
GPIO高低电平输出可配置IODATA寄存器, 具体你可以数据手册第87页对它的定义.你可以根据我前面的例子举一反三, 如GPIO0输出高电平. #define IODIR (*(volatile ioport unsigned short*)0x3400)#define IODATA (*(volatile ioport unsigned short*)0x3401)IODIR |=0x1; //bit0置1IODATA |=0x1; //bit0置1