嵌入式爱好者

查看: 14814|回复: 8

[硬件咨询] OK6410开发板外部IO端口问题

[复制链接]

2

主题

8

帖子

15

积分

扫一扫,手机访问本帖
发表于 2017-4-10 17:03:13 | 显示全部楼层 |阅读模式
我用LED灯测试了一下ok6410外部COM中的GPP口和USER中的GPC口,无论程序中是让这个端口输出高电平还是低电平,都不会变化
我用端口的VCC和GND测试LED是亮的,就是接到IO端口上,没反应,IO端口一直是固定的电平,不会变化,无论让他输出高还是低
但是开发板上的LED和按键,用程序测试都能正常工作
我猜想是不是UBOOT中设置了,但是GPP只是一个普通端口,没有复用功能,因此,应该不会
请教哪位大神帮帮忙,这个问题都困扰好几天了
回复

使用道具 举报

2

主题

8

帖子

15

积分

 楼主| 发表于 2017-4-10 17:13:28 | 显示全部楼层
我用裸机程序测试了,也没有反应,用的RVSD这个软件,单步调试,JLINK下载的
点评回复 支持 反对

使用道具 举报

2

主题

8

帖子

15

积分

 楼主| 发表于 2017-4-10 17:16:14 | 显示全部楼层
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatile unsigned *)(0x7F008164))
#define rGPPPUD          (*(volatile unsigned *)(0x7F008168))



void msDelay(int time)
{
            volatile unsigned int i,j;
            for(i = 0; i < 2000000; i++)
                    for(j=0; j<time; j++);
}


void GPIO_Init(void)
{
        rGPPCON  = 0x11111;
    rGPPPUD  = 0x00;
    rGPPDAT  = 0X1F;
}

void LedTest(void)
{
        volatile unsigned int i;
        rGPPDAT  = 0x0;
}
void Main(void)
{
        GPIO_Init();
        while(1)
        LedTest();
}

点评

#define rGPPCON (*(volatile unsigned *)(0x7F008160)) #define rGPPDAT (*(volatile unsigned *)(0x7F008164)) #define rGPPPUD (*(volatile unsigned *)(0x7F008168)) void GPIO  详情 回复 发表于 2017-4-11 22:16
点评回复 支持 反对

使用道具 举报

1

主题

3670

帖子

4177

积分

发表于 2017-4-11 09:44:09 | 显示全部楼层
嵌入式呵呵 发表于 2017-4-10 17:16
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatile  ...

您好:
        硬件是没有问题的,是您写的程序有问题,while循环有逻辑上的错误。
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

2

主题

8

帖子

15

积分

 楼主| 发表于 2017-4-11 22:16:11 | 显示全部楼层
嵌入式呵呵 发表于 2017-4-10 17:16
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatile  ...

#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatile unsigned *)(0x7F008164))
#define rGPPPUD          (*(volatile unsigned *)(0x7F008168))

void GPIO_Init(void)
{
         rGPPCON  = 0x11111;
    rGPPPUD  = 0x00;
    rGPPDAT  = 0X1F;
}

void LedTest(void)
{

        while(1)
        {
                rGPPDAT  =  00;
                rGPPDAT  =  11;       
        }
               


}
void Main(void)
{
        GPIO_Init();
        LedTest();
}
我用单步调试的,用的P1口,插上led灯以后,灯亮,然后单步执行到 rGPPCON  = 0x11111;这句灯就灭了,这句不就设置了输出模式吗,为什麽等会灭,患有执行到
while(1)
        {
                rGPPDAT  =  00;
                rGPPDAT  =  11;       
        }
这里后,单步调试等就不会亮灭,一直是灭!
点评回复 支持 反对

使用道具 举报

1

主题

3670

帖子

4177

积分

发表于 2017-4-12 08:47:59 | 显示全部楼层
嵌入式呵呵 发表于 2017-4-11 22:16
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatil ...

您好:
        您是不是没有申请gpio端口?

点评

您好!我说一下我的具体调试情况吧, 首先上面的那个是裸机程序,那个需要申请IO吗?裸机不是直接物理地址,设置输出,上下啦,和具体的DATA值就行了吗? 其次,我用裸机程序调试了ADC1口,ADC是正常的, 然后我  详情 回复 发表于 2017-4-12 12:28
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

2

主题

8

帖子

15

积分

 楼主| 发表于 2017-4-12 12:28:58 | 显示全部楼层
飞凌-chongzi 发表于 2017-4-12 08:47
您好:
        您是不是没有申请gpio端口?

您好!我说一下我的具体调试情况吧,
首先上面的那个是裸机程序,那个需要申请IO吗?裸机不是直接物理地址,设置输出,上下啦,和具体的DATA值就行了吗?
其次,我用裸机程序调试了ADC1口,ADC是正常的,
然后我又用飞凌内核3.0.1自带SPI程序测试程序测试了SPI,也是正常的,但是换成spi接口的oled,一接上,后面的电阻烫手,oled是没问题的,用的是oled的驱动程序,程序可能有问题,但是,模块一节上就发热,都没安装驱动。
最后裸机程序是用的可以让开发板上LED灯亮的程序,我只是把gpm换成了gpp口,不应该就不能用了吧
老师,您有ok6410外部扩展io的驱动程序没,能不能发我一下,我测试一下到底是硬件问题还是我的程序问题。
点评回复 支持 反对

使用道具 举报

1

主题

3670

帖子

4177

积分

发表于 2017-4-12 13:13:07 | 显示全部楼层
嵌入式呵呵 发表于 2017-4-12 12:28
您好!我说一下我的具体调试情况吧,
首先上面的那个是裸机程序,那个需要申请IO吗?裸机不是直接物理地 ...

您好:
         建议您联系我们的售后技服,仔细说明问题,让我们的工程师快速帮您解决,以免耽误您的进度。
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

1

主题

3670

帖子

4177

积分

发表于 2017-4-12 13:14:52 | 显示全部楼层
飞凌-chongzi 发表于 2017-4-12 13:13
您好:
         建议您联系我们的售后技服,仔细说明问题,让我们的工程师快速帮您解决,以免耽误您的 ...

ok6410外部扩展io的驱动程序在内核里是有提供的。
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-20 14:31

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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