嵌入式开发者社区
标题:
例程点不亮LED0,但是LED0是好的.
[打印本页]
作者:
cl17726
时间:
2017-5-27 09:06
标题:
例程点不亮LED0,但是LED0是好的.
本帖最后由 cl17726 于 2017-5-27 11:12 编辑
我使用GPIO_LedBlink_evmAM572x_armTestProject,然后修改GPIO_evmAM572x_board.c的gpioPinConfigs为如下.
#define GPIO_USER0_LED_PIN_NUM (0x13) /* 创龙默认此处并不是P3_19的参数. */
#define GPIO_USER0_LED_PORT_NUM (0x03)
#define GPIO_USER1_LED_PIN_NUM (0x14)
#define GPIO_USER1_LED_PORT_NUM (0x03)
/* GPIO Driver board specific pin configuration structure */
GPIO_PinConfig gpioPinConfigs[] = {
/* Input pin with interrupt enabled : AM57X_IDK_GRN_LED */
GPIO_DEVICE_CONFIG(GPIO_USER0_LED_PORT_NUM, GPIO_USER0_LED_PIN_NUM) |
GPIO_CFG_OUTPUT, /* 默认这个也不是OUTPUT */
/* Output pin : AM57X_IDK_YEL_LED */
GPIO_DEVICE_CONFIG(GPIO_USER1_LED_PORT_NUM, GPIO_USER1_LED_PIN_NUM) |
GPIO_CFG_OUTPUT,
};
就是P3_19,P3_20都作为输出引脚.并把函数简化成.
void gpio_test(UArg arg0, UArg arg1)
{
/* GPIO initialization */
GPIO_init();
AppDelay(DELAY_VALUE);
GPIO_log("\n GPIO Led Blink Application \n");
while(1)
{
GPIO_toggle(USER_LED0);
GPIO_toggle(USER_LED1);
AppDelay(DELAY_VALUE);
}
}
运行后.
GRP( GPIO3 ).REG( GPIO_OE ) 为 0xFFE7FFFF 就是BIT19,BIT20都已经为0,已经是输出状态.
GRP( GPIO3 ).REG( GPIO_DATAOUT ) 为 0x00180000 就是BIT19,BIT20都已经为1 ,输出高电平,但是只有LED2亮.
[attach]2377[/attach]
是哪里不对呢?我通过Linux下点亮表明LED是正确的.另外如GPIO_toggle这些的说明手册是在哪里的?这个函数名很好理解,但是如果有其他函数而我又不知道呢?
跟踪寄存器发现GRP( CTRL_MODULE_CORE ).GRP( [600 ... 699] ).REG( CTRL_CORE_PAD_VIN1A_D15 )没有改变MUXMODE.但是不知道怎么做才是正确,直接给地址写数据当然可以,但是可读性不好啊.
作者:
human
时间:
2017-5-27 14:26
你现在用的是哪个板子?要根据实际控制的IO去修改控制。
[attach]2380[/attach]
作者:
human
时间:
2017-5-27 14:28
[attach]2381[/attach]
作者:
cl17726
时间:
2017-5-29 14:35
human 发表于 2017-5-27 14:28
我确实给了地址,是EasyEVM,但是只有其中一个寄存器没有改变,其他都改变了,包括OUTPUT所在的寄存器,另外CCS的步入总是进入到OS的函数里面,就不能在函数里面步入?
作者:
riguangdeng
时间:
2017-12-13 13:28
您好,我想问一下您的这个问题解决了吗?我现在也遇到了同样的问题。
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4