- 博客(33)
- 资源 (3)
- 收藏
- 关注
转载 STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结
bxCAN是STM32系列最稳定的IP核之一,无论有哪个新型号出来,这个IP核基本未变,可见这个IP核的设计是相当成熟的。本文所讲述的内容属于这个IP核的一部分,掌握了本文所讲内容,就可以很方便地适用于所有STM32系列中包含bxCAN外设的型号。有关bxCAN的过滤器部分的内容在参考手册中往往看得“不甚明白“,本文就过滤器的4种工作模式进行详细讲解并使用具体的代码进行演示,这些代码都进行过实测验证通过的,希望能给读者对于bxCAN过滤器有一个清晰的理解。
2024-01-25 11:52:08
729
2
原创 基于S32K144的canopen接收不同数量ID的实现方式
基于S32K144的canopen通信过程中,接收不同数量的ID情境下几种实现方法。
2023-11-28 16:31:34
1291
原创 SDO修改参数的命令字是怎么定义的
首先我们确定e的值:因为我们正常的SDO通讯都是使用的加速传送(最多传输4字节数据),所以e = 1 然后我们确定s的值:如果我们不指定数据长度,则s=0,否则s=1 然后我们确定n的值:根据e和s的值,如果我们不指定数据长度,则n无意义,n=0,那么命令字就等于00100010b,即0x22 如果指定数据长度,则s=1,这时候n有效,n表示数据部分无意义数据的字节数,注意是无意义的字节数。 如果我们只使用1个字节,则无意义字节数为3 (BYTE6-8)。n=11b,那么命令字就等于00101111
2023-07-07 09:55:47
480
原创 MOS管解析
最后,需要特别推荐一下 郭天祥老师的MOS管系列视频,可以搜索 郭天祥-MOS管在网上找到。全面认识二极管,一篇文章就够了ST芯片涨价后,你是如何做的?结合实际聊聊防反接电路(防反接电路总结)结合实际聊聊电平转换电路(常用电平转换电路总结)聊聊电源自动切换电路(常用自动切换电路总结)3.4 MOS管原理简析为什么介绍MOS管的文章都以NMOS举例?MOS管的寄生电容为什么常在MOS管GS并联电阻?为什么要在MOS管G级串联电阻?
2023-04-21 14:49:25
882
1
转载 三极管的工作原理详解,图文+案例
三极管全称是“晶体三极管”,也被称作“晶体管”,是一种具有放大功能的半导体器件。通常指本征半导体三极管,即BJT管。典型的三极管由三层半导体材料,有助于连接到外部电路并承载电流的端子组成。施加到晶体管的任何一对端子的电压或电流控制通过另一对端子的电流。三极管实物图。
2023-04-21 13:46:56
21892
转载 COB-ID的简单理解分析
COB-ID可以理解是CAN-ID。 CANopen 将 CANbus 11 位元的 ID 分为 4 位元的功能码及 7 位元的 CANopen 节点 ID。 这个理解没什么问题。 举个例子,0x1FF是一个PDO的COB-ID,分解一下是0011 1111111,前4个是3,是功能码,表示TPDO1。后7个是节点ID(Node ID),0x7F,127。 再来一个。0x701,分解下,1110 0000001...
2022-04-20 09:11:37
2794
转载 CANFestival简介
相对于其他常用的国外开源的CANopen协议栈,CanFestival具有许多明显的优势: 1.CanFestival为开发者提供了许多工具,以提高开发的便利性。例如用于生成节点对象字典源代码的对象字典编辑器,以及便于开发者自由配置编译选项的配置脚本。 2.CanFestival能够运行于多种类型的平台。CanFestival源代码由ANSI-C编写,驱动和...
2022-04-02 16:35:06
1850
转载 CanFestival 源码剖析
CanFestival 源码剖析 ObjDict struct_CO_Data结构体: 大多数内容都在这个结构体里 (1)valueRangeTest函数主要是在设置对象字典时被调用,里面主要检查紧急报文的范围 (2)每个子索引都定义了一个数组 (3)ObjDict_objdict...
2022-04-02 16:31:46
2878
转载 canfestival系列教程之程序移植
步骤一:首先准备一个工程确保这个工程是可以用的,比如用正点原子的can工程 第二步:从官网上下载一个源码程序,解压: 打开之后,有很多文件,我们只取其中的两个文件src文件夹(里面是.c文件)include文件夹(里面是.h文件) 第三步:把 src文件夹 和&
2022-03-30 09:34:40
2229
3
转载 CANopen备忘录
值得收藏:德国工程师的CANopen备忘录 http://www.zlg.cn/can/article/detail/id/200.html 德国的CAN-bus总线工程师为了方便学习和记忆CANopen协议,随身携带一本“CANopen备忘录”,在研发和现场测试时快速查找。春节期间,广州致远电子股份有限公司...
2022-03-24 10:17:39
266
原创 CANopen的状态机
本文简单介绍Canopen最常用的两个状态机。NMT状态机NMT消息属于Canopen中优先级最高的消息类型,Cob-ID=000h,描述的是总线通信当前处于什么状态,状态如何切换。状态切换通过0x000发送相应的数值。如下实例,描述的是典型的一个状态切换过程。驱动器上电后,首先进入boot up状态,可以收到000 82 01报文,其中假设NodeID=1。 如果初始化正常,会自动进入pre-op状态m,这个SDO可以正常通信。 当NMT发送000 01 00,如果驱动配置正常,可进入
2022-03-24 09:02:15
2450
转载 QT父子对象与delete
很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当delete一个父对象的时候,Qt的对象模型机制保证了会自动的把它的所有子对象,以及孙对象,等等,全部delete,从而保证不会有内存泄漏的情况发生。任何事情都有正反两面作用,这种机制看上去挺好,但是却会对很多Qt的初学者造成困扰,我经常给别人回答的问题是:1,new了一个Qt对..
2022-03-02 09:16:51
448
转载 C++创建对象的两种方法(别再纠结是否需要手动释放内存了)
之前一直搞不懂C++创建对象的方式,感觉既可以 ClassName object; 又可以 ClassName *object=new ClassName 。 于是感慨:C++就不能统一一下,只用一种方法,这样好学好记又不会纠结该不该手动释放内存? 搞清楚之后才知道C++提供这两种方式,是为了更灵活地创建对象。好吧,方法多了也不是什么好事,学就完了。 方法一: 语法:ClassName objec...
2022-03-02 08:01:25
1327
原创 QT程序release打包后无法再其他电脑打开
使用网上主流的打包方式(详见我的转载)在main.CPP中添加如下QApplication::addLibraryPath("./plugins");
2022-03-01 15:03:51
407
原创 在当前执行文件目录下创建名为log文件夹,存放txt数据记录。
QDir *dir = new QDir;QDateTime currentTime = QDateTime::currentDateTime();QString logName = "log_" + currentTime.toString("yyyyMMddhhmmss");bool exist = dir.exists(QDir::currentPath().append("/log"));if(!exist){ dir.mkpath(QDir::currentPath().a.
2022-03-01 14:52:24
346
转载 QT界面运行时间一久就崩溃
最近写程序时出现了一个奇怪现象,一个界面程序显示数据,下面有TextEdit打印数据信息,时间运行一久就出现界面卡死崩溃,而且因为处理的东西不复杂只开了单线程,无内存泄漏等问题。 最终发现是–程序运行久了TextEdit里面的打印内容过多,而我一直没清空,最终导致程序崩溃。所以在控件...
2022-03-01 14:35:40
1645
转载 Qt将QString转换成ASCII码
Qt将QString转换成ASCII码 原理很简单,获取字符串的UTF-8编码,然后逐个读取强转成int类型即可。 QString s = "Three Second 三秒"; QByteArray byte = s.toUtf8(); for(int i = 0; i < s.size(); i++) { qDebug() << int(byte...
2022-02-25 08:50:30
4673
原创 Microsoft Visual C++ 可再发行程序包最新支持的下载
项目 该Visual C++ 可再发行程序包安装 Microsoft C 和 C++ (MSVC) 运行时库。 许多使用 Microsoft C 和 C++ 工具构建的应用程序都需要这些库。 如果应用使用这些库,Microsoft Visual C++安装应用之前,必须在目标系统上安装可再发行组件包。 可再发行组件包体系结构必须与应用的目标体系结构匹配。 可再发行组件版本必须至少与用于生成MSVC生成工具集的版本一样最新。 我们建议使用适用于最新版本的 Redistributable Visua..
2022-02-22 08:56:33
8115
转载 QT 发布release版本
这里写自定义目 qt发布release版本时需要打包一些dll,需要哪些呢?请看截图:欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowc
2022-02-22 08:17:46
3599
转载 QT界面美化
转自点击打开链接 - 经验总结 1. 可用对话框(QDialog)模拟类似Android中toast的效果。 - 设置程序界面风格 在main函数中 QApplication::setStyle("windows"); QApplication::setStyle("windowsxp"); QApplication::setStyle("m...
2022-02-21 09:30:42
14304
转载 qstring取前几个_Qt 字符串截取常用函数
1、bool QString::startsWith // 字符串以XX开头,返回true,第二个参数可以设置大小写敏感 QString str = "Bananas"; str.startsWith("Ban"); //returns true str.startsWith("Car"); //returns false 2、bool QString::endsWith // 字符串以X...
2022-02-17 10:11:10
6227
转载 QT学习---创建MainWindows工程
创建工程的步骤: 1. 打开软件后 2.创建一个"Application"工程"Qt Widgets Application" 点击 " 下一步 " 3.选择工程名称和保存的路径 点击 "下一步" 4.选择"kit" 基于"Desktop Qt 5.9.1 MinGW 32bit" ...
2022-02-16 09:08:54
608
转载 QT 学习 (设置QPushButton和QLabel样式表)
工程文件: 步骤: (1). 把用到的资源图片全部加载到工程中(其实并没有用到那么多) (2). 在ui设置中添加一个QLabel和QPushButton并改变按钮的大小 (3). 在初始化时设置控件的样式表(构造函数中) 操作: (1). 如何向工程添加资源:https://blog.youkuaiyun.com/dianzishi123/articl...
2022-02-16 08:59:18
1144
转载 QT 学习 (添加资源文件)
1. 鼠标点击工程文件目录右键选择 "添加新文件..." 2. 在模板中选择 Qt-->Qt Resource File 3. 资源名称,不要有中文, 路径默认保持工程目录即可 4. 选中 res.qrc 资源文件鼠标右键选择 "Open in Editor" 打开资源编辑区 5. 在编辑区首先添加前缀 6. 添加完前缀后才可以选...
2022-02-16 08:58:04
5583
转载 QT (启动一个线程)
启动一个线程的步骤: (1) 创建一个自己的线程类继承QT中的QThread类 创建线程类WorkThread; (2) 在自己的WorkThreak类中重新实现run()函数, 该函数是一个死循环, 主要是完成自己需要的功能代码 (3) 使用自己的类WorkThread 实例一个对象,也就是用该类创建一个变量 如: WorkThread *task = new ...
2022-02-16 08:52:42
2535
转载 QT 学习 (信号和槽)
首先看下信号和槽的连接函数 QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, &nb...
2022-02-16 08:48:48
765
转载 QT 的QString用法总结
QString在Qt里面被大量使用,使用QString的时候,我们不需要担心内存分配以及关于’\0’结尾的这些注意事项。QString会把这些问题解决。通常,你可以把QString看作是一个QChar的向量。另外,与C风格的字符串不同,QString中间是可以包含’\0’符号的,而l...
2022-02-16 08:43:07
4802
转载 优快云中如何快速转载文章
@[ 问题: 在优快云中如何快速转载文章 解决步骤: 1.在优快云中找到想要转载的文章,右击点击"检查"(或者快捷键F12) 出现以下界面(图下图右侧所示) 2.按住Ctrl+F快捷键,寻找"article_content" 3.选中div id="article_content"那一行,如下图所示 右击"Copy"—"CopyHTML" 4.打开优快云,依次点击’’‘管理博客’–’’‘博客设置’–MarkDown编辑器
2022-02-16 08:27:50
1664
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人