例程点不亮LED0,但是LED0是好的. - AM57x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4479|回复: 4

[已解决] 例程点不亮LED0,但是LED0是好的.

[复制链接]

9

主题

24

帖子

8万

积分

金牌会员

Rank: 6Rank: 6

积分
82453
发表于 2017-5-27 09:06:53 | 显示全部楼层 |阅读模式
本帖最后由 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亮.



是哪里不对呢?我通过Linux下点亮表明LED是正确的.另外如GPIO_toggle这些的说明手册是在哪里的?这个函数名很好理解,但是如果有其他函数而我又不知道呢?
跟踪寄存器发现GRP( CTRL_MODULE_CORE ).GRP( [600 ... 699] ).REG( CTRL_CORE_PAD_VIN1A_D15 )没有改变MUXMODE.但是不知道怎么做才是正确,直接给地址写数据当然可以,但是可读性不好啊.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
发表于 2017-5-27 14:26:19 | 显示全部楼层

你现在用的是哪个板子?要根据实际控制的IO去修改控制。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
发表于 2017-5-27 14:28:04 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

9

主题

24

帖子

8万

积分

金牌会员

Rank: 6Rank: 6

积分
82453
 楼主| 发表于 2017-5-29 14:35:35 | 显示全部楼层

我确实给了地址,是EasyEVM,但是只有其中一个寄存器没有改变,其他都改变了,包括OUTPUT所在的寄存器,另外CCS的步入总是进入到OS的函数里面,就不能在函数里面步入?
回复 支持 反对

使用道具 举报

4

主题

11

帖子

1152

积分

金牌会员

Rank: 6Rank: 6

积分
1152
发表于 2017-12-13 13:28:20 | 显示全部楼层
您好,我想问一下您的这个问题解决了吗?我现在也遇到了同样的问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 20:47 , Processed in 0.038970 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表