完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
在使用超级终端Tera Team软件调试CC3200 UART示例程序时,界面总是输出乱码。
参考了另外一篇博客之后,提出有可能是波特率设置的问题。在设置里面,发现设置的波特率为9600bit/s。 void UARTConfigSetExpClk(unsigned long ulBase, unsigned long ulUARTClk, unsigned long ulBaud, unsigned long ulConfig) { unsigned long ulDiv; // // Check the arguments. // ASSERT(UARTBaseValid(ulBase)); ASSERT(ulBaud != 0); // // Stop the UART. // UARTDisable(ulBase); // // Is the required baud rate greater than the maximum rate supported // without the use of high speed mode? // if((ulBaud * 16) > ulUARTClk) { // // Enable high speed mode. // HWREG(ulBase + UART_O_CTL) |= UART_CTL_HSE; // // Half the supplied baud rate to compensate for enabling high speed // mode. This allows the following code to be common to both cases. // ulBaud /= 2; } else { // // Disable high speed mode. // HWREG(ulBase + UART_O_CTL) &= ~(UART_CTL_HSE); } // // Compute the fractional baud rate divider. // ulDiv = (((ulUARTClk * 8) / ulBaud) + 1) / 2; // // Set the baud rate. // HWREG(ulBase + UART_O_IBRD) = ulDiv / 64; HWREG(ulBase + UART_O_FBRD) = ulDiv % 64; // // Set parity, data length, and number of stop bits. // HWREG(ulBase + UART_O_LCRH) = ulConfig; // // Clear the flags register. // HWREG(ulBase + UART_O_FR) = 0; // // Start the UART. // UARTEnable(ulBase); } 上面是CC3200 SDK提供的API函数,主要是为了配置UART接口,其中函数第三个参数ulBaud就是指波特率。 void InitTerm() { #ifndef NOTERM MAP_UARTConfigSetExpClk(CONSOLE,MAP_PRCMPeripheralClockGet(CONSOLE_PERIPH), UART_BAUD_RATE, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); #endif __Errorlog = 0; } 上面是主函数里的初始化终端函数,就是引用了UAET的API函数对UART进行初始化,我们看到第三个参数为UART_BAUD_RATE,这个就是波特率。这是一个宏定义,我们去找找它定义为了多少。 #define UART_BAUD_RATE 115200 #define SYSCLK 80000000 #define CONSOLE UARTA0_BASE #define CONSOLE_PERIPH PRCM_UARTA0 在uart_if.h这个头文件,可以发现波特率被设置为了115200。接下来我们去修改超级终端的波特率,重新运行,发现乱码问题已经解决了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1081浏览 3评论
561浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
554浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2290浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1849浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 02:29 , Processed in 0.479934 second(s), Total 75, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号