- 博客(33)
- 资源 (27)
- 收藏
- 关注
原创 ABB机器人RobotStudio6.08添加外部轴(验证可用,详细记录每个步骤)
外部轴相对机器人的6轴是后加的,在机器人的外部,机器人原有6轴可以联动,为了使外部轴能与机器人的6轴一起联动需要确保是“开启协调”状态。经过上述操作我们已经保存了3个位置的机器人数据,我们每执行一条指令时机器人会协调7轴联动使机器人走到当前MoveJ指令中的位置。下图调节机器人的7轴(内部6轴+外部1轴)改变机器人的位姿。对于实体外部轴,通过下图将机器人安装到外部轴导轨上,外部轴移动时会改变机器人的基础坐标系。在打开的窗口中拖拽7个轴的滑块控制7个轴的运动来改变机器人位姿,改变后的位姿如下图所示。
2025-03-05 16:51:39
1352
原创 matlab调用C/C++程序,minGW不支持C++14标准的解决方法
matlab调用C/C++程序,minGW不支持C++14标准的解决方法
2023-08-17 13:53:34
276
原创 第4章第7节 二进制信号量(三)
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 图53列出了多个不同状态的任务与这些调度表之间的关系,任务1被信号量sem1阻塞,处于非永久pend态,strDelayQue结构中的strQueHead节点被挂接到delay表,strTcbQue结构中的
2017-06-29 22:36:40
610
2
原创 第4章第7节 二进制信号量(二)
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 释放信号量的函数MDS_SemGive的代码如下:00143 U32 MDS_SemGive(M_SEM* pstrSem)00144 {00145 M_TCB* pstrTcb
2017-06-29 22:36:37
555
原创 第4章第7节 二进制信号量(一)
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 第7节 二进制信号量某些资源在同一时刻只可以被一个任务操作,实时操作系统的任务抢占特性会导致这些资源可能被多个任务同时操作,从而产生错误。本节将讲述二进制信号量的原理,可以利用二进制信号量保护这些资源
2017-06-29 22:36:34
1929
原创 第4章第6节 任务自结束
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0ss54iddw下载 第6节 任务自结束上节增加了删除任务的函数MDS_TaskDelete,任务可以调用该函数结束其它任务或自身任务的运行。在前面章节我们说过,目前任务还不具备自结束功能,需要使用类似while的结
2017-06-29 22:36:31
425
原创 第4章第5节 任务创建和任务删除钩…
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0t7gmgx2q下载 第5节 任务创建和任务删除钩子函数上节增加了任务切换钩子功能,打印出任务切换的信息,本节将增加任务创建钩子函数和任务删除钩子函数,分别打印出任务创建和删除的信息。 任务创建和删除钩子函数的原理与
2017-06-29 22:36:29
508
原创 第4章第4节 任务切换钩子函数
目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0ddwgf0k5下载 第4节 任务切换钩子函数上节,我们引入了任务的delay态,通过最后例子的打印可以看到任务在交替运行,但这个打印只发生在每个任务每次循环的开始,看不到中间运行过程中任务的切换过程。本小节将引入任
2017-06-29 22:36:26
1028
原创 第4章第3节 ;实时事件触发的实时抢…
源码请在https://github.com/ifreecoding/MbedRtos.git下载本节用户代码在打印输出方面做了较大的修改,从本节开始,串口打印功能不再由任务实时向串口打印,而是由任务先将字符串打印到内存,然后使用一个低优先级的任务从内存中取出字符串打印到串口。串口是一个低速率的外设,960
2017-06-29 22:36:08
299
原创 第4章第3节 ;实时事件触发的实时抢…
源码请在https://github.com/ifreecoding/MbedRtos.git下载下面来看一下MDS_TaskDelay函数的代码:00196U32MDS_TaskDelay(U32uiDelayTick)00197{00198M_CHAIN*ps
2017-06-29 22:36:06
390
1
原创 第4章第3节 ;实时事件触发的实时抢…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节实时事件触发的实时抢占调度在上节中我们成功的实现了任务的ready状态,并用tick中断实现了实时调度,但由于只有ready这一种状态,使得我们的例子只能不断的运行最高优先级任务。在这一节我们引
2017-06-29 22:36:03
460
1
原创 第4章第2节 ;定时器触发的实时抢占…
源码请在https://github.com/ifreecoding/MbedRtos.git下载本节中新增的重要内容已经介绍的差不多了,下面我们来看看使用tick中断的任务上下文切换过程。在本节中,tick中断被配置为使用Timer1产生IRQ中断。产生tick中断时,硬件会自动将PC指针指向I
2017-06-29 22:36:01
433
原创 第4章第2节 ;定时器触发的实时抢占…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节定时器触发的实时抢占调度在第3章,我们依靠用户代码主动调用任务切换函数WLX_TaskSwitch实现了任务切换功能,这种任务调度方式的调度时机是固定死的,只有代码运行到WLX_TaskSw
2017-06-29 22:35:58
574
1
原创 第4章第1节 ;Mindows的文件组织结构
源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节Mindows的文件组织结构在第3章,我们依据任务切换的原理编写了Wanlix操作系统,Wanlix很简单,只实现了任务切换功能,从本章开始,我们将编写Mindows操作系统,Mindows将会实现更多的功能,相对Wanlix来说要复杂一些,文件也更多一些,因此,Min
2017-06-29 22:35:55
548
1
原创 第4章 ;Mindows操作系统
源码请在https://github.com/ifreecoding/MbedRtos.git下载第4 章Mindows操作系统在第3章中,我们实现了一个简单的操作系统——Wanlix,这个操作系统是一种非抢占式操作系统,任务之间的切换需要用户主动调用任务切换函数WLX_TaskSwitch来实现。从本章开始,我们将编写一个实时抢占的嵌入式操作系统——Mindows,它
2017-06-29 22:35:53
530
原创 第3章第5节 ;发布Wanlix操作系统
源代码请在https://github.com/ifreecoding/MbedRtos.git下载第5节发布Wanlix操作系统经过前面3.1~3.3节循序渐进的开发,我们已经使Wanlix操作系统具备了最基本的任务切换功能,并在3.4节使用Wanlix开发了一个交通红绿灯控制系统,到此为
2017-06-29 22:35:50
745
1
原创 第3章第4节 ;使用Wanlix编写交通红…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第4节使用Wanlix编写交通红绿灯控制系统至此我们已经实现了一个非常简单、小巧的操作系统——Wanlix,简单到它只具备任务切换这一项任务管理功能,而且需要用户自己主动切换,实时性较差。但无
2017-06-29 22:35:47
490
原创 第3章第3节 ;用户代码入口——根任务…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节用户代码入口——根任务经过上节的修改,Wanlix操作系统可以建立任意多个任务,但是在操作系统运行之前必须得先建立一个任务,然后再调用WLX_TaskStart函数从非操作系统状态切换到
2017-06-29 22:35:45
501
原创 第3章第2节 ;任意任务间的切换
源代码请在https://github.com/ifreecoding/MbedRtos.git下载第2节任意任务间的切换上一节我们使用2个固定的任务验证了操作系统任务切换的功能,但这些代码并不具有通用性,如果要扩充其它任务,就必须修改操作系统函数,这显然是不可接受的。操作系统作为独立于用户
2017-06-29 22:35:42
520
1
原创 第3章第1节 ;两个固定任务之间的切…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节两个固定任务之间的切换程序的执行只与指令和数据相关,指令是不可修改的,编译后就确定了,能改变的只有数据,但指令需要对数据进行判断,走不同的指令分支,因此,如果我们需要控制程序的执行过程,
2017-06-29 22:35:39
664
原创 第3章 ;Wanlix操作系统
源码请在https://github.com/ifreecoding/MbedRtos.git下载第3 章Wanlix操作系统有了前面章节的铺垫,本章开始正式编写操作系统!本章将实现Wanlix操作系统,从零起步,先实现2个固定任务的互相切换来验证操作系统的切换功能,然后再不断的加入新功能,由浅入深,一步步将操作系统充实起来。每一个功能的加入都是一个独立的阶段性,读者可以通
2017-06-29 22:35:37
557
原创 第2章第5节 ;Wanlix的开发环境
源码请在https://github.com/ifreecoding/MbedRtos.git下载第5节Wanlix的开发环境芯片使用的是ADI公司的Aduc7024,前面已经做过一些介绍。软件开发环境使用的是KeilMDK4.20。Keil是德国软件公司Keil(现已被ARM公司收购)开发的嵌入式系统开发平台,Keil开发平台支持许多厂家的芯片,提供基本的最小软件系统,
2017-06-29 22:35:34
386
原创 第2章第4节 ;Wanlix的文件组织结构
源码请在https://github.com/ifreecoding/MbedRtos.git下载第4节Wanlix的文件组织结构说起写软件,还是比较容易入门的,现在电脑这么普及,随便找本软件的书籍就可以在电脑上编程了,实现一些功能,但这仅仅是编写软件的最初级阶段,一部分人可能一辈子只会停留在这个阶段,全局变量满天飞,函数没有层次结构,文件关系混乱。能够发展下去,能够编出满足功
2017-06-29 22:35:31
401
原创 第2章第3节 ;ARM7芯片的函数调用标…
源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节ARM7芯片的函数调用标准在上节,我们最后用汇编语言写了一个函数,但该函数没有入口参数,那么C语言函数、汇编函数之间是如何传递参数和返回值的?函数在执行过程中是如何使用栈的?它们需要遵守什么规则?本节我们将介绍这方面的内容。如果我们不是在编写操作系统,只是编写正常
2017-06-29 22:35:28
491
原创 第2章第2节 ;ARM7汇编语言简介
源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节ARM7汇编语言简介ARM7芯片有2种汇编语言指令集,一种叫做ARM指令集,字长为32bits,另一种叫THUMB指令集,字长为16bits。这两种指令集各有优缺点,它们可以单独使用也可以混合在一起使用,在ARM7芯片上,我们将只使用ARM指令集,在后续的Cortex芯片上
2017-06-29 22:35:25
1659
1
原创 第2章第1节 ;ARM7芯片基本结构
源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节ARM7芯片基本结构ARM7芯片构架比较简单,32bits线性地址空间统一排列,任何地址都是唯一的,不同的片上资源及外设被分配到不同的地址空间,不同数据结构的指针固定为4字节长度,这相对51芯片来说方便很多也清晰很多,从用户编程的角度来看入手比较简单,因此本手册首先选用
2017-06-29 22:35:23
821
原创 第2章 ;写操作系统前的预备知识
源码请在https://github.com/ifreecoding/MbedRtos.git下载第2 章写操作系统前的预备知识通过前面章节的介绍我们对操作系统有了初步的了解,但这也只是停留在概念阶段,这些知识对于写一个操作系统来说是远远不够的。从现在的章节开始,我们将从无到有,一步一步一个功能一个功能的写出操作系统。本章我们就先了解一下写操作系统所需要的知识,会涉及到一
2017-06-29 22:35:20
452
原创 第1章第2节 ;操作系统的分类
源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节操作系统的分类操作系统是管理整个软硬件系统的软件系统,从不同的角度操作系统可以有很多种划分,比如按与用户对话的界面分类可分为命令行界面操作系统和图形用户界面操作系统,按支持用户数的多少可以分为单用户和多用户操作系统,按功能可以分为嵌入式操作系统和PC机通用操作系统,按调度的
2017-06-29 22:35:17
771
1
原创 第1章第1节 ;为什么要使用操作系统
源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节为什么要使用操作系统在没有操作系统的情况下,C语言是以函数为单位实现功能的,一个函数一个函数串行的执行,一个完整的功能会由多个函数共同完成。然而当软件系统的功能变得多而庞大的时候,这种方法几乎无法使用,因为此时各个功能之间必然会有千丝万缕的联系,不可能依次串行的完成每个
2017-06-29 22:35:14
779
原创 第1章 ;操作系统基础知识
源码请在https://github.com/ifreecoding/MbedRtos.git下载第 1 章操作系统基础知识有很多嵌入式系统设备的资源非常少,几十K的ROM,几K的RAM,这种小系统设备上的软件功能也非常简单,软件只要按照设定好的功能周而复始的运行就可以了。这种小系统设备不需要操作系统,也几乎没有合适的操作系统能运行在资源如此少的设备上。当芯片资源越来越丰富,
2017-06-29 22:35:12
474
原创 前言
源码请在https://github.com/ifreecoding/MbedRtos.git下载前言目前我所见的绝大部分介绍操作系统的书籍只是从应用的角度告诉读者应该如何使用操作系统,而且相当一部分书籍只是把原有的用户手册整理了一下便出书了,这样的书籍只能当做一本使用手册去查,从学习的角度来说意义不大,一不介绍实现背景、原理,二不介绍应用例子,无法让读者深刻体会操作系统的用法。
2017-06-29 22:35:09
548
1
原创 底层工作者手册之嵌入式操作系统内…
源码请在https://github.com/ifreecoding/MbedRtos.git下载我在写本手册前没有任何有关操作系统内核的知识,有的仅仅是简单的使用过2个操作系统的经验,也仅限于对操作系统应用层一些功能的简单了解。我在写操作系统内核时也只能从这些应用经验出发,参考一些资料,更多的是自己想办法用最顺其自然的代码实现操作系统的这些内核功能。因此,你要相信,既然我能在
2017-06-29 22:35:06
1575
NIST CCM和GCM标准
2022-09-28
Video for Linux Two API Specification.pdf
2021-05-07
底层开发者手册之C语言基础及项目开发2.4.5
2013-08-06
在STM32F103上编写一个俄罗斯方块游戏
2012-05-22
破坏STM32中断机制引发的异常
2012-05-22
教你如何找到导致程序跑飞的指令
2012-05-22
导致STM32芯片指令速度变化的问题分析过程
2012-05-22
C语言浮点数运算
2012-05-22
底层工作者手册之嵌入式操作系统内核5.3
2012-02-18
底层工作者手册之嵌入式操作系统内核4.10
2011-12-22
[删除] 底层工作者手册之嵌入式操作系统内核4.9
2011-12-12
从ARM汇编指令机器码解释一些问题
2011-12-07
底层工作者手册之嵌入式操作系统内核4.7
2011-11-17
底层工作者手册之嵌入式操作系统内核4.6
2011-11-06
底层工作者手册之嵌入式操作系统内核4.5
2011-10-31
底层工作者手册之嵌入式操作系统内核4.4
2011-10-25
底层工作者手册之嵌入式操作系统内核4.3
2011-10-21
底层工作者手册之嵌入式操作系统内核(Mindows4.2)
2011-10-10
底层工作者手册之嵌入式操作系统内核3(wanlix全套合集)
2011-10-02
[删除] 底层工作者手册之嵌入式操作系统内核3.4
2011-09-29
底层工作者手册之嵌入式操作系统内核3.3
2011-09-28
底层工作者手册之嵌入式操作系统内核3.2
2011-09-27
wanlix mindows操作系统源码
2011-09-25
底层工作者手册之嵌入式操作系统内核3.1
2011-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人