首页 > 其他分享 >CAN 回环模式正常,异常模式失败。

CAN 回环模式正常,异常模式失败。

时间:2024-05-27 18:12:02浏览次数:26  
标签:NULL CanTxMsgPtr osMessageQueueGet 模式 osOK 失败 RACKRX 回环 osMessageQueueId

  1. osStatus_t osStatus = osMessageQueuePut(osMessageQueueId_RACKRX_TxMsg, &CanTxMsgPtr, 0, 0);
    把数据放到队列中

  2. if(osOK == osMessageQueueGet(osMessageQueueId_RACKRX_TxMsg,(void **)&CanTxMsgPtr,NULL,osWaitForever))
    从队列中取出数据

  3. HAL_CAN_AddTxMessage(&RACKCAN_Handle,&(CanTxMsgPtr->TxHeader),CanTxMsgPtr->MsgBuf,&TxMailbox);
    库函数发送数据

  4. if (((tsr & CAN_TSR_TME0) != 0U) || ((tsr & CAN_TSR_TME1) != 0U) || ((tsr & CAN_TSR_TME2) != 0U))
    发送邮箱一直是满的,进不到if(osOK == osMessageQueueGet(osMessageQueueId_RACKRX_RxMsg,(void *)&LocalMsgType,NULL,osWaitForever))

解决方法:
将CAN 配置为回环模式后,可以正常进入到if(osOK == osMessageQueueGet(osMessageQueueId_RACKRX_RxMsg,(void *)&LocalMsgType,NULL,osWaitForever))

  1. 在这篇文章下有人提到can的收发器的供电有可能会有这个问题,于是将板子供电提高到48v就可以正常发数据。(实际板子是48v供电,异常的时候是24v供电)
    https://shequ.stmicroelectronics.cn/thread-623223-1-1.html

标签:NULL,CanTxMsgPtr,osMessageQueueGet,模式,osOK,失败,RACKRX,回环,osMessageQueueId
From: https://www.cnblogs.com/cxw1996/p/18216169

相关文章

  • 一文详解SaaS增长模式:PLG、MLG、SLG哪种更适合你?
    在SaaS(软件即服务)的领域中,增长策略的选择对于企业的成功至关重要。其中,PLG(产品驱动增长)、MLG(市场驱动增长)和SLG(销售驱动增长)是三种常见的策略,三者被称为驱动saas用户增长的三因子,那么,究竟哪种策略更适合你的企业呢?一、PLG(产品驱动增长)这种策略的核心在于通过产品自身的优秀......
  • Windows中,Jenkins上部署ui自动化自启动浏览器(不使用无头模式)
    1、window上安装jenkins,我是借助以下链接进行安装的:Windows系统下Jenkins安装、配置和使用_jenkinswindows-CSDN博客2、jenkins安装中与github连接:jenkins+github集成自动化测试环境搭建(2)-jenkins+github集成_jenkins自动化测试集成github-CSDN博客3、解决jenkins运行ui......
  • linux.wine WINE9安装微信失败案例
    之前没有安装成功是因为apt自带的wine版本过低准备安装wine9试试 一、apt安装编译工具sudoapt-getinstallbuild-essentialgitwgetlibssl-devlibxml2-devlibasound2-devlibx11-devlibxext-devlibxtst-devlibpulse-devlibdbus-1-devlibfontconfig1-devlibfreet......
  • github 解决推拉代码提示 REMOTE HOST IDENTIFICATION HAS CHANGED 失败
    1.背景在拉取github上一个新项目的时候爆出WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!第一反应是电脑被黑了,传说中的中间人攻击(题外话一下,其实所有的代理软件都算是中间人哦~),稍微检查了一下,应该不是。仔细看内容,有点意思。@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......
  • MahApps.Metro的MVVM模式解析(二) 主题功能
    MahApps.Metro的MVVM模式解析(二)主题功能MahApps.Metro是一个开源的WPF框架,旨在为WPF应用程序提供现代和漂亮的用户界面。在MahApps.Metro中提供了切换主题的功能。经过多日的筛选和分析,在本文来理清它的脉络。1主题功能演示主题列表:白天主题效果:夜晚主题效果:2软件架构......
  • C# 工厂模式学习
    工厂模式(FactoryPattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂模式可以将对象的创建过程封装起来,使代码更具有灵活性和可扩展性。工厂模式有几种常见的实现方式:简单工厂模式(SimpleFactoryPattern):简单工厂模式通过一个工厂......
  • C# 工厂模式学习
    工厂模式(FactoryPattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂模式可以将对象的创建过程封装起来,使代码更具有灵活性和可扩展性。工厂模式有几种常见的实现方式:简单工厂模式(SimpleFactoryPattern):简单工厂模式通过一个工厂类......
  • 行为设计模式之策略模式
    文章目录概述原理结构图代码实现小结概述策略模式(strategypattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。在软件开发中也会遇到相似的情况,当实现某一个功能存在多种算法或者策略......
  • 响应式UI组件DevExtreme中文教程 - 工具栏的自适应模式
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程......
  • 响应式UI组件DevExtreme中文教程 - 工具栏的自适应模式
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中......