主機采用CH32V307RCT6 運行于(125MHz),? 從機采用STM32F103, 運行于(72MHz),? ?設(shè)置一個波特率,如115200, 會出現(xiàn)兩者都有一定的 誤差。? ?主機CH32V與從機STM32的發(fā)送接收均采用? DMA,? ?主機CH32V通過 modbus讀取 STM32F103的數(shù)據(jù), 當(dāng)讀取寄存器個數(shù)在 30個以內(nèi)時,? 基本不出現(xiàn)失敗,? 當(dāng)讀取寄存器個數(shù)在 120個時, 出現(xiàn)失敗的概率很高。? ?為了進一步測試, 主機CH32V發(fā)送采用一個串口(設(shè)置停止位為2個),? 接收采用另一個串口(設(shè)置停止位為1個)。? ? STM32停止位設(shè)置位1.5個。 這種配置對 CH32V的接收 是最友好的, 可是依然會出現(xiàn)失敗概率, 會低很多。
STM32是批量產(chǎn)品, 穩(wěn)定工作了很多年了。? ?抓示波器波形,? 發(fā)現(xiàn)stm32每次都返回數(shù)據(jù),? CH32V調(diào)試發(fā)現(xiàn) CRC錯誤或 少數(shù)據(jù)。? ?當(dāng)波特率達到 2M時,? CH32V更是 有 40%以上的錯誤。? ? 感覺CH32V串口的重同步機制有 BUG,? ? 芯片的errata哪里可以下載