嵌入式呵呵 发表于 2017-4-10 17:03:13

OK6410开发板外部IO端口问题

我用LED灯测试了一下ok6410外部COM中的GPP口和USER中的GPC口,无论程序中是让这个端口输出高电平还是低电平,都不会变化
我用端口的VCC和GND测试LED是亮的,就是接到IO端口上,没反应,IO端口一直是固定的电平,不会变化,无论让他输出高还是低
但是开发板上的LED和按键,用程序测试都能正常工作
我猜想是不是UBOOT中设置了,但是GPP只是一个普通端口,没有复用功能,因此,应该不会
请教哪位大神帮帮忙,这个问题都困扰好几天了

嵌入式呵呵 发表于 2017-4-10 17:13:28

我用裸机程序测试了,也没有反应,用的RVSD这个软件,单步调试,JLINK下载的

嵌入式呵呵 发表于 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();
}

飞凌-chongzi 发表于 2017-4-11 09:44:09

嵌入式呵呵 发表于 2017-4-10 17:16
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatile...

您好:
      硬件是没有问题的,是您写的程序有问题,while循环有逻辑上的错误。

嵌入式呵呵 发表于 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;       
        }
这里后,单步调试等就不会亮灭,一直是灭!

飞凌-chongzi 发表于 2017-4-12 08:47:59

嵌入式呵呵 发表于 2017-4-11 22:16
#define rGPPCON          (*(volatile unsigned *)(0x7F008160))
#define rGPPDAT          (*(volatil ...

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

嵌入式呵呵 发表于 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的驱动程序没,能不能发我一下,我测试一下到底是硬件问题还是我的程序问题。

飞凌-chongzi 发表于 2017-4-12 13:13:07

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

您好:
         建议您联系我们的售后技服,仔细说明问题,让我们的工程师快速帮您解决,以免耽误您的进度。

飞凌-chongzi 发表于 2017-4-12 13:14:52

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

ok6410外部扩展io的驱动程序在内核里是有提供的。
页: [1]
查看完整版本: OK6410开发板外部IO端口问题