微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > 工程需要我用到CC3200两个串口,我如下修改了UART_DEMO例程,请TI技术支持务必支援

工程需要我用到CC3200两个串口,我如下修改了UART_DEMO例程,请TI技术支持务必支援

时间:10-02 整理:3721RD 点击:

uart_demo中默认用PIN55和PIN57作为UART0_TX和UART0_RX,我现在要拓展多一个串口,该串口为UART1,我查看了引脚的规格书,里面说PIN1和PIN2的模式7对应是UART1_TX和UART1_RX。我对uart_demo例程作如下修改,但打开第二个终端还是没显示信息,望TI技术支持指点

--->修改PinMuxConfig(),里面添加多几行代码如下

         MAP_PRCMPeripheralClkEnable(PRCM_UARTA1, PRCM_RUN_MODE_CLK);
    MAP_PRCMPeripheralClkEnable(PRCM_GPIOA2, PRCM_RUN_MODE_CLK);
    MAP_PRCMPeripheralClkEnable(PRCM_GPIOA3, PRCM_RUN_MODE_CLK);

    //
    // Configure PIN_16 for GPIOA2 GPIO23
    //
    MAP_PinTypeGPIO(PIN_16, PIN_MODE_0, false);
    MAP_GPIODirModeSet(GPIOA2_BASE, 0x80, GPIO_DIR_MODE_OUT);

    //
    // Configure PIN_17 for GPIOA3 GPIO24
    //
    MAP_PinTypeGPIO(PIN_17, PIN_MODE_0, false);
    MAP_GPIODirModeSet(GPIOA3_BASE, 0x1, GPIO_DIR_MODE_OUT);

    //
    // Configure PIN_01 for UART1 UART1_TX
    //
    MAP_PinTypeUART(PIN_01, PIN_MODE_7);

    //
    // Configure PIN_02 for UART1 UART1_RX
    //
    MAP_PinTypeUART(PIN_02, PIN_MODE_7);

因为规格书提示说要复用引脚,得将复用功能的默认引脚设置为其他模式,而PIN16和PIN17默认为UART1,但我要用PIN1和PIN2作为UART1,所以将PIN16和PIN17设置为GPIO,它们对应GPIO23和GPIO24

---->增添初始化终端的函数

        /**Initialising the new Terminal**/
    MAP_UARTConfigSetExpClk(CONSOLE_YU,MAP_PRCMPeripheralClockGet(CONSOLE_PERIPH_YU),
                    UART_BAUD_RATE, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
                     UART_CONFIG_PAR_NONE));

其中宏CONSOLE_YU和CONSOLE_PERIPH_YU是我自己定义的

#define CONSOLE_YU           UARTA1_BASE
#define CONSOLE_PERIPH_YU    PRCM_UARTA1

----->清空新的终端    /**Clearing the new Terminal**/
                                       ClearTerm_yu();

void ClearTerm_yu()
{
    {
        Message_yu("\33[2J\r");
    }
}

其中Message_yu是我根据Message稍作修改

void Message_yu(const char *str)
{
    if(str != NULL)
    {
        while(*str!='\0')
        {
            MAP_UARTCharPut(CONSOLE_YU,*str++);
        }
    }
}

------>最后我在main函数中添加多一句

      Message_yu("hello\n\r");

问题来了,我确定自己USB转串口的引脚没接错,但打开新的终端,该终端对应UART1,但并没有打印出hello

是我程序哪里有问题吗?还是其他问题?

    

http://www.deyisupport.com/question_answer/wireless_connectivity/wifi/f/105/t/77439.aspx

参考这个贴的回复。你那个将UART1的硬件时钟打开,使能时钟信号

另外下载这个软件配置比较方便

http://processors.wiki.ti.com/index.php/TI_PinMux_Tool?keyMatch=CC3200%20Pinmux&tisearch=Search-CN-Everything

我又看了一遍你的代码貌似没有问题,查看一下硬件看看。是不是硬件哪儿没有接对。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top