- 博客(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
原创 【FreeRTOS移植】报错:\ARM_CM4F\portmacro.h(xxx):error:#18:expected a “)“
(2)检查编译器接口文件是否正确,替换为。、移植FreeRTOS时,keil5编译,大量报。
2024-03-21 10:09:17 1249
原创 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
原创 stm32|启动.s文件|map文件|分散加载.sct文件|RAM中运行程序.ini文件|
sct本身并不能对映像实现“解压缩”,编译器读入.sct文件之后,会根据其中的各种地址生成启动代码,实现对映像的加载,而这一段代码就是*(InRoot$$Sections)它是__main()的一部分。链接器直接按照默认的方式来生成映像文件即可,但是在某些场合,希望将某些数据放在指定的位置,此时分散加载文件就发挥了非常发的作用。修改完,重新编译,点开.sct文件就可以看到.sct已经被修改了,然后可以看map文件可以看到相关变量函数地址信息已经改变。,生成分散加载代码,因此通过修改该文件可以定制。
2023-05-16 01:10:40 2476
原创 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
原创 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
原创 【WIFI AP模式】之iptables使用
AP热点以nat方式连接到网络,需要用到iptables这个工具来实现网卡的网络转发代理上网的功能,让我们网卡配置的AP热点实现上网功能。
2022-09-29 21:17:41 609
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人