|
项目使用了一颗STM32F103VCT6芯片,但该芯片只有一路CAN外设,实际需要是两路。 一路连接到PA11/PA12(CAN复用管脚),一路连接到PD0/PD1(CAN重映射管脚)。 调试时,两路均可以单独收发数据,但在运行过程中进行切换时,两路均无法收发数据,实测也没波形输出,切换时我的处理流程为: 1、上电不对CAN外设和GPIO进行初始化; 2、需要时先对不需要使用的GPIO和CAN外设进行DeInit,然后对需要的GPIO和CAN外设进行Init; 按照上述流程,软件无法正常收发数据,那么我的问题是: 1、单路CAN外设是否可以这么使用? 2、如果能这么使用,我的处理流程是哪里不对呢?应该怎么调整? |
STM32F103C8T6如何将变量定义到指定地址
STM32F103 做的USB CDC 串口调试助手打不开
DSP傅里叶变换如何在f103CBT6上使用
在 STM32CubeIDE 中正确设置 STM32F103C8T6 的 Flash 容量
咨询下,新项目打算用STM32F103的USB与工控机或PAD进行通讯,问题如下
STM32F103 串口下载ST Flash Loader Demo
请问一下STM32F103C8T6的Hardwar NSS Output ENABLE后cs持续拉低是为什么
foc2.0函数SVPWM_3ShuntCalcDutyCycles看不明白
F103的IIC支持高速400K频率吗?
STM32F103RCT6断电以后,ADC会漏电
微信公众号
手机版
从理论上分析,如果单独执行不同的CAN初始化可以使用。建议仿真模式下,看一下寄存器的状态,通过寄存器状态判断一下,当前是哪里出错了。
[md]很奇怪,在做管脚选择的时候,下面图中箭头部分的代码没有执行。
[md]关闭优化等级试试。
楼主这个有没有解决,我也遇到同样的问题,使用的两路CAN(一路PA11,PA12,另外一路PB8,PB9),两路单独收发都正常,切换的时候就有故障(切换设置为映射PB8,9为发送正常,接收使用的PA11,12异常)。
配置和楼主差不多,也是使用哪一路初始化那一路。每次配置之前先deinitCAN。
[md]我加了强制复位,再释放复位,之后再重新初始化,就可以了。