完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好:
我在做一个串口升级工具,上位机已经验证串口波特率设置到1500000没问题,下位机设置超过1000000(1000000以及以内的波特率都没问题)串口就发送都发送不出去,我系统时钟配置成16000000;看到M4的驱动库里UARTConfigSetExpClk函数if((ui32Baud * 16) > ui32UARTClk)有判断这个条件时必须开启HSE高速模式,我也加上了,但是还是有问题,由于是直接改bootloader的代码,基本上都是直接操作寄存器,现将串口初始化代码贴上: #define UART_FIXED_BAUDRATE 1500000 #define CRYSTAL_FREQ 16000000 HWREG(SYSCTL_RCGCGPIO) |= (UART_RXPIN_CLOCK_ENABLE | UART_TXPIN_CLOCK_ENABLE); HWREG(SYSCTL_RCGCUART) |= UART_CLOCK_ENABLE; HWREG(UART_RXPIN_BASE + GPIO_O_AFSEL) |= UART_RX; HWREG(UART_RXPIN_BASE + GPIO_O_PCTL) |= UART_RX_PCTL; HWREG(UART_RXPIN_BASE + GPIO_O_ODR) &= ~(UART_RX); HWREG(UART_RXPIN_BASE + GPIO_O_DEN) |= UART_RX; HWREG(UART_TXPIN_BASE + GPIO_O_AFSEL) |= UART_TX; HWREG(UART_TXPIN_BASE + GPIO_O_PCTL) |= UART_TX_PCTL; HWREG(UART_TXPIN_BASE + GPIO_O_ODR) &= ~(UART_TX); HWREG(UART_TXPIN_BASE + GPIO_O_DEN) |= UART_TX; HWREG(UARTx_BASE + UART_O_CC) = UART_CLOCK_SYSTEM; // // Set the baud rate. // if(UART_FIXED_BAUDRATE*16 > CRYSTAL_FREQ) [ // // Enable high speed mode. // HWREG(UARTx_BASE + 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. // ui32ProcRatio = UART_BAUD_RATIO(UART_FIXED_BAUDRATE/2); ] HWREG(UARTx_BASE + UART_O_IBRD) = ui32ProcRatio >> 6; HWREG(UARTx_BASE + UART_O_FBRD) = ui32ProcRatio & UART_FBRD_DIVFRAC_M; // // Set data length, parity, and number of stop bits to 8-N-1. // HWREG(UARTx_BASE + UART_O_LCRH) = UART_LCRH_WLEN_8 | UART_LCRH_FEN; HWREG(UARTx_BASE + UART_O_FR) = 0; // Enable RX, TX, and the UART. // HWREG(UARTx_BASE + UART_O_CTL) |= (UART_CTL_UARTEN | UART_CTL_TXE | UART_CTL_RXE); 调试我在循环发送0xAA0X55字符串,结果是当波特率超过1000000,都会挂在while(!(HWREG(UARTx_BASE + UART_O_FR) & UART_FR_TXFE))这个循环出不来,数据也没发送出去。 想请教下,当想使用高速的波特率时该怎样配置才能正常使用? |
|
相关推荐
5 个讨论
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1888 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3641 浏览 4 评论
5027 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1732 浏览 1 评论
9351 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
664浏览 2评论
707浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
668浏览 1评论
1186浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1189浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-18 04:51 , Processed in 0.656748 second(s), Total 69, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号