TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP6713 GPIO程序

工程师您好,我在调适DSP6713时用到GPIO口,板子是在GPIO[7]接了一个LED,按照下面程序不知道为什么没有实现LED一亮一灭。开发环境CCS3.3.

还有就是不知道GPIO_open函数中GPIO_DEV0什么意思,不知道能不能解释一下,谢谢!

/* Set GPIO. */
hGpio = GPIO_open(GPIO_DEV0,GPIO_OPEN_RESET);
GPIO_reset(hGpio);

GPIO_pinEnable(hGpio,GPIO_PIN7);
GPIO_pinDirection(hGpio,GPIO_PIN7,GPIO_OUTPUT);
while(1)
{
GPIO_pinWrite(hGpio,GPIO_PIN7,0);
DSP6713_wait(0xfffff);
GPIO_pinWrite(hGpio,GPIO_PIN7,1);
DSP6713_wait(0xfffff);
}

Shine:

程序感觉没什么问题,运行完程序后,看一下GPIO各个寄存器的值是否和配置的一样。量一下GPIO7管脚,在拉高拉低时有没有输出高,低电平。GPIO_DEV0表示chaNum GPIO channel to open,这在CSL API文档里有描述。 http://www.ti.com/lit/pdf/spru401

dong sun:

回复 Shine:

您好,谢谢您,我找到原因了,是因为我把while循环前的几句配置语句重复写了两遍,不知为什么写了两遍就不对了。

还有个小问题想问一下,附图是文档里说GPIO_open函数的chaNum是GPIO channel to open,可是这句GPIO_pinEnable(hGpio,GPIO_PIN7);是选择IO口的,那GPIO_open中的GPIO_DEV0是指什么channel,有没有GPIO_DEV1?

另外一个问题,我查看了GPIO的寄存器,发现全是0,查看EMIF的寄存器是有值的,而且有一个寄存器值在变化。GPIO的寄存器值看不了,是仿真器的原因吗?还是我没有设置好?

Shine:

回复 dong sun:

1. 如果你看csl6000.src源代码的话,下面的宏定义就不难理解了,所以对于C6713而言,只定义了GPIO_DEV0

/* Macro define devices */

#define GPIO_DEV0 0

#if CHIP_DA610

#define GPIO_DEV1 1

#endif2. 是不是仿真器的问题,你可以通过memory view查看或者用程序回读一下GPIO寄存器的值。

 

赞(0)
未经允许不得转载:TI中文支持网 » DSP6713 GPIO程序
分享到: 更多 (0)