终于把F1C100s的Keil_纯裸机_触摸屏SD卡驱动都凑齐,可以当作STM32把玩了。在此分享的同时顺便问问F1C100s串口波特率的问题:
/* 配置UART参数115200-8-1-0 */
addr = UART0_REG_BASE;
write32(addr + UART_IER_REG, 0x0);
write32(addr + UART_FCR_REG, 0xf7);
write32(addr + UART_MCR_REG, 0x0);
val = read32(addr + UART_LCR_REG);
val |= (1 << 7);
write32(addr + UART_LCR_REG, val);
write32(addr + UART_DLL_REG, (54 & 0xff)); // APB=100Mhz时div=54,则baud=115200
write32(addr + UART_DLH_REG, ((54 >> 8) & 0xff));
val = read32(addr + UART_LCR_REG);
val &= ~(1 << 7);
write32(addr + UART_LCR_REG, val);
val = read32(addr + UART_LCR_REG);
val &= ~0x3f;
val |= ((0x3 << 0) | (0 << 2) | (0x0 << 3));
write32(addr + UART_LCR_REG, val)
中的
write32(addr + UART_DLL_REG, (54 & 0xff)); // APB=100Mhz时div=54,则baud=115200
write32(addr + UART_DLH_REG, ((54 >> 8) & 0xff));
把数值54改为27时为 230400 波特率,为了和RS485连接,这是F1C100s串口波特率极限了吗?波特率如果有大误差是通信不了的
离线
这不是极限,把54改成7就是921600,我看log常用这个
离线
蹲一个,t113版本,哈哈哈
离线
这不是极限,把54改成7就是921600,我看log常用这个
54改成7后 892857.1 bps,测试结果出现乱码!
考虑到与F1C200S连接芯片的速度取整值:
为 10, = 625000 bps,为 5时, = 1250000bps
25, = 250000 bps
最近编辑记录 435788A (2025-08-06 23:48:40)
离线
892857误差是3%,看log基本问题不大,我没遇到乱码
离线
892857误差是3%,看log基本问题不大,我没遇到乱码
感谢。
分频: 7:892857bps
换个USB串口行了。WCH-LINK-V1.1的不行,全是乱码,WCH-LINKE的可以,CH32V305的,换CH340USB串口收发也正常
离线