STM32f103c6t6不能完全代替STM32f103c8t6
设计避障小车过程中因为失误操作损坏了主控板STM32f103c8t6,但实验室没有多余的c8t6只剩下一堆c6t6芯片。由于STM32F103C6T6和STM32F103C8T6都是隶属于STM32F1系列、ARM Cortex-M3内核的微控制器,且有着同样的封装和引脚分布。于是使用C6T6代替C8T6 直接烧录。发现烧录后LED小灯能够正常工作,但巡线和避障这些与电机驱动相关的模块全部无法工作,初步怀疑是电机烧毁或TB6612驱动芯片烧毁。用万能表测量后发现电机模块没有电压,排除电机烧毁。后采用示波器测量C6T6的PB6引脚是否有输出PWM方波,发现C6T6并未输出方波,如图44。
图44 C6T6 PB6示波器图
查阅资料得知C6T6一般情况下可以代替C8T6,但并不能完全通用。相比之下C8T6比C6T6多了一个串口(USART3)、一个定时器(TIM4)、一个串行外设接口(SPI2)、一个I2C(I2C2)、且内存比C6T6大。而之前电机驱动模块设置的就是采用定时器4输出PWM方波来控制小车电机,但C6T6并没有定时器4,所以无法输出方波。
所以我们使用其他芯片来移植程序时,一定要看看芯片的配置