[技术问答] 新唐M0516的P47脚不能配为输出IO?

[复制链接]
1314|4
 楼主| lujiancnc 发表于 2015-1-6 13:30 | 显示全部楼层 |阅读模式
测试程序如下:

        system_init();
        device_init();
        
        P4_MFP=0;            //配置P4口为IO引脚
        P4_PMD=0x5000;  //P4.7及P4.6为输出
        
        P4_DOUT = 0xF0;

        for(;;) {}

电路上电前,将仿真器拨掉。
电路上电后,用万用表直接测量P47及P46引脚,当现P47/ICE_DAT一直为零,P46/ICE_CLK为高。

请问是哪里有问题?P47是不是不能象手册上写的配成IO脚?
gaoyang9992006 发表于 2015-1-6 17:07 | 显示全部楼层
楼主配置写错了吧
niuyaliang 发表于 2015-1-6 17:34 | 显示全部楼层
肯定是可以的,由于涉及到下载接口的操作
1.你确认你的程序是否下载进去,程序中点亮LED试试
2.建议用库操作试试,你的P4_MFP=0; 这句把其他IO都置零了,是否造成了影响,只操作一个位,无关的IO不要操作
 楼主| lujiancnc 发表于 2015-1-6 19:29 | 显示全部楼层
我将程序改为以下格式:

                         P4_MFP &= ~((1<<6)|(1<<14));
                         P4_MFP &= ~((1<<7)|(1<<15));
                         P4_PMD=0x5000;  //10 01 00 00 00 00 00 00

                         P4_DOUT = 0xF0;//以及   P4_DOUT = 0x0;
                        for(;;) {}

1)程序肯定下载进去运行了,因为我分别测试了P4_DOUT = 0xF0;//以及   P4_DOUT = 0x0;发现P46引脚能输出高低电平,但P47引脚一直为低电平;

2)库操作我也试过:P47_DOUT=1;P47_DOUT=0;P46_DOUT=1;P46_DOUT=0;发现现象一样,P46输出可控,但P47输出一直为零。

最好能有调试过此P4.7功能的高手给我讲解下,为啥就P47不能配成IO输出。

lvyunhua 发表于 2015-1-6 20:54 | 显示全部楼层
本帖最后由 lvyunhua 于 2015-1-6 21:10 编辑

首先确认硬件有问题没有,P47驱动负载是否过大,
然后再看配置是否按照手册要求配置,

P4_MFP &= ~((1<<7)|(1<<15));  
P4_MFP &= ~((1<<6)|(1<<14));

P4_PMD=0x5000;  //10 01 00 00 00 00 00 00

P4_DOUT = 0xF0;//以及   P4_DOUT = 0x0;
for(;;) {}

具体看下这个:https://bbs.21ic.com/forum.php?mo ... %3D65%26typeid%3D65
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部