项目使用了一颗STM32F103VCT6芯片,但该芯片只有一路CAN外设,实际需要是两路。
一路连接到PA11/PA12(CAN复用管脚),一路连接到PD0/PD1(CAN重映射管脚)。
调试时,两路均可以单独收发数据,但在运行过程中进行切换时,两路均无法收发数据,实测也没波形输出,切换时我的处理流程为:
1、上电不对CAN外设和GPIO进行初始化;
2、需要时先对不需要使用的GPIO和CAN外设进行DeInit,然后对需要的GPIO和CAN外设进行Init;
按照上述流程,软件无法正常收发数据,那么我的问题是:
1、单路CAN外设是否可以这么使用?
2、如果能这么使用,我的处理流程是哪里不对呢?应该怎么调整? |