自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux/ubuntu使用常见问题解决

linux/ubuntu使用常见问题解决使用ubuntu系统总会遇到各种问题,每次查找总是麻烦的,所以这个为自己记录问题和解决方法。我会经常更新和记录,每个自己都亲测有效。1.ubuntu开机出现:system program problem detectedsudo vi /etc/default/apport将enabled=1改为enabled=0保存退出即可2.在update时...

2020-04-13 10:56:39 1316

原创 jsoncpp解析文件

背景:先用wireshark抓数据帧,过滤自己需要的之后转换为json文件,然后使用jsoncpp工具解析,获取其中有用的数据,最后把数据写入到文件中,之后分析数据或根据数据画图。

2024-04-23 18:00:26 184

原创 SOEM控制伺服电机方法

之前我写了一个控制伺服的程序,但是方式是错误的,后来也不怎么SOEM了,最近有用到,就重新写了一个测试程序,重新发布一下。我使用的是23位编码器电机。

2024-01-02 16:44:27 1595 13

原创 U盘变小恢复方法

在使用中经常由于使用不当,导致u盘空间变小,比如像我现在的情况,我本来u盘是32G的,现在显示只有三个多G,格式化之后还是这样解决步骤如下,不需要下载工具1,打开cmd窗口WIN + R键输入cmd,回车键确认2,在cmd窗口输入diskpart,回车进入小程序中(此工具程序是系统自带)3,查看所要修复的upan号,并选中list disk(查看)select disk 1(选中)4,恢复u盘输入clean命令如果出现什么错误提示,再次执行clean5,退出diskpar

2021-01-27 14:46:37 1979

原创 igh etherlab主站介绍

一,简单介绍目前用的最多的开源ethercat主站是igh和soem,igh主站功能更多,结构较为复杂;soem功能相对没有那么完善,实现更为简单一些。使用场景:主站实现在带有处理器的硬件平台上,带有完整或较为完整的操作系统时用igh;如果主站实现在单片机平台上,则使用soem;igh主站依赖操作系统,而soem很容易可以移植到单片机上。二,软件结构我用的最多的是igh,总结一下igh主站软件结构。bootstrap是一个可执行脚本文件,生成configure配置文件脚本devices是一个文

2021-01-15 10:21:26 3642 7

原创 数据结构之单链表操作

数据结构,单链表操作,本来应该三年前就应该会的,奈何上学的时候呼呼睡大觉,最近看代码又接触到了,花了几天时间自己重新写了一下链表操作应该是基础的,并且需要会的,虽然只是简单地初始化,增加链表节点等简单操作,但是考查了很重要的知识点,指针,结构体,形参实参,还有简单的算法#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct List{ struct List *n

2021-01-12 19:23:49 225

原创 C语言形参和实参问题

实参:函数调用时传入的参数,是一个已知的数据,常量或者被赋值的变量等;形参:函数被调用时接收实参的参数,是一个变量。用两个例子来解释:example1:#include <stdio.h>int function(int a,int b) //函数定义{ a++; b++; return 0;}int main(int argc, char *argv[]){ int i = 5, j = 6; function(i, j); //函数调用 printf("i =

2020-12-29 11:31:09 382

原创 stm32之GPIO介绍

1.GPIO是什么GPIO( general purpose intput output )是通用输入输出端口的简称,可以通过软件来控制其输入和输出。STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。2,GPIO基本结构3,GPIO工作模式输入模式输入浮空输入上拉输入下拉模拟输入输出模式开漏输出开漏复用功能推挽式输出推挽式复用功能工作模式结构图输入模式输入浮空输入上拉输入下拉模拟输入输出模式开漏输出开漏复

2020-09-28 21:33:09 529

原创 stm32寄存器模版创建

1,寄存器模版创建(1)新建一个文件夹(2)打开keil5软件,新建一个项目project->选第一个,输入名字(不可用中文),保存到刚才的文件夹下,然后会出现下面的选项,选择cpu型号,往下滑会看到stm32F103ZE,选择OK出现这样的页面关闭就好了看keil5项目已经创建成功(3)添加文件复制路径8–STM32相关资料\寄存器模板创建基础文件下的文件,然后打开新创建的项目路径,看到已经有这些文件和文件夹把复制的文件粘贴到User文件夹下回到keil5下,双击左边的s

2020-09-27 22:40:32 506

原创 stm32存储器与寄存器

存储器映射:存储器本身没有地址,给存储器分配地址的过程就是存储器映射这是ARM公司设计的stm32每部分地址控制哪部分内容,实际上并不会把4GB全部使用寄存器及寄存器映射通过给有特定功能的内存单元起一个别名,这个别名就是我们所说的寄存器,寄存器算是一个地址别名。给已经分配好地址的有特定功能的内存单元起别名的过程就叫寄存器映射...

2020-09-27 21:54:24 441

原创 stm32开发工具keil5安装

windows下开发工具下载在windows下使用keil5进行开发,keil5下载上直接搜索就好了1,安装keil5下载之后双击进行安装点击next点击I agree ,然后next输入安装路径,不能有中文名字,然后点击next然后这个随便填就好了,点击next正在安装选择安装安装完成,点击fish。如果点击完成之后提示安装什么安装包界面,直接关闭就可以这时候看桌面已经多了keil5的图标2,安装F1的安装包也是直接双击打开路径默认就可以,next直接安装

2020-09-24 22:43:26 334

原创 stm32f103介绍

完整学习一遍stm32开发板开发,并一直写笔记。这是第一课,stm32的介绍1.什么是STM32从字面意义来看:ST:意法半导体,是一个公司的名字。M:Microelectronics的缩写,表示微控制器,要注意微控制器和微处理器的区别32:32bit的意思,表示这是一个32bit的微控制器Cortex-M3采用ARMv7-M架构ARMv7架构定义了三大分工明确的系列:“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用“R”系列:针对实时系统;“M”系列:对微控制器。2.STM

2020-09-24 21:44:36 27231 1

原创 c++条件循环语句while和for

1,while语句while是一个条件循环语句写个例子,用while语句求1-10的整数和#include <iostream>int main(int argc, char **argv){ int sum=0, num=1; while(num<=10) { sum+=num; num++; } std::cout << "1+2+...+10=" << sum << std::endl; return 0;}

2020-08-17 18:40:31 1052

原创 带有输入输出的第一个C++程序

操作系统:ubuntu编辑器:vim编译器:g++先写一个简单的c++程序#include <iostream>int main(){ std::cout << "please enter two numbers:" << std::endl; int num1 = 0, num2 = 0; std::cin >> num1 >> num2; std::cout << num1 << " + " &lt

2020-08-13 19:04:35 304

转载 内核编程常见的链表操作

1,struct list_headstruct list_head { struct list_head *next, *prev;};2,初始化链表1,INIT_LIST_HEAD宏使链表的头结点和尾节点都指向自己,完成链表的初始化struct list_head ptr;#define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0).

2020-08-11 10:44:30 97

原创 c语言常用的打印/输出函数

c语言中除了最开始接触的printf()函数,还经常遇到其他函数,sprintf(),printk(),fprintf()等。1,printf()这个函数应该是用的最多的,或者是最先接触的,至少我是这样,printf()是c标准库函数函数声明为:int printf(const char *format, …)printf("<格式化字符串>", <参量表>);作用是发送格式化输出到标准输出 stdout。详细用法2,printk()printk()是内核函数。函

2020-08-10 19:09:33 6492

原创 SOEM控制伺服电机

我只完成了pv模式,对于csp模式我不知道是哪里出现了问题,有知道的可以在下方评论这个代码我的pv模式可以正常运行和控制电机,csp模式可以使能电机,但是电机不转#include <stdio.h>#include <sys/time.h>#include <unistd.h>#include <signal.h>#include "ethercattype.h"#include "nicdrv.h"#include "ethercatbas

2020-08-04 16:06:46 6776 86

原创 SOEM控制io超简洁程序

SOEM控制io超简洁程序我想用SOEM简单控制io模块,因为我的io模块每个出入输出旁边都会有一个小灯,所以这也算是点灯程序,但是我看了例子并不知道怎么修改,都说igh麻烦,我感觉这比igh更麻烦,然后我看例子和网上的例子分析了一下,要和io从站进行数据交互,要做什么必须的操作。初始化分析1,ec_init(ifname)这是最开始做的,功能:初始化SOEM,将socket绑定到ifname,ifname是你的网卡名字2,ec_config_init(FALSE)查看总线情况,可以得出从站数量

2020-07-03 09:41:04 5352 30

原创 linux下SOEM安装测试

linux下SOEM安装测试1.获取源代码http://openethercatsociety.github.io/dl/rel/SOEM-1.3.1.tar.gz如果linux系统可以联网,直接命令下载$ wget http://openethercatsociety.github.io/dl/rel/SOEM-1.3.1.tar.gz2.安装linux下SOEM安装是非常简单的,下载源码之后解压$ tar xvf SOEM-1.3.1.tar.gz$ cd SOEM-1.3.1$ so

2020-07-01 10:25:39 4469 10

原创 ubuntu开机设置默认进入文本界面并自动登录

如果我们安装ubuntu之后开机自动进入图形化界面(如果安装的系统有带图形化)。设置开机默认进入文本界面。打开grub文件sudo vi /etc/default/grub找到第11行GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”改为GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash text”保存退出更新引导文件sudo update-grub之后重启将进入文本界面文本界面自动登录用户1,写一个脚本vi t

2020-06-08 10:56:45 1778

原创 C语言中static修饰函数和变量用法

static修饰函数,局部变量和全局变量的用法在c语言中static关键字可以修饰函数和变量。修饰变量又可以分为修饰全局变量和局部变量。static作用是限定变量的生命周期,限定变量或函数的作用域。写在前面:变量的生命周期是指,相对于程序运行的进程生命周期,变量存在的时间段。变量的生命周期由变量的存储类型(位置)决定。因此static的第1种含义也可以理解为,static定义了变量的存储类型(位置)。C语言中,变量存储位置分为栈、全局静态区、堆。栈用来做函数调用,参数传递等,在程序的运行过程中是操作

2020-05-22 10:22:25 12606 1

原创 IGH EtherCAT应用层控制电机代码

在主站配置好之后,连接从站,我用的是雷赛的伺服,对于大部分来说改个pid,vid,应该就可以用,这个是用的pv模式应该还是容易懂的,我把一些用不到的代码给阉割了/** * compile : gcc test.c -o test -I/opt/etherlab/include -L/opt/etherlab/lib -lethercat * /#include <errno.h>#include <signal.h>#include <stdio.h>

2020-05-15 10:47:33 6769 36

原创 igh ethercat主站文档(中文翻译下)

此翻译主要是用翻译软件翻译,部分自己修改,若有不当之处,可以下方评论或私聊我提醒修改,若转载,请注明出处这篇是5-9章内容,前四章链接5状态机EtherCAT主站的许多部分都实现为有限状态机(FSM)。 尽管这在某些方面导致了更高级别的复杂性,但也打开了许多新的可能性。下面的短代码示例示例显示了如何读取所有从属状态,此外还说明了“顺序”编码的限制:ec_master_simple io()函数提供了一个简单的接口,用于同步发送单个数据报并接收result1。 在内部,它对指定的数据报进行排队,调

2020-05-12 09:43:49 3836

原创 igh ethercat主站文档(中文翻译上)

此翻译主要是用翻译软件翻译,部分自己修改,若有不当之处,可以下方评论或私聊我提醒修改,若转载,请注明出处本文是1-4章节。1 The IgH EtherCAT Master本章介绍有关EtherCAT主站的一些常规信息。1.1功能摘要下面的列表简要介绍了主要功能。•设计为Linux 2.6 / 3.x的内核模块。•根据IEC 61158-12 [2] [3]实施。•带有支持EtherCAT的本地驱动程序,可用于几种常见的以太网芯片,以及用于Linux内核支持的所有芯片的通用驱动程序。–本地

2020-05-12 09:16:41 6307 7

原创 linux有趣命令或者系统小功能

有一些不是特别常用,但是是不是又要用到的命令,或者比较麻烦一些的命令,遇到感觉有需要就会在这记录下来,后期会不断增加的1.Ubuntu系统挂载U盘查看u盘/磁盘信息,主要看设备号和文件类型$ sudo fdisk -l挂载U盘$ sudo mount -t vfat /dev/sdb1 /media //fat32格式$ sudo mount -t nfs /dev/sdb1 /media //NTFS格式$ sudo umount /media/ //卸载挂载u盘这样,操作medi

2020-05-11 12:00:32 186

原创 EtherCAT源代码分析(1)

主站应用层代码(example/user/main.c)为入口,好好探究一下主站都做了什么,一点点分析。 master = ecrt_request_master(0);在文件ecrt.h中对于这个函数的描述是这样的/** Requests an EtherCAT master for realtime operation. * * Before an application can ...

2020-05-08 17:00:32 4834 22

原创 igh ethercat应用层代码分析

igh ethercat应用层代码分析igh ethercat可以自己编写应用层代码与从站进行数据交互,本身主站给了例子,在example文件夹下,根据自己平台选择看某个例子,一般刚开始可以看user文件夹下的main.c文件,下面是我进行了一些修改,也带了一些解释。其实也就是控制io做流水灯操作。#include <errno.h>#include <signal.h&g...

2020-04-30 11:17:25 3818 2

原创 在树莓派/4.x内核下安装IgH EtherCAT master主站

树莓派安装ethercat主站环境:4.14.91-rt49-v7下载源码,解压$ tar xvf ethercat-1.5.2.tar.bz2$ cd ethercat-1.5.2$ ./configure --enable-8139too=no$ make有两个警告,但是编译通过,继续执行$ sudo make modules出现错误$ vi devices/gene...

2020-04-24 13:34:54 4725 7

原创 Linux下IGH Ethercat Master安装

引言简单igh ethercat master安装1,准备工作(1)一个Linux系统,在虚拟机里面也可以,不过如果在虚拟机里面需要一些其他的设置,这个最后再说。Linux内核需要是2.6和3.x,如果不是需要更换内核版本:可以点这里查看内核版本uname -r(2)ethercat master源码,官网下载地址:http://www.etherlab.org/de/etherc...

2020-01-19 17:30:01 7226 28

原创 修改Ubuntu内核版本

我是在虚拟机安装的Ubuntu16.04,是用来搭ethercat主站环境的,但是下载的igh ethercat 官网源码,不支持Linux内核4.0以后的版本查看内核版本uname -r如果是内核版本比较高就需要降内核版本,当然这不是唯一的方法,如果内核版本较低就可以直接安装编译,我的内核版本4.4,所以我需要降低内核版本,这是我在网上搜的一些教程,总结之后,然后自己亲测的,用作记录降...

2020-01-17 13:48:57 4961 2

原创 igh ethercat master及简单介绍

接触ethercat也有一段时间了,做些小总结吧1,关于ethercatethercat是基于工业以太网的一种总线协议我接触的igh ethercat master for linux是以用ethercat协议设计的一个软件,或者说igh ethercat master实现了ethercat协议里面的主站功能,本质是一个开源软件。不过需要自己下载源码,编译,安装。ethercat协议是有两...

2020-01-17 11:21:54 5844 1

Etherlab-1.5.2.pdf

对于ethercat学习者,每次看文档都很郁闷,很多专用词,英语本来就不好,往往就错过了很多有用的信息,最后就花了几天时间完整翻译了,有需要的道友可以看一下,如果没有积分的可以私聊我,我看到会给你的,有积分的就尽量积分下载吧

2020-04-15

ethercat_z.rar

里面包括Debian安装,Ubuntu打实时补丁,树莓派系统安装,虚拟机p2v过程,ethercat源码,控制层代码,包括流水灯,电机pv,csp,csv模式,还有启动脚本详细分析,控制层代码详细分析,大约就这么多吧

2020-01-20

空空如也

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

TA关注的人

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