This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294x的IO口问题

Other Parts Discussed in Thread: TM4C1294NCPDT

    自己画了一块TM4C1294NCPDT的开发板,用的IAR开发环境和J-LINK的SWD下载,目前enet-lwip已经调通,要往其他的IO口发送高或者低电平,发现没有效

果,同样的程序下载到官方的开发板上,可以正常控制IO口的输出,请问下这个和硬件上的哪些器件会有关系呢?我用的无源晶振,官方的是有源晶振,程序的底层

用的是官方的历程。

 

写函数:ROM_GPIOPinWrite(GPIO_PORTP_BASE,GPIO_PIN_2,1);

  • 只是IO控制失效?还是你的开发板其它也跑不起来,先让硬件正常工作先。

    晶振有源和无源没有关系。

  • 开发板的 以太网通讯已经调通了,IO口控制却失败,不知道什么原因了。

  • 把单独控制IO配置信息帖上来,在评估板上这个IO控制是否正常??

  • 这句函数应该是没问题的,你可以试着用GPIOPinWrite(GPIO_PORTP_BASE,GPIO_PIN_2,1)这个函数比如控制一个IO来试试,比如LED。和晶振没关系的,只要程序可以运行,就说明已经起振了。

  • 在我自己的板上不能点亮LED灯,下载到官方的开发板上可以正常点亮,所以觉得可能是硬件哪里出问题了。

  • 同样的程序下载到官方的开发板上,可以正常点亮LED灯,所以我觉得可能是我的开发板硬件上哪里出问题了。

  • 那应该是你的硬件问题,用别的IO测试一下。注意M4中部分IO口是锁定的,需要解锁才能使用。

  • 那么按照我们以前芯片一般的操作,应该是这个样子的
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 1);//点亮LED
    复制代码
    可是,在TM4C中不是这个样子的,这样子是不会点亮LED的,应该是这个样子
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_PIN_1);
    复制代码
    注意:第三个参数和第二个参数相同的时候,才会把该IO输出高电平。
    输出低电平的话,直接写0就可以了,应该是下面这个样子
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0);
     
     
     
    原来是这样子。
  • Bin Zhou6 说:
    那么按照我们以前芯片一般的操作,应该是这个样子的
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 1);//点亮LED
    复制代码
    可是,在TM4C中不是这个样子的,这样子是不会点亮LED的,应该是这个样子
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_PIN_1);
    不会这样写,具体看我们库里的函数说明
    复制代码
    注意:第三个参数和第二个参数相同的时候,才会把该IO输出高电平。
    输出低电平的话,直接写0就可以了,应该是下面这个样子
    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0);
     
     
     
    原来是这样子。

    1. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0); 
    2. GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 1);
    这个写法没错 PF1 输出0或1 
    但是操作以下IO是需要注意的:

    Table 10-1. GPIO Pins With Special Considerations
    Default Reset GPIOAFSEL GPIODEN GPIOPDR GPIOPUR GPIOPCTL GPIOCR
    State
    GPIO Pins
    PC[3:0] JTAG/SWD 1 1 0 1 0x1 0
    PD[7] GPIOa 0 0 0 0 0x0 0
    PE[7] GPIOa 0 0 0 0 0x0 0
    a. This pin is configured as a GPIO by default but is locked and can only be reprogrammed by unlocking the
    pin in the GPIOLOCK register and uncommitting it by setting the GPIOCR register.

  • 这几句话好熟悉,应该是我的帖子吧,哈哈哈哈哈