如题,
按Data Sheet上的要求,已经将External Bus Selection Register上的Parallel Port Mode bit配置为00(或01)。如何配置接口寄存器,包括使能,设置输入或输出。
API是哪个?
我尝试了
……
GPIO_FSET(AGPIOEN,IO8,1); //使能
GPIO_FSET(AGPIODIR,IO8DIR,1); //设置方向为输出
……
但是调试没有成功,请问这两个API使用的正确吗?
Shine:
parallel port mode bit配置成00还是01?01的话,address pin不能做GPIO管脚功能。
Fangbin Dong:
回复 Shine:
00或11,我写错了。
按Data Sheet里的描述,00或11都可以
Shine:
回复 Fangbin Dong:
这两句看着没问题。
你看一下执行后,ESBR, AGPIOEN, AGPIODIR的值是否是设置的值?
Shine:
回复 Shine:
或者你直接写AGPIOEN, AGPIODIR看是否能写进去?
Fangbin Dong:
回复 Shine:
恩,这两个寄存器对应的管脚位的值都是正确的,使能和方向都是1。但是,调试结果还是不对。
Fangbin Dong:
回复 Shine:
拉高和拉低语句我是这样写的:
……
GPIO_FSET(AGPIODATA,IO8D,0); delay(); GPIO_FSET(AGPIODATA,IO8D,1);
……
应该也没有问题吧?
Shine:
回复 Fangbin Dong:
AGPIODATA寄存器里写了吗?调试结果具体怎么不对?
Fangbin Dong:
回复 Shine:
我是将对应的引脚连接了一个LED灯,写了一个简单的循环程序来让LED灯闪烁。 之前在另一个帖子里问了你如何将C7配置成GPIO,调试时就是用的这个闪烁程序和LED灯。
Shine:
回复 Fangbin Dong:
量过GPIO管脚的电平吗?
Fangbin Dong:
回复 Shine:
量过了
把管脚配置成高电平输出以后,用万用表量显示为0V。
但是我读AGPIODATA寄存器里对应的管脚状态值(IO8D)是,显示的是1。
是不是我的管脚焊接有问题?