|
本帖最后由 dontium 于 2015-1-23 13:22 编辑
F2812的板子做好了,用XDSUSB510的仿真也可以正常连接,烧写一个LED的亮灯程序,烧写过程是正常的,所有过程都“Succeeded”的了,但是定位在GPIOE1口的LED灯就是不亮。
硬件方面:+3.3V->100欧电阻->LED->GPIOE1,即176Pin贴片F2812的第151号管脚。
MP/MC接5K1的下拉电阻,SCITXDA管脚悬空。
软件方面:
void IOinit()
{
EALLOW;
//将GIIOF8~GPIOF13配置为一般I/O端口,输出
//当GPADIR=0,相应的GPIO引脚配置成输入;当GPADIR=1,相应的GPIO引脚配置成输出
//当GPAMUX=0时,相应位配置成IO,GPAMUX=1时,相应位配置成功能模块的引脚。
GpioMuxRegs.GPEMUX.all=0x0000;
GpioMuxRegs.GPEDIR.all=0x0007;
//将XNM脚配置成输出,将XINT2配置成输出,将XINT配置成输出,这样可以避免外部中断带来的不确定问题
EDIS;
}
void main(void)
{
int i;
InitSysCtrl();
DINT;
IER=0x0000;
IFR=0x0000;
IOinit();
while(1)
{
GpioDataRegs.GPEDAT.bit.GPIOE1=0;
for(i=0;i<100;i++)
{};
GpioDataRegs.GPEDAT.bit.GPIOE1=1;
for(i=0;i<100;i++)
{};
}
}
如果是CMD文件有问题,为何烧写过程都是OK的?如何是程序有问题,问题在哪呢?
如果是SCITXDA管脚需要外部再拉成高电平的话,可是该管脚已经有了PU,即内部上拉电阻,为什么还要自己拉?硬件上的配置要注意什么呢?
我的板子上没有为SCITXDA设置跳线,也没有为H0 Boot模式设置相应的跳线,所以我认为只能长期烧Flash了。不过Flash也能烧个10万次吧,即使是调试阶段,烧一烧也是无所谓的。
不知我的看法对不对,请高手助一臂之力!
感谢。
|
|