[求助] 8962 GPIO 问题

eeleader   2010-6-17 16:16 楼主

在单步调试GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_4|GPIO_PIN_5 );时,看反汇编代码,发现程序根本就在GPIODirModeSet子程序和GPIOPadCongfigSet子程序中不会发生跳转,只要是出现TST指令,下一句指令肯定就是ITE EQ   所以程序就一直顺序执行下去。虽然最后结果方向寄存器结果正确,我还是感觉不太正常。另外,ITE EQ  是什么指令,没有查到相关的信息。或许IO口没有输出就是与此有关??

void delay() //程序延时
{
 int i=500000;
    while(i>0) 
    {
  i--;
   }
}


int
main(void)
{
 int i=0;
 SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_6MHZ);//初始化时钟

 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);//初始化GPIO口PD
 GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE,GPIO_PIN_4|GPIO_PIN_5);//设置PD1,PD2,PD3为输出

     
    while(1)
    {
  GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_4,0xff);
        GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_5,0);
  delay();
  GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_4,0xff);
  GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_5,0);
  i++;
  delay();

 }
}

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复