CH32F103常用外设和stm32兼容性测评
1、测试CH32F103替换成stm32F103,常用外设程序兼容性实验
因为CH32F103系列最大flash只有64k,对标的是Stm32F103中等容量的单片机。但是CH32F103的flash扇区只有1K,所以需要修改flash相关的操作,另CH32F103没有定时器5,如果用到了定时器5需要修改下,总的来说CH32f103是stm32F103系列中等容量和互联型Stm32F105的结合体。CH32F103flash烧写算法STM32f103烧写算法不一致,所以不能直接用keil stm32工程直接烧录,需要将烧写算法配置成CH32F1xx flash。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TUyImdkJzYwRWbiZnTzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuUDNxEjM1QTM2IzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
直接修改原stm32工程,将flash地址,和扇区修改成1k,烧写到板子中测试,结果 IIC不能正常工作,其他外设都能正常工作。使用示波器抓包分析,得出结论:在CH32IIC外设初始化之前总线上有数据那么CH32IIC就会进入BUSY状态,卡死不能操作,反之即可正常工作。通过一些改动最后IIC也成功跑了起来,外设兼容性表格如下所示。
外设 | 兼容性 |
---|---|
IO | √ |
ADC | √ |
DAC | √ |
UART | √ |
IIC | O |
DMA | √ |
flash | √ |
SysTick | √ |
TIME | √ |
UUID | √ |
2、总结
总得来说程序兼容很是不错的,用的STM32工程没有移植,唯一有差别的就是IIC,不过问题也不大。不足之处就是flash太小,程序烧写算法和STM32不兼容,如果量产还需要另做烧写器。兼容性就测试到这了,剩下就是烤机了,看看这个芯片的稳定性 一致性怎么样了,好了我能帮大家趟的雷就这么多了,有更多问题欢迎留言。