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