这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 活动中心» 合作大赛» 求助:关于LPC2478的Port2的FGPIO口的问题

共3条 1/1 1 跳转至

求助:关于LPC2478的Port2的FGPIO口的问题

菜鸟
2008-10-31 14:49:05 打赏

本人用LPC2478搭好最小系统之后可以运行部分样例程序了,但是发现把port2的不论配置成外设(如uart和)或FGPIO都不能工作,不知道是哪个寄存器配置不正确还是怎么回事,焊了两个芯片都是一样?有哪位大侠能指点一下!谢谢!
RTC的那个晶振还没有焊,应该没有影响吧!?
以下是我的程序:

int main(void)
{
PINSEL4 =0X00000000;//配置port2引脚为GPIO
FIO2MASK=0X00;//
FIO2DIR = 0XFFFFFFFF; // 配置为输出

while (1)
{
FIO2SET =0xff; //置高
DelayNS(1);

FIO2CLR =0xff; //置底

DelayNS(1);
}

return (0);
}




关键词: 求助 关于 LPC2478 Port2 FGPIO

菜鸟
2008-11-04 10:48:13 打赏
2楼

特将此问题请教ZLG公司的工程师,回复如下:

此用户需要注意ARM7的寄存器均为32位,不可进行“FIO2SET =0xff;”等操作,这样将造成寄存器初始化不确定,出现错误。并且建议用户采用“与”“或”的方式对寄存器的某些位进行改写,目的是防止改写无关位。正确程序如下:
int main(void)
{
PINSEL4 =0X00000000; // 配置port2引脚为GPIO
PINMODE4 = 0x00000000; // 增加模式选择
PINMODE5 = 0x00000000;
FIO2MASK = 0X00000000; // 需要注意所有寄存器操作均为32位,必须全部操作
FIO2DIR = 0XFFFFFFFF; // 配置为输出

while (1)
{
FIO2SET =0xFFFFFFFF; // 需要注意所有寄存器操作均为32位,必须全部操作
DelayNS(10);

FIO2CLR =0xFFFFFFFF; //置低
DelayNS(10);
}

return (0);
}



院士
2008-11-19 10:56:44 打赏
3楼
回答的倒是挺专业的

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]