自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EtherNet/IP---4 EDS

只有在基于 EDS 的配置工具中才能使用本节中指定的连接。使用的传输类型和选择的连接参数必须产生与目标设备功能匹配的有意义的组合。将依次介绍 EDS 的各个部分(因为它们出现在 EDS ASCII 文件中,带括号),描述它们的功能和它们包含的信息。在具有内置交换机的设备中,即具有多个以太网端口的设备中,除非从一个端口到另一个端口执行 CIP 路由,否则仍然不需要此部分(或仅限于一个条目)。因此,必须通过其运行时选项来区分的任何设备都必须由不同的 EDS 覆盖,因此,它们必须具有不同的 ID 对象属性。

2024-05-31 17:51:07 1728

原创 EtherNet/IP---3报文解析

如下所示的数据包,命令字段是0x63,代表“List Identity”命令,上下文是“0x00006a0ebe64”。这个命令与Modbus功能码43非常相似,可以查询设备信息,如供应商、产品、序列号、产品代码、设备类型和版本号等。所有的请求报文中,状态码被置为“0”。O->T:实例号为0x97=151,0x96=150,0x64=100(LED)O->T:实例号为0x97=151,0xee=238,0x65=101(SW)命令的发送者生成这六字节值,接收方将原封不动的返回该值。

2024-05-31 17:47:33 809

原创 EtherNet/IP---2面向对象的协议

在CIP应用层中,设备使用对象模型表示(图4)。应用程序对象定义了设备数据如何以一种通用的方式表示和访问。特定于网络的对象定义了如何配置IP地址等参数和特定于以太网/IP的功能。

2024-05-31 17:39:57 1971

原创 EtherNet/IP----1初识

EtherNet/IP™于2001年推出,目前是最发达、最成熟、最完整的工业以太网解决方案,可用于制造和过程自动化。EtherNet/IP是在其上层实现通用工业协议(CIP™)的网络家族的成员。CIP包括一套全面的消息和服务,用于各种制造和过程自动化应用,包括控制、安全、安保、能源、同步、运动、配置和信息。作为一种真正独立于媒体的协议,CIP得到了全球数百家供应商的支持,它为整个制造企业的用户提供了统一的通信架构。

2024-05-31 17:34:01 1441

原创 µC/OS-III 事件标志

接着按下按键 0,使得 task1 任务将事件标志组中的事件标志 0 置 1,随后立马就能看到task3 任务在 LCD 上显示了事件标志组中事件标志的值为 1。事件标志是一个用于指示事件是否发生的比特位,因为一个事件是否发生只有两种情况,分别为事件发生和事件未发生,因此只需一个比特位就能够表示事件是否发生,µC/OS-III。任务和 task3 任务,并且 task1 任务、task2 任务和 task3 任务的任务栈都是动态分配的,当然,的代码是处于临界区的,这是因为在本次实验中,task2。

2023-12-14 09:24:21 29

原创 µC/OS-III 消息队列

在上图中可以看到,在靠近接收任务的地方有一个代表超时“沙漏”,这表示任务从消息队列中接收消息是可以指定超时时间的,这个超时时间说明接收消息的任务愿意在消息队列中无消息的时候,等待一定的时间,如果超过了指定的这段时间,消息队列中还是没有消息,那么将接收任务将收到超时相应的错误代码,当然,也可以指定等待的时间为无限长,那么接收消息的任务将一直被挂起,直到消息队列中有消息。在这种情况下,发送消息的任务或中断,可以指定发送消息到挂起等待任务链表中任务优先级最高的任务或者是发送到挂起等待任务链表中的所有任务。

2023-12-13 09:09:44 41

原创 µC/OS-III 信号量与互斥信号量

优先级翻转问题指的是,当一个高优先级任务因获取一个被低优先级任务获取而处于没有资源状态的二值信号量时,这个高优先级的任务将被阻塞,直到低优先级的任务释放这个二值信号量,而在这之前,如果有一个优先级介于高优先级任务和低优先级任务之间的任务就绪,那么这个中等优先级的任务就会抢占低优先级任务的运行,这么一来,这三个任务中优先级最高的任务反而要最后才能运行,这就是二值信号量带来的优先级翻转问题,用户在实际开发中要注意这个问题。任务的任务栈都是动态分配的,当然,也可以静态地定任务栈,就像定义一个数组一样。

2023-12-12 09:15:06 67

原创 µC/OS-III 任务切换

就会自动地触发任务切换。当然,要注意的是,触发任务切换并不一定会切换任务,而仅仅是保证系统运行的任务为系统中任务优先级最高的就绪态任务。的核心是任务管理,而任务切换是任务管理的重中之重,系统中任务切换的过程是决定操作系统运行效率和稳定性的因素之一,尤其是对于实时操作系统。是一 个抢占式的内核,系统会保证当前执行的任务,一定是系统中任务优先级最高的就绪态任务, 因此 µC/OS-III。异常的中断优先级被设置为最低的中断优先级,因此在所有中断的中断服务函数处理完成后,就会跳转到 PendSV。

2023-12-08 09:38:53 29

原创 µC/OS-III 启动流程

在创建一个任务的时候,会初始化任务控 制块中的成员变量,但最重要的还是初始化的任务的任务栈,任务栈中就包含了任务在获得 CPU 使用权时,应该从哪里开始执行、任务函数意外返回,要返回到那里去、任务函数的参数 以及任务执行过程中的 CPU。会根据配置文件的配置,进行创建或不创建),但是以上这三个任务都属于内核任务,应用程序。任务和软件定时器任务(其中空闲任务是一定会被创建的,而任务统计任务和软件定时器任务。的任务,因此在开始任务调度之前,还需要至少创建一个应用任务,这个应用任务来负责初始。

2023-12-07 10:22:50 29

原创 UCOSII通过OSTaskStkChk()函数计算OSTaskCreateExt()创建的线程的任务栈剩余量

其中,prio为任务的优先级,p_stk_data为指向OS_STK_DATA结构体的指针,用于存储任务栈的信息。其中,p_tos为指向任务栈栈顶的指针,p_stk为指向任务栈栈底的指针,stk_size为任务栈的大小。其中,prio为OSTaskCreateExt()创建的线程的优先级。

2023-11-01 15:00:55 146

原创 IAR断点打不上解决方案

IAR断点打不上

2023-10-31 15:44:42 190

空空如也

空空如也

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

TA关注的人

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