自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 【EtherCAT】CiA402简介

设备配置文件定义了几种操作模式。它们包括轮廓位置模式、自导模式、插补位置模式、轮廓速度模式、轮廓转矩模式、速度模式、循环同步位置模式、循环同步速度模式和循环同步转矩模式。

2024-09-21 22:34:05 1941

原创 【EtherCAT】运行原理

EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取相应的编址数据,同样,输入数据也是在报文经过时插入至报文中

2024-09-01 23:42:01 445

原创 【EtherCAT】 EoE简介

EoE :Ethernet tunneled over EtherCAT services, 基于EtherCAT服务的以太网隧道。从站需要移植自己的TCP/IP协议栈(如lwip),底层还是通过EtherCAT的邮箱通信。

2024-07-22 01:22:01 1111

原创 【EtherCAT】TwinCAT3通过PLC修改SDO数据

目录1、打开twincat3, 左边PLC右键->添加新项,建立PLC工程2、->References右键添加库3、找到Tc2_EtherCAT库,点确定。4、PLC程序ST语言就可以调用下面的功能块函数5、PLC编程界面右键->输入助手

2024-06-27 10:52:45 822

原创 EtherCAT数据包抓取(wireshark)

目录1、twincat配置2、选择正确的网卡3、过滤条件示例(1) 过滤逻辑读的数据帧(2) 过滤邮箱等配置数据(3) 抓取读EtherCAT状态的数据帧 勾选 Device2->Adapter->Promiscuous Mode,重新激活配置。 过滤条件处输入ecat后有很多过滤字符串可选,以下仅作为示例。 ecat.cmd == LRD ecat_mailbox ecat.ado == 0x130

2024-06-20 10:34:44 1132

原创 【profinet】从站开发要点

profinet符合 IEEE 802.xx 标准的工业以太网, 具有自动协商和自动交叉功能■ 全双工传输■ 交换式以太网■ 百兆级以太网。

2024-06-19 23:06:17 870

原创 【EtherCAT】FMMU和SM简介

Fieldbus Memory Management Unit,现场总线存储器管理单元, 通过内部地址映射将逻辑地址转换为物理地址。FMMU允许跨越多个从设备的数据段使用逻辑地址;一个数据报寻址几个任意分布的EtherCAT从站控制器内的数据。每个FMMU通道将一个连续的逻辑地址空间映射到从站的一个连续物理地址空间。EtherCAT从站控制器的FMMU支持逐位映射,支持的FMMU数量取决于EtherCAT从站控制器。FMMU支持的访问类型可配置为读、写或读/写。

2024-04-19 11:11:33 3003

原创 【AT32F437】rs485串口接收第一帧数据多一个字节的问题

1、串口DMA+空闲中断的方式接收数据,串口初始化时需要使能dma传输通道。

2024-04-12 15:14:57 219

原创 【FreeRTOS移植】报错:\ARM_CM4F\portmacro.h(xxx):error:#18:expected a “)“

(2)检查编译器接口文件是否正确,替换为。、移植FreeRTOS时,keil5编译,大量报。

2024-03-21 10:09:17 1249

原创 嵌入式学习经验分享

嵌入式学习经验分享。

2024-02-25 17:59:25 1108 2

原创 stm32开发工具之addr2line.exe使用

addr2line.exe是一个将程序地址转换为源代码函数和行号的工具。方便通过.axf/.alf二进制文件找到程序出现bug的地方。

2023-12-26 19:47:22 1292 2

原创 VSCode 右键函数无法跳转到定义解决办法

我的vscode版本1.71.0,C/C++扩展自动更新到1.18.3右键就没有跳转到定义了,该扩展版本需回退到1.17.2就可以了。

2023-11-14 16:51:05 8721 13

转载 STM32的MicroLIB的一些总结

使用微库,将以更精简短小的C 库替代标准C 库,减小代码大小。MicroLib 是默认C 库的备选库。它主要用于内存有限的嵌入式应用程序中。这些应用程序不在操作系统中运行。

2023-08-04 10:19:06 698

原创 EtherCAT从站开发要点

本文主要简述EtherCAT从站开发关键知识点:COE对象字典、PDO、SDO、状态机、同步模式、关键API接口等。

2023-07-18 20:57:41 7696 8

原创 Beyond Compared 4需要秘钥怎么办

本文主要解决Beyond Compare4需要秘钥的问题。

2023-05-17 10:30:47 7080

原创 stm32|启动.s文件|map文件|分散加载.sct文件|RAM中运行程序.ini文件|

sct本身并不能对映像实现“解压缩”,编译器读入.sct文件之后,会根据其中的各种地址生成启动代码,实现对映像的加载,而这一段代码就是*(InRoot$$Sections)它是__main()的一部分。链接器直接按照默认的方式来生成映像文件即可,但是在某些场合,希望将某些数据放在指定的位置,此时分散加载文件就发挥了非常发的作用。修改完,重新编译,点开.sct文件就可以看到.sct已经被修改了,然后可以看map文件可以看到相关变量函数地址信息已经改变。,生成分散加载代码,因此通过修改该文件可以定制。

2023-05-16 01:10:40 2476

原创 【C语言封装设计】之队列例程

注:例程摘自《C嵌入式编程设计模式》

2023-04-10 21:32:49 204

原创 arm芯片中的浮点运算

注意,Code sourcery 2007/2008均不支持-mfloat-abi=hard,从Code Sourcery 2009q1才开始支持-mfloat-abi=hard,用-mfloat-abi=softfp编译的app或者库,在用-mfloat-abi=soft编译的OS中,如果SoC中没有FPU,那么是不能跑的。用-mfloat-abi=soft编译的app或者库,在用-mfloat-abi=softfp编译的OS中是可以跑的;arm芯片中的浮点运算(二)【转】【作者】​​张昺华​。

2023-04-10 10:57:25 806

原创 STM32Fxx之串口DMA配置

串口高波特率通讯时需要用DMA传输数据。本文档采样stm32标准库版本。

2023-03-14 21:32:59 510

原创 keil5 debug时switch case无法打断点或程序执行不到的问题(编译优化问题)

keil5 在debug仿真过程中,发现运行到switch case语句时,出现一些问题,本文将给出一直解决办法。

2023-01-01 10:25:25 3917 1

原创 STM32f103 驱动之I2C

I²C(Inter-Integrated Circuit),是一种多主从架构串行通信总线,半双工同步类型传输总线。由两条线组成:一条双向数据线SDA,一条串行时钟线SCL。I2C每次传输8位数据(7位数据位+1位读写位),每次传输后需从机返回一个应答位,以确认从机是否正常接收数据。主机每发送8位数据后,再产生一个时钟。此时主机放开SDA的控制,读取SDA电平。

2022-11-16 22:34:47 2042

转载 ADC采样值转化成电压值详解

在没有参考电压引脚的单片机上,可以把基准电压芯片接入 VDDA,但是 VDDA和 VDD的电压差不能超过 0.3V,例如,VDD是 3.3V的话,可以给 VDDA接入一个 3.3V的参考电压芯片或者 3.0V的参考电压芯片,但是不能接入 2.5V的参考电压芯片,后果就是芯片不能工作。前面提到了,我们输入GND,读到的值是0,输入VDD,得到的值是4095,那么,当你读到2035的时候,你知道输入电压多少V吗?需要看一个特性,就是几位的 ADC,在手册上就会给出,例如,STM32的 ADC是 12位的。

2022-10-25 15:53:37 5465

原创 《linux设备驱动开发详解》插图汇总

该文档所有插图均来自宋宝华老师的《linux设备驱动开发详解——-基于最新的linux4.0内核》一书。截图出来仅做平时网页查阅学习。

2022-10-25 00:32:31 3660

原创 GD32f303之rs485配置

rs485是一种硬件通信接口,USART引脚的TTL电平通过SP485芯片转换为差分信号,+2V~+6V表示"0",- 6V~- 2V表示"1"。RS485有两线制和四线制两种接线,四线制是全双工通讯方式,本文采用两线制半双工通讯方式。

2022-10-19 20:00:39 4124 14

原创 MODBUS RTU协议原理及功能码解析

modbus是OSI模型第七层上的应用层报文传输协议。modbus是一个请求/应答协议。并规定了相关的功能码。modbus功能码是modbus请求应答PDU的元素

2022-10-12 22:14:00 26948 8

原创 GD32f303 flash加密

GD32加密即将flash中程序固件保护起来,防止别人通过外部调试接口或者其他方法读取烧写的flash中的程序。防止抄袭,防止破坏。

2022-10-12 21:38:30 2339

转载 【linux多线程】sleep函数作用

进程:有独立的 进程地址空间。有独立的pcb。分配资源的最小单位。线程:有独立的pcb。没有独立的进程地址空间。最小单位的执行。Linux平台下的情况是,线程只不过是进程的一种特殊形式,sleep只影响当前线程。多线程 中经常会使用sleep()函数,我们知道cpu对于多线程的操作是采用时间片轮询的方式,即,时间片1操作线程A,时间片1结束后,时间片2操作线程B,时间片2结束后,时间片3操作线程A,依次交替执行。参考:《Linux 内核源代码情景分析》

2022-10-10 12:46:57 6212

原创 【EtherCAT】COE对象字典与PDO映射简介

将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。对象字典可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。

2022-10-09 20:11:08 11294 30

转载 C语言和设计模式(总结篇) 用了多年的C

设计模式的书相信很多人都看过。对于设计模式这样一种方法,相信不同的人有不同的理解。我在这里写的博客只是我个人对设计模式的粗浅认识。文中肯定存在很多的不足和不成熟之处,希望朋友们谅解。以后编程开发也可以多多学习参考。

2022-10-08 16:21:07 1406 2

原创 【数据结构】之链表操作

单链表:每个节点只有一个指向后一个节点的指针。循环链表:最后一个节点的指针指向该循环链表的第一个节点或者表头节点。双向链表:节点除了含有数据域外,还有两个指针,一个指向后继节点,一个指向前驱节点。双向循环链表:将双向链表首尾相连。

2022-10-01 16:02:02 1044

原创 关于C语言结构体强制类型转换的易错点

通过一小段代码实例,帮助理解结构体强制类型转换时易错点,即转换后,存储结构体数据的一段内存没有发生变化,但需按照新的指针类型存取结构体数据。

2022-10-01 09:30:23 735

原创 【linux C】基础

汇总linux C 基础知识点。来自B站李慧芹老师课程笔记。

2022-09-30 00:50:10 740

原创 【WIFI AP模式】之iptables使用

AP热点以nat方式连接到网络,需要用到iptables这个工具来实现网卡的网络转发代理上网的功能,让我们网卡配置的AP热点实现上网功能。

2022-09-29 21:17:41 609

原创 GD32f303之定时器配置

本文档采样的芯片型号为GD32F303RCT6。要求定时器配置中断周期为1ms,定时器时钟频率120MHz。

2022-09-29 20:14:16 7696

原创 GD32f303 驱动之SPI

GD32驱动之SPI

2022-09-27 19:28:55 4069 4

Ethercat xml规范

Ethercat xml规范

2023-05-12

Modbus协议规范(中文详细)

Modbus协议规范(中文详细)

2023-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除