打印
[技术问答]

HC32F0CAN的问题

[复制链接]
1385|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Gerrywood|  楼主 | 2022-10-17 22:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
节点ADC采集电压发送给另一节点,结果一段时间后就只发送一个固定的电压值(其实ADC采集出来的电压一直在变化),感觉有点像STM32的CAN FIFO被锁定。请问各位大佬怎么解决这个问题啊,

使用特权

评论回复
沙发
Gerrywood|  楼主 | 2022-10-17 22:46 | 只看该作者
求助,卡了好久了这个问题

使用特权

评论回复
板凳
Gerrywood|  楼主 | 2022-10-17 22:50 | 只看该作者
这是CAN的配置
   //<<CAN 波特率配置
   stcCanInitCfg.stcCanBt.PRESC = 200-1;
    stcCanInitCfg.stcCanBt.SEG_1 = 9-2;
    stcCanInitCfg.stcCanBt.SEG_2 = 7-1;
    stcCanInitCfg.stcCanBt.SJW   = 7-1;

//        stcCanInitCfg.stcCanBt.PRESC = 100-1;
//        stcCanInitCfg.stcCanBt.SEG_1 = 7-2;
//        stcCanInitCfg.stcCanBt.SEG_2 = 5-1;
//        stcCanInitCfg.stcCanBt.SJW   = 5-1;

    stcCanInitCfg.stcWarningLimit.CanErrorWarningLimitVal = 10;
    stcCanInitCfg.stcWarningLimit.CanWarningLimitVal = 16-1;

    stcCanInitCfg.enCanRxBufAll  = CanRxNormal;
    //stcCanInitCfg.enCanRxBufMode = CanRxBufNotStored;
        stcCanInitCfg.enCanRxBufMode = CanRxBufOverwritten;

    stcCanInitCfg.enCanSTBMode   = CanSTBFifoMode;

    CAN_Init(&stcCanInitCfg);

    //<<CAN 滤波器配置
    stcFilter.enAcfFormat = CanStdFrames;
    stcFilter.enFilterSel = CanFilterSel1;
        uint8_t addr = flash_arr[DEVICE_NUMBER_INDEX];
    stcFilter.u32CODE     = addr;//ID CODE 寄存器用于比较接收到 CAN ID
       
    stcFilter.u32MASK     = 0xE000000;//ID MASK 寄存器用于选择比较的 CAN ID 位。对应的 ID MASK 位为 1 时,不比较该位的 ID CODE。
    CAN_FilterConfig(&stcFilter, TRUE);

    //<<Can Irq Enable
    CAN_IrqCmd(CanRxIrqEn, TRUE);
        CAN_IrqCmd(CanBusErrorIrqEn, TRUE);
    EnableNvic(CAN_IRQn, IrqLevel0, TRUE);

89923634d6b71ee4a8.png (59.85 KB )

89923634d6b71ee4a8.png

使用特权

评论回复
地板
caizhiwei| | 2022-10-22 20:52 | 只看该作者
hc32f072这款吗?我目前用的can,没问题,adc还没测试

使用特权

评论回复
5
tpgf| | 2022-11-3 13:46 | 只看该作者
can好像只有接收fifo会被锁定 发送的没有这个功能吧

使用特权

评论回复
6
qcliu| | 2022-11-3 14:14 | 只看该作者
首先需要解决或者说确定的问题就是adc送入fifo的数据是否是正确的

使用特权

评论回复
7
drer| | 2022-11-3 15:35 | 只看该作者
监测看一下ad传输给发送单元的数据是否正常

使用特权

评论回复
8
coshi| | 2022-11-3 15:55 | 只看该作者
在运行ad采集以及can数据传输的过程中还有其他进程运行吗

使用特权

评论回复
9
kxsi| | 2022-11-3 17:09 | 只看该作者
can的配置没有问题的话 是否应该考虑一下缓存是不是溢出了

使用特权

评论回复
10
wiba| | 2022-11-3 17:17 | 只看该作者
这个固定的值 在接收节点能正常收取吗

使用特权

评论回复
11
caizhiwei| | 2022-11-16 21:46 | 只看该作者
caizhiwei 发表于 2022-10-22 20:52
hc32f072这款吗?我目前用的can,没问题,adc还没测试

hc32f072,今天果然入坑了,开启多路ADC采样,结果can数据发不出去

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝