不能发送,也不能接收

2019-07-21 17:58发布

UART0 按照TI的例程配置

SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA);              /*  使能UART0所在的GPIOA端口    */
    SysCtlPeriEnable(SYSCTL_PERIPH_UART0);              /*  使能UART0模块               */

    GPIOPinTypeUART(GPIO_PORTA_BASE ,                   /*  配置PA0和PA1为UART功能      */
                    GPIO_PIN_0 | GPIO_PIN_1);

    UARTConfigSet(UART0_BASE ,
                  9600 ,                                /*  波特率:9600                */
                  UART_CONFIG_WLEN_8 |                  /*  数据位:8                   */
                  UART_CONFIG_STOP_ONE |                /*  停止位:1                   */
                  UART_CONFIG_PAR_NONE);                /*  校验位:无                  */

         UARTEnable(UART0_BASE);   

上面这个配置UART0就可以接收和发送啦,但是UART1如下配置

SysCtlPeriEnable(SYSCTL_PERIPH_GPIOB);              /*  使能UART1所在的GPIOB端口    */
    SysCtlPeriEnable(SYSCTL_PERIPH_UART1);              /*  使能UART1模块               */

     // 下面这两个是增加的,因为PA0,PA1默认为UART0,所以不用加这两个,但是我在DEBUG调试时跟到这个函数里面时,读HWREG(ulBase + GPIO_O_PCTL) 这个值时,都是0,好像写进去的值对这个寄存器没有任何作用,我再去查找LM3S3739 DATASHEET时,发现在DATASHEET时面根本就不存在这个寄存器的地址,也没有相关的介绍,感觉很郁闷,请高手指教,谢谢

GPIOPinConfigure(GPIO_PB0_U1RX);      

GPIOPinConfigure(GPIO_PB1_U1TX);

  GPIOPinTypeUART(GPIO_PORTB_BASE ,                   /*  配置PB0和PB1为UART功能      */
                    GPIO_PIN_0 | GPIO_PIN_1);

    UARTConfigSet(UART1_BASE ,
                  9600 ,                                /*  波特率:9600                */
                  UART_CONFIG_WLEN_8 |                  /*  数据位:8                   */
                  UART_CONFIG_STOP_ONE |                /*  停止位:1                   */
                  UART_CONFIG_PAR_NONE);                /*  校验位:无                  */

         UARTEnable(UART1_BASE);   

上面配置,UART1没有任何动作,不能发送,也不能接收
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。