LM4F232H5QD的UART1与UART0初始化配置难道不一样??

2019-03-24 11:06发布

LM4F232H5QD的UART1初始化后TX的状态不对,一直没有输出数据?   UART0 测试收发都正常。改成UART1就不行。端口由PA0、PA1改成PC4、PC5。 不知有没有高手遇到过?  此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
hui370
1楼-- · 2019-03-24 18:49
还没见到M4呢 楼主已经开始着手实践了啊
Study_Stellaris
2楼-- · 2019-03-24 23:02
 精彩回答 2  元偷偷看……
chengtoby
3楼-- · 2019-03-24 23:17
终于找到了,原来跟M3一样,配置UART0的话 会默认为UART0功能,其他的UART口需要将IO外设功能设为UART才能有效!
0nline
4楼-- · 2019-03-24 23:29
我也遇到这个问题了,可是还不知道如何解决,求教!
神箭快快
5楼-- · 2019-03-25 00:38
 精彩回答 2  元偷偷看……
chengtoby
6楼-- · 2019-03-25 03:45
贴上我的代码,自己看去吧!
int main(void)
{

    // 设置系统时钟工作在16M;
    ROM_SysCtlClockSet(SYSCTL_SYSDIV_1 |
                            SYSCTL_USE_OSC |
                                           SYSCTL_OSC_MAIN |
                      SYSCTL_XTAL_16MHZ);
        //使能PC口;
        ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
        ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);

        GPIODirModeSet(GPIO_PORTJ_BASE,LED1,GPIO_DIR_MODE_OUT);
        GPIODirModeSet(GPIO_PORTJ_BASE,LED2,GPIO_DIR_MODE_OUT);

        GPIOPinWrite(GPIO_PORTJ_BASE,LED2,LED2);

        //输出电流强度为2mA;
        GPIOPadConfigSet(GPIO_PORTJ_BASE,LED1,
                            GPIO_STRENGTH_2MA,
                       GPIO_PIN_TYPE_STD_WPU);
                                  
        //输出电流强度为2mA;
        GPIOPadConfigSet(GPIO_PORTJ_BASE,LED2,
                            GPIO_STRENGTH_2MA,
                       GPIO_PIN_TYPE_STD_WPU);                                                                   
        //使能UART1模块;                                          
    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);                                          
   
        //设置PC4、PC5工作在UART模式;
        ROM_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_5);                  

     //设置PC4口为UART功能;
     GPIOPinConfigure(GPIO_PC4_U1RX);
         //设置PC5口为UART功能;                                                                      
         GPIOPinConfigure(GPIO_PC5_U1TX);                                                                          

   
    // 配置UART波特率为9600,数据位8位,停止位1位,无校验位;   
         UARTConfigSet(UART1_BASE,9600,                                       
                          UART_CONFIG_WLEN_8 |                                                 
                          UART_CONFIG_STOP_ONE |                                                         
                          UART_CONFIG_PAR_NONE);
   
        //使能UART1模块;
    ROM_UARTEnable(UART1_BASE);
                                                                                       
           //使能UART1中断;
        ROM_IntEnable(INT_UART1);                                                                                       

        //启动UART接收中断和超时中断;
    ROM_UARTIntEnable(UART1_BASE, UART_INT_RX);
   
    // 发送字符串 Hello M4 ;   
   // UARTSend((unsigned char *)"Hello M4 ", 12);
   
        //开启总中断;
    ROM_IntMasterEnable();                                                                          

    //等待接收串口数据;   
    while(1)

一周热门 更多>

相关问题

    相关文章