自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学海无涯

充满好奇心与恒心

  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

转载 PPC指令集

一、存储/加载指令1 整数存储指令整数存储指令如表2所示。表2 整数存储指令  名称 助记符 语法格式 字节存储(偏移地址寻址) stb rS, d(rA) 字节存储(寄存器寻址) stbx rS, r...

2018-09-20 10:30:30 11214 1

转载 《CMake实践》笔记三

《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX《CMake实践》笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 五、静态库与动态库构建读者云,太...

2018-08-15 08:56:12 420

转载 《CMake实践》笔记二

《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX《CMake实践》笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 四、更好一点的Hello World没有最好,只...

2018-08-15 08:55:05 1304

转载 《CMake实践》笔记一

 《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX《CMake实践》笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 前言:开发了5,6年的时间,如果没有K...

2018-08-15 08:53:55 345

原创 shell编程学习

#! /bin/bash#Display a lineecho "luowei"log="money"echo $logecho "the \$log is $log"echo "\$0 = $0"echo "\$1 = $1"echo "\$2 = $2"echo "$# files to Display"for file in

2018-07-30 20:34:17 241

原创 固高运动控制卡学习8 --高速硬件捕获

捕获即当某一种信号触发时, 运动控制器能准确记录触发时刻轴的位置信息。 控制器提供四种捕获方式, Home 捕获, Index 捕获、 探针(Probe)捕获和 HSIO 捕获。sRtn = GT_Open();// 复位运动控制器sRtn = GT_Reset();// 配置运动控制器// 注意:配置文件test.cfg取消了各轴的报警和限位sRtn = GT_LoadConfig("...

2018-05-10 14:44:55 8170 1

原创 固高运动控制卡学习7 --模拟量

一、DACDAC 指令列:GT_SetDac 设置 DAC 输出电压GT_GetDac 读取 DAC 输出电压        控制器的模拟量输出通道在闭环控制模式下,作为伺服电压输出控制通道,与驱动器连接,是不允许用户操作的。在开环控制模式下,可以作为通用的电压输出通道。上电复位后,控制器默认为脉冲(开环)控制模式,用户可以调用 DAC 指令列表中的指令来设置和读取 dac 输出电压。轴控接口的 ...

2018-05-10 09:45:15 5694 2

原创 固高运动控制卡学习6 --编码器

        控制器内部为每个轴配置了脉冲计数装置。控制器默认的脉冲计数源是外部编码器。如果用户在接线时将外部编码器的信号与端子板 25pin 轴接口的编码器信号接在一起,就可以调用上述指令读取外部编码器的值。如果用户没有接外部编码器反馈信号,例如,使用步进电机时没有编码器反馈部件, 则用户调用 GT_GetEncPos 读取的编码器位置为 0。         控制器还可以配置脉冲计数源是脉冲...

2018-05-10 09:27:13 5504

原创 固高控制卡学习5 --数字 IO

        调用 GT_GetDi 指令可以读取限位、驱动报警、原点、通用输入、手轮接口这些数字量输入接口的输入电平状态。其中,手轮接口为 5V 电平输入,其余 IO 为 24V 电平输入。调用 GT_SetDo 指令可以设置伺服使能、报警清除、通用输出这些数字量输出接口的输出电平状态。        调用 GT_GetDiRaw 指令可以读取数字量输入接口的原始电平状态。        GT...

2018-05-10 09:22:27 7007 1

原创 固高控制卡学习4 --刀向跟随功能

        刀向跟随,就是在插补运动的过程中,使非插补轴随着插补运动的合成位移的变化而变化,从而实现在加工过程中,刀具始终处于合适的加工方向和位置的工艺。在本控制器的插补模块中有两条指令来实现该工艺: GT_BufMove 和 GT_BufGear。 (1) GT_BufMove        在插补运动过程中,如果需要坐标系以外的轴进行点位运动,则可以通过在缓存区中压入GT_BufMove ...

2018-05-09 17:18:25 4251

原创 固高运动控制卡学习3 --前瞻预处理

        在数控加工等应用中,要求数控系统对机床进行平滑的控制,以防止较大的冲击影响零件的加工质量。运动控制器的前瞻预处理功能可以根据用户的运动路径计算出平滑的速度规划,减少机床的冲击,从而提高加工精度。                需求分析:如果按照图  (b)所示的速度规划,即在拐角处不减速,则加工精度一定会较低,而且可能在拐弯时对刀具和零件造成较大冲击。如果按照图  (c)所示的速度...

2018-05-09 15:46:28 7548 1

原创 固高运动控制卡学习2 --缓存区 FIFO 的管理

        每个坐标系包含两个缓存区(FIFO): FIFO0 和 FIFO1,其中 FIFO0 为主要运动 FIFO, FIFO1为辅助运动 FIFO,每个 FIFO 都含有 4096 段插补数据的空间。       缓存区的释放:用户如果不使用插补模式,直接切换到其他运动模式,插补模式的缓存区就自动释放了。如调用指令 GT_PrfJog 即可。         在运动控制器的插补模式下,不...

2018-05-09 10:02:16 3933

原创 固高运动控制卡学习1--运动模式介绍(1)--点位,Gear,Jog,插补

        运动模式是指规划一个或多个轴运动的方式。 运动控制器支持的运动模式有点位运动模式、 Jog运动模式、电子齿轮(即 Gear) 运动模式和插补运动模式 GT_PrfTrap 设置指定轴为点位模式GT_PrfJog 设置指定轴为 Jog 模式GT_PrfGear 设置指定轴为电子齿轮模式GT_GetPrfMode 查询指定轴的运动模式        在设置或切换运动模式时,要保证轴处于...

2018-05-08 11:34:48 28885 12

转载 相机模型详解及标定原理

数码相机图像拍摄的过程实际上是一个光学成像的过程。相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系以及这四个坐标系的转换。一、理想透视模型——针孔成像模型相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。实际的成像系统是透镜成像的非线性模型。最基本的透镜成像原理如图所示:其中 u 为物距, f 为焦距,v 为相距。三者满足关系式:...

2018-04-17 09:59:33 4513

原创 STM32f4常用结构体

时钟配置结构体typedef struct{   uint32_t ClockSource; / *TIM时钟源 * /   uint32_t ClockPolarity; / *TIM时钟极性    * /   uint32_t ClockPrescaler; / *TIM时钟预分频器    * /   uint32_t ClockFilter; /

2018-01-23 21:24:48 5680

原创 stm32F4编码器测速并通过串口打印--- 程序源码

一、使用cubeMX软件对程序需要使用的端口和资源进行初始化。为了保持程序的简洁性,这里仅使用一个串口和一路通用定时器。(1)引脚的初始化注:在引脚配置这里,是没有编码器模式的,不知道为什么。高级寄存器是由combined channels选项的。这里先暂时选择为Input Capture direct mode,后面在针对具体的代码进行修改即可。(2)时钟的配置

2018-01-11 20:04:42 13337 3

原创 STM32定时器 相关函数介绍

相关具体内容参考 stm32f4xx_hal_time.h几种模式函数的类型都差不多,包括基本类型(Base),输出比较(OC),输入捕获(IC),pwm(PWM),单脉冲(One_Pulse)和编码器(Encoder)。/****** xxx使用上述几种模式的英文替换即可*******/HAL_TIM_xxx_InitHAL_TIM_xxx_DeInitHAL_TIM_xx

2018-01-07 14:48:15 8317 2

原创 STM32定时器同步模式 四种

typedef struct { uint32_t MasterOutputTrigger; //主模式选择。选择具体模式发送到TRG0上。 uint32_t MasterSlaveMode; //主定时器的从模式使能与失能位(TIM_MASTERSLAVEMODE_ENABLE或TIM_MASTERSLAVEMODE_DISABLE)}TIM_MasterConfigT

2018-01-06 16:51:32 40317 2

原创 STM32中断相关

一般IO口的初始化过程 下面以初始化E端口的0、1、2、3引脚为例。void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable--端口时钟初始化*/ __HAL_RCC_GPIOE_CLK_ENABLE(); /*Configure GPIO pin O

2018-01-05 09:03:35 1005

原创 STM32的DMA功能配置过程

配置 DMA 数据流 x(其中 x 是数据流编号)时应遵守下面的顺序: 1. 如果使能了数据流,通过重置 DMA_SxCR 寄存器中的 EN 位将其禁止,然后读取此位以确认没有正在进行的数据流操作。将此位写为 0 不会立即生效,因为实际上只有所有当前传输都已完成时才会将其写为 0。 当所读取 EN 位的值为 0 时,才表示可以配置数据流。因此在开始任何数据流配置之前,需要等待 EN 位置 0。应将

2018-01-01 17:03:46 2852

原创 STM32的GPIO

和GPIO相关的寄存器如下:GPIO 端口模式寄存器 (GPIOx_MODER)GPIO 端口输出类型寄存器 (GPIOx_OTYPER)GPIO 端口输出速度寄存器 (GPIOx_OSPEEDR)GPIO 端口上拉/下拉寄存器 (GPIOx_PUPDR)GPIO 端口输入数据寄存器 (GPIOx_IDR)GPIO 端口输出数据寄存器 (GPIOx_ODR)GPIO 端口置位/复位寄存

2018-01-01 15:54:33 1686

原创 STM32F407 入门一

一、程序执行的一般流程CM4内核通过ICode从Flash读取程序,然后进行计算,计算过程根据程序内容可能需要通过总线从某个外设读取数据,执行数据读取后,然后又进行计算得到计算结果后,通过总线把结果数据传送到特定的外设,外设在得到数据后做出对应的动作。CM4内核整个计算过程会产生很多中间变量,所以CM4内核会与SRAM之间有频繁的数据传送过程。 二、STM32f4的寄存器组: 三、流水线具有以下

2017-12-29 16:56:10 17776

原创 ROS中rviz添加urdf文件显示机器人模型

下面为启动rviz并加载urdf文件格式机器人模型的代码: 虽然有一些不懂得,但是是可以启动并正确加载机器人的。<launch> <arg name="model" default="/home/XXX/3D_model/src/robot1_description/urdf/robot1.urdf"/> <arg name="gui" default="true" /> <arg na

2017-12-01 15:32:21 10976 1

转载 关于ubuntu开机菜单栏和任务栏不见了的有效解决方法

刚学习ubuntu,总有些像我这样不折腾就不舒服的人,今天改了一下主题,图标什么的,重启开机后就发现!咦!我的菜单栏和任务栏呢?它们都跑到哪里去了! 于是就各种百度啊,google啊,试过一大堆的方法,都没法解决! 终于!皇天不负有心人,在Unity doesn’t load, no Launcher, no Dash appears这里找到了答案,ps:英文好的可以直接看原文解决! 罪魁祸首

2017-11-28 15:19:46 3587

转载 1、matlab机器人运动学计算

一、两连杆机器人 1.Link Link()是构建连杆的基本函数 建立连杆的基本规则是 L = Link(DH, OPTIONS) DH = [THETA D A ALPHA SIGMA OFFSET] THETA D A ALPHA 为基本的DH参数 theta 关节角度 d 连杆偏移量 a 连杆长度 alpha

2017-11-27 15:14:48 39871 5

原创 2、ros常用命令

rosnoderospack

2017-11-24 14:36:20 274

原创 1、ros包的创建

1、首先创建一个工作目录文件mkdir -p ./catkin_ws/src2、在工作区目录下执行执行catkin_make使用catkin_make命令后就可以得到以下的目录结构。 3、在src目录下建立包: 使用catkin_create_pkg 命令,在src目录下建立一个包,示例如下:catkin_create_pkg beginner_tutorials std_msgs rosp

2017-11-24 09:48:40 3853

原创 arduino学习第一课

一、RS232不可以直接接arduino串口 标准的 rs422或者 rs232都不能直接接在arduino模块上,因为电压不对的。 TTL与232的区别: http://www.cnblogs.com/mylinux/p/4026098.html 具体的方法是使用232转TTL模块。下面为一个通信实例: http://blog.csdn.net/sdlgq/article/details

2017-10-30 17:09:30 943

原创 Dobot的一些理解

1、Dobot机器人是采用arduino Mega 2560控制器. 插上Dobot机器人可以看到显示如下: 2、运动模式 示教模式(Teach Playback) 机器人的抓取物品采用的是示教模式(Teach Playback),通过按键调节机械臂的位置,并将位置信息保存下来。然后机器人根据上位机记录的位置点来运行。 雕刻模式(Write) 点击openfile,导入Plt文件。点击打

2017-10-25 18:56:08 5409

转载 3D打印控制板

RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电。 如何使用: 1、需要用到的模块或器件: Arduino Mega2560 主控板(该套件包含):这是3d打印机的大脑,负责控制整个打印机来完成特定的动作,如打印特定的文件等; RAMPS1.4 (该套件包含):这是上面主控板的拓展板,有它是为了更好的与其

2017-10-24 19:46:14 8457

转载 步进电机的细分控制原理

看完第一篇文章应该对步进电机的结构有所了解了,下面将详细介绍一下步进电机的细分控制。   无论什么样的电机,控制方法和其结构是息息相关的。通过上一篇文章之后,我们知道按一定的顺序给步进电机的各相轮流通电,这样步进电机才能转动起来。这就是控制电机应该知道的第一个知识点:电机运行时,各相通电需要满足一定的时序。第二个知识点就是力矩的概念,电机力矩的大小和绕组数量、通电电流大小有关。   那么什么是细

2017-10-21 11:23:29 52322 1

转载 程序的几种常用格式文件

int global;int calculate() { int a,b,c; b=1; return c; } int main() { calculate(); }一、编译把每个函数翻译成可以运行的机器指令,但其中调用的函数和全局变量因为还没有分配具体的物理地址,所以会先保留其符号,main函数编译后的大

2017-10-20 10:08:36 5186

原创 布局文件与控件使用的技巧

1、使用一下代码将activity中系统自带的标题栏隐藏掉,从而使用我们自己的指定的标题栏。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_like_iphone);

2017-10-18 10:29:28 298

原创 使用support库实现百分比布局

使用support库实现百分比布局,我们只需要在build.gradle中添加百分比布局库的依赖即可。具体如下:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2

2017-10-17 17:15:55 433

原创 布局相关的知识点

1、 android:gravity="center"//一般指文字在控件中的对齐方式 android:layout_gravity="right" //一般指控件在布局中的对齐方式2、使用android:layout_weight去分配控件占用的空间时,规范写法试讲相应的尺寸设置为0,通过android:layout_weight来设置各元素所占用的比例。各个控件的android:layou

2017-10-17 16:23:39 174

原创 活动中的临时数据的保存和提取

当活动跳转到之前已销毁活动后,之前输入的信息将会丢失。可以采用一定的方法将数据保存下来,在返回到之前的活动后还可以将数据在恢复出来。 EditText et1=(EditText)findViewById(R.id.edit1); @Override protected void onSaveInstanceState(Bundle outState) { super.on

2017-10-15 12:26:19 1803

转载 android活动的生成周期及启动模式

一、活动的生成周期分别为:onCreate()、onSart()、onResme()、onPause()、onStop()、onDestroy()、onRestart()。 1.运行状态:当一个活动处于栈的顶部时,这时活动就处于活动状态,系统是不愿意回收处于活动状态的,会影响用户体验。 2.暂停状态:当一个活动不再处于栈的顶部时,但仍然可见时,这时就是暂停状态了。处于暂停

2017-10-15 11:59:42 230

原创 活动间的数据传递

数据传递包含数据的发送与接收 一、向一个活动传递数据(startActivity) 1、数据发送 使用Intent的putExtra的系列重载方法。可以把想要传递的数据暂存在Intent中。bt5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {

2017-10-15 11:51:57 372

原创 使用intent切换活动

Intent之间的切换可以使用显示Intent和隐式Intent。 1、使用显示Intent 使用Intent创建Intent 的实例。构造函数的参数有两个,见下例: bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i

2017-10-14 13:03:01 392

原创 toast和menu的使用

1、toast主要是用在应用程序中输出一些短小的消息给客户。 Toast.makeText(this, "you click add", Toast.LENGTH_SHORT).show();makeText有三个参数,第一个参数是context,第二个参数是现实的内容,第三个参数是显示的时间,可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG 2、使用Menu

2017-10-14 12:27:27 229

配置好的固高运动控制卡C#项目并实现简单的脉冲输出功能

配置了运动控制卡的动态库,实现了简单的对话框界面并利用动态库实现了指定电机脉冲的输出,在运动控制卡上测试可以使用。

2018-05-11

空空如也

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

TA关注的人

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