ad医学上是什么意思| 拔冗是什么意思| 嗓子发炎是什么原因引起的| 鸡是什么类| 打嗝什么原因| 腹部疼痛挂什么科| 海南的海是什么海| 生化妊娠是什么原因导致的| 癫痫是什么| 肾阳虚女性什么症状| 血糖高忌吃什么| 就这样吧是什么意思| 双肺索条灶是什么意思| 梦见手表是什么意思| 喝水牙疼是什么原因| 小号避孕套是什么尺寸| 钡餐检查能查出什么| 布丁是用什么做的| 基因突变是什么病| 起水痘不能吃什么食物| 突然流鼻血是什么征兆| t1什么意思| 小厮是什么意思| 肺肿了是什么病严重吗| 家乡是什么意思| 克服是什么意思| 马的贵人是什么生肖| 虎头什么尾| 什么鸟好养又与人亲近| 2024年属龙的是什么命| 蚕长什么样| 女人右手断掌代表什么| 三界是什么意思| 一血是什么意思| 突然想吐是什么原因| 看胃挂什么科室| 浮肿是什么原因| 衣字旁的字和什么有关| 气短咳嗽是什么原因引起的| 什么可以补气血| 外阴瘙痒吃什么药| 肛门里面痒是什么情况| 一什么方法| 1985年是什么年| 支气管炎吃什么药最好| 闷骚男是什么意思| 稀奶油是什么| 滴度是什么意思| 为什么突然对鸡蛋过敏| 胆固醇低是什么原因| 抽脂手术对身体有什么副作用| 检验葡萄糖用什么试剂| 什么的衣裳| 黑发晶五行属什么| 鹿鞭泡酒有什么功效| 大云是什么烟| 25是什么生肖| 口腔溃疡要吃什么药| 国印贵人是什么意思| acei是什么意思| 产品批号什么意思| 花木兰是什么朝代| 羊奶和牛奶有什么区别| 什么样的月光| psa检查是什么意思| 人间炼狱是什么意思| 子宫内膜增生是什么原因| 什么是断掌| 胎盘2级是什么意思| 背上长痘痘是什么原因| 庚日是什么意思啊| 5月1号是什么星座| 黄金属于五行属什么| 什么是老公| 牙龈一直出血是什么原因| 吃什么可以增强免疫力| 为什么空腹喝牛奶会拉肚子| 胃一阵一阵绞痛是什么原因| 小儿安现在叫什么名| 尿胆原阳性是什么意思| 蚯蚓是什么动物| 一什么尺子| 丹毒用什么药膏| 销魂什么意思| 胰腺分泌什么| 血脂血糖高吃什么食物好| 砥砺前行什么意思| 慢悠悠的近义词是什么| 什么是砭石| 什么是养生| 生理期可以吃什么水果| 神经炎是什么症状| 九月十七日是什么星座| 庭字五行属什么| 开团什么意思| 金色搭配什么颜色好看| 喝白醋有什么好处| 常喝蜂蜜水有什么好处和坏处| 亚瑟士和鬼冢虎的区别是什么| 红细胞计数偏高是什么意思| 包公是什么生肖| 外感风寒吃什么药| 什么动物吃草| 寸关尺代表什么器官| 油碟是什么| 金卡有什么好处和坏处| 迁坟有什么讲究和忌讳| 什么叫色弱| 陈皮有什么好处| 小孩睡觉出汗多是什么原因| 血糯米是什么米| 打豆浆用什么豆子| 一什么书桌| 皮牙子是什么| 不发烧流鼻涕打喷嚏吃什么药| 一月三日是什么星座| 孕妇感冒可以吃什么感冒药| 懒趴是什么意思| 政府是干什么的| gm什么意思| 色是什么结构| 月加厷念什么| 齐多夫定片是治什么病的| 米参念什么| 法会是什么意思| 点状钙化是什么意思| 梦见狗咬手是什么意思| 牙龈肿痛挂什么科| 鸡腿为什么这么便宜| 垂体是什么意思| 包粽子用什么叶子| 肚子饱胀是什么原因| 动土破土是什么意思| 知性是什么类型的女人| 摄人心魄是什么意思| 吃饭不规律会导致什么问题| 制片人是干什么的| 什么的拳头| hiv弱阳性是什么意思| 早上起来心慌是什么原因| eno什么意思| 市公安局局长是什么级别| 青岛为什么叫青岛| 小猫吃什么| 乙肝二四五阳性什么意思| 拔罐后发痒是什么原因| 晚上睡觉脚底发热是什么原因| 连翘败毒丸的功效与作用是什么| 火象是什么意思| 老人适合喝什么茶| 卡路里是什么意思| 灌肠是什么意思| 火龙果跟什么榨汁好喝| 吃什么降羊水最快| 倒数是什么| zhr是什么牌子的鞋| 吃什么不掉头发| 发烧吃什么水果| 什么茶可以减肥| 宫闱是什么意思| 镜面人是什么意思| 8月11号是什么星座| hpv51阳性是什么意思| 头发的主要成分是什么| 肉什么结构| 三顾茅庐的顾是什么意思| 厄警失痣是什么意思| 多囊肾是什么意思| 什么叫处方药| orange是什么颜色| r表示什么| 马头琴是什么族的乐器| 天蝎座跟什么星座最配| 1944年属什么| 子宫肌腺症是什么病| ad滴剂什么时候吃最好| 动员是什么意思| 真实是什么意思| 床塌了有什么预兆| 大排畸和四维的区别是什么| 肌肉抖动是什么原因| 宫颈炎有什么症状| 耳朵里面疼什么原因| 什么叫糖类抗原| 托塔李天王的塔叫什么| 跑得什么| 硬下疳是什么样子| 什么大山| 少量盆腔积液是什么意思| 旧历是什么意思| 为什么人会做梦| 左脸上长痘痘是什么原因| 弟是什么结构的字| 结婚前一天晚上的宴会叫什么| 指甲长得快是什么原因| 逝去是什么意思| 腰肌劳损有什么症状| 左卵巢内囊性结构什么意思| 鸾凤和鸣什么意思| 内痔用什么药治最好效果最快| 睾丸痛挂什么科| 肾结石有什么症状表现| 苦尽甘来是什么意思| 肚子饱胀是什么原因| 娃娃脸是什么意思| 肾结石吃什么好| 泌乳素高是什么原因引起的| 膝盖疼挂号挂什么科| 儿童超敏c反应蛋白高说明什么| 为什么不要看电焊火花| 太平天国失败的根本原因是什么| 贸易壁垒是什么意思| 为什么心里总想一个人| 西瓜虫吃什么食物| 背水一战是什么意思| 月经不调去医院要做什么检查| 比特币是什么意思| 什么是化合物| 流黄鼻涕是什么感冒| 手指疼挂什么科| 嗓子痒控制不住咳嗽是什么原因| 例行是什么意思| 得莫利是什么意思| 吓得什么填空| 三鹿奶粉现在叫什么| 22岁属什么| 梅毒单阳性是什么意思| 太原有什么特产| dha什么牌子好| 六月二十四是什么日子| 下面干涩是什么原因导致的| 唇色深是什么原因| 么么什么意思| 谷丙转氨酶偏高吃什么好| 肾积水吃什么药| 老年人喝什么牛奶好| 打喷嚏流鼻涕吃什么药| bpc是什么意思| 冬天手脚冰凉是什么原因怎么调理| 什么食物维生素b含量高| 11月15日什么星座| 青龙男是什么意思| 梦见大蛇是什么意思| 肺动脉流什么血| bitch是什么意思| 贯众是什么植物| 枸杞加红枣泡水喝有什么功效| 生长发育挂什么科| 产后抑郁症有什么表现症状| 工装裤搭配什么鞋子| 肝掌是什么原因引起的| 什么是肿瘤标志物| 打封闭针是什么意思| 4岁属什么生肖| 尿多是什么回事| 什么补肾最好| 仓鼠是什么动物| 傻子是什么意思| 夏天适合穿什么衣服| 狼吞虎咽是什么生肖| 头好出汗是什么原因| 玉女心经是什么意思| 周易是什么| 5像什么| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? MCU ? M480CAN为什么无法收到数据?

共2条 1/1 1 跳转至

M480CAN为什么无法收到数据?

高工
2025-08-05 11:05:47     打赏
百度 丁薛祥兼任中央和国家机关工委书记,孟祥锋任副书记2018年3月25日15:50来源:紫光阁网  原标题:丁薛祥兼任中央和国家机关工委书记,孟祥锋任副书记  东方网3月25日消息:3月21日,中央和国家机关工委领导干部会议在京召开。

CAN_Init(CAN0);//初始化CAN0
    CAN_Open(CAN0,  125000, CAN_NORMAL_MODE);//配置模式

    M_RUN();//电机启动
    M_Zero();//电机归零

    Test_NormalMode_Rx();//配置接收

首先,电机可以保证正常,驱动器是可以收到数据并且响应的。证明了发送数据 没问题。

我配置的接收以及接收过程是以下过程,发现发出去的数据,可以起到触发中断,但是收不到驱动器收到的数据;驱动器的ID设置位了1;并不能收到这个响应;

CAN发送使用MSG[0]

void M_RUN(void)
{
    /* Send a 11-bits message */
    tMsg.FrameType = CAN_DATA_FRAME;
    tMsg.IdType   = CAN_STD_ID;
    tMsg.Id       = 0x01;
    tMsg.DLC      = 8;
    tMsg.Data[0]  = 0X00;
    tMsg.Data[1]  = 0X1A;
    tMsg.Data[2]  = 0X00;
    tMsg.Data[3]  = 0X00;
    tMsg.Data[4]  = 0X01;
    tMsg.Data[5]  = 0X00;
    tMsg.Data[6]  = 0X00;
    tMsg.Data[7]  = 0X01;

    if(CAN_Transmit(CAN0, MSG(0),  tMsg) == FALSE)  // Configure Msg RAM and send the Msg in the RAM
    {
        printf("Set Tx Msg Object failedn");
    }
}

//接收使用MSG[1]
void Test_NormalMode_Rx(void)
{
    if(CAN_SetRxMsg(CAN0, MSG(1), CAN_STD_ID, 0X7FFF) == FALSE)
    {
        printf("Set Rx Msg Object failedn");
        return;
    }
    /*Choose one mode to test*/

    /* INT Mode */
    CAN_EnableInt(CAN0, CAN_CON_IE_Msk);
    NVIC_SetPriority(CAN0_IRQn, (1 << __NVIC_PRIO_BITS) - 2);
    NVIC_EnableIRQ(CAN0_IRQn);
}

void CAN_ShowMsg(STR_CANMSG_T *Msg)
{
    uint8_t i;
    printf("Read ID=%8X, Type=%s, DLC=%d,Data=", Msg->Id, Msg->IdType ? "EXT" : "STD", Msg->DLC);
    for(i = 0; i < Msg->DLC; i++)
        printf("%02X,", Msg->Data[i]);
    printf("nn");
}

void CAN_MsgInterrupt(CAN_T *tCAN, uint32_t u32IIDR)
{
        
    if(u32IIDR==1)
    {
        printf("Msg-0 INT and Callbackn");
        CAN_Receive(tCAN, 0, rrMsg);
        CAN_ShowMsg( rrMsg);
    }
    if(u32IIDR==2)
    {
        printf("Msg-1 INT and Callbackn");
        CAN_Receive(tCAN, 1, rrMsg);
        CAN_ShowMsg( rrMsg);
    }
    if(u32IIDR==5+1)
    {
        printf("Msg-5 INT and Callback n");
        CAN_Receive(tCAN, 5, rrMsg);
        CAN_ShowMsg( rrMsg);
    }
    if(u32IIDR==31+1)
    {
        printf("Msg-31 INT and Callback n");
        CAN_Receive(tCAN, 31, rrMsg);
        CAN_ShowMsg( rrMsg);
    }
               
}

/**
  * @brief  CAN0_IRQ Handler.
  * @param  None.
  * @return None.
  */
void CAN0_IRQHandler(void)
{
    uint32_t u8IIDRstatus;

    u8IIDRstatus = CAN0->IIDR;

    if(u8IIDRstatus == 0x00008000)        /* Check Status Interrupt Flag (Error status Int and Status change Int) */
    {
        /**************************/
        /* Status Change interrupt*/
        /**************************/
        if(CAN0->STATUS   CAN_STATUS_RXOK_Msk)
        {
            CAN0->STATUS  = ~CAN_STATUS_RXOK_Msk;   /* Clear Rx Ok status*/

            printf("RX OK INTn") ;
        }

        if(CAN0->STATUS   CAN_STATUS_TXOK_Msk)
        {
            CAN0->STATUS  = ~CAN_STATUS_TXOK_Msk;    /* Clear Tx Ok status*/

            printf("TX OK INTn") ;
        }

        /**************************/
        /* Error Status interrupt */
        /**************************/
        if(CAN0->STATUS   CAN_STATUS_EWARN_Msk)
        {
            printf("EWARN INTn") ;

            /* Do Init to release busoff pin */
            CAN0->CON = (CAN_CON_INIT_Msk | CAN_CON_CCE_Msk);
            CAN0->CON  = (~(CAN_CON_INIT_Msk | CAN_CON_CCE_Msk));
            while(CAN0->CON   CAN_CON_INIT_Msk);
        }

        if(CAN0->STATUS   CAN_STATUS_BOFF_Msk)
        {
            printf("BOFF INTn") ;
        }
    }
    else if (u8IIDRstatus != 0)
    {
        printf("=> Interrupt Pointer = %d-%dn", CAN0->IIDR - 1, u8IIDRstatus);

        CAN_MsgInterrupt(CAN0, u8IIDRstatus);

        CAN_CLR_INT_PENDING_BIT(CAN0, ((CAN0->IIDR) - 1));     /* Clear Interrupt Pending */

    }
    else if(CAN0->WU_STATUS == 1)
    {
        printf("Wake upn");

        CAN0->WU_STATUS = 0;                       /* Write '0' to clear */
    }

}




关键词: CAN     STATUS     驱动器    

助工
2025-08-05 11:06:06     打赏
2楼

1、从代码上看要接收ID = 0x7FFF的消息   ,请问消息ID是否正确。
2、确认一下对方是在Test_NormalMode_Rx调用之前还是之后发送的数据。  一般建议先配置接收再配置发送      
3、另外可以示波器看一下对方是否有发数据出来 


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
藕粉对身体有什么好处 老炮是什么意思 阳历三月是什么星座 什么是疱疹怎么得的 被和谐了是什么意思
灵芝长什么样子图片 屎壳郎是什么意思 安踏高端品牌叫什么 鼻渊是什么意思 全身淋巴结肿大是什么原因
怀孕什么时候显怀 啤酒花是什么东西 肝硬化是什么意思 什么叫多巴胺 睡眠不好用什么泡脚助于睡眠
abi医学上是什么意思 支气管炎吃什么药好得快 多动症是什么引起的 钠是什么东西 什么是ntr
什么是微创手术hcv9jop4ns1r.cn 夏天适合养什么花hcv8jop0ns3r.cn 鸡腿炖什么好吃hcv9jop5ns7r.cn 脑震荡有什么症状hcv8jop2ns5r.cn 福不唐捐什么意思travellingsim.com
眼睛痒是什么原因引起的travellingsim.com 双肺纹理增多增粗是什么意思hcv8jop8ns6r.cn 宝宝什么时候断奶最好hcv7jop9ns2r.cn 喉咙干燥吃什么药hcv9jop6ns0r.cn 甲状腺结节是什么zsyouku.com
什么是双飞hcv7jop9ns3r.cn 梦见小孩是什么hcv8jop0ns2r.cn 女性阴道痒是什么原因hcv8jop0ns6r.cn 梦见狗打架是什么意思hcv8jop4ns3r.cn 总胆红素偏高有什么危害hcv8jop8ns2r.cn
丰都为什么叫鬼城hcv8jop2ns2r.cn 阴道口痛什么原因hcv7jop4ns8r.cn 现代是什么时候hcv8jop0ns0r.cn 大v什么意思hebeidezhi.com 衣原体阳性是什么意思hcv9jop6ns3r.cn
百度