8962 GPIO 问题

2019-03-24 16:36发布

在单步调试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();
 }
}
此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章