一.前言在上节我们实现了FTP网络传输功能,实现了通过网络对设备的文件进行读写的功能,但是我们要是没网呢,想要导出数据文件怎么办??首先想到了USB,这次我们通过usb的otg接口,实现一个模拟读卡器的功能,将设备插入到电脑后,将我们的sdcard作为一个U盘,我们就可以直接通过电脑进行拷贝了。此次我们选用了usb-device模式,usb提供的复合设备类型,可以让给usb添加虚拟串口及读卡器的功
转载
2024-04-01 06:17:46
233阅读
平台:正点原子STM32F407探索者开发板 + FreeModbus V1.6 + RT-Thread源码链接:https://www.embedded-solutions.at/en/freemodbus-downloads/源码列表如图所示,需要的文件包括modbus文件夹和demo文件夹内的port相关文件,port文件位置如下图在BASE文件夹内有一个port文件夹(内含需要的port相
转载
2024-04-23 14:40:12
228阅读
1评论
随着协议种类的增多及复杂程度的增加,像上小节手动解析数据包的方式工作量会大量增加,所以需要一个规范的、完整的协议栈(例如LWIP,uip等)来处理数据包,这样,用户只关心应用层的数据即可;另外,LWIP虽然在无需操作系统也可以运行,但性能较差,API接口使用也受限制,所以还需要一个RTOS配合使用,相得益彰;所以本小节与下小节进行移植FreeRTOS与LWIP,后续小节再继续进行网络协议的介绍。本
转载
2024-09-28 12:25:57
182阅读
一、准备一个STM32F407的基础工程,越简单越好,向工程中添加相应文件1、添加FreeRTOS源码(1)、在基础工程文件中新建一个名为FreeRTOS的文件夹,将FreeRTOS的源码添加到文件里,如下图所示:2、在portable文件夹中只保留 keli,MemMang,RVDS三个文件夹即可,其他全部删除,如下图所示二、向工程分组中添加文件1、打开基础工程,在工程文件中新建分组FreeRT
STM32F407 FreeRTOS移植一、获取FreeRTOS源码打开FreeRTOS官网:www.freertos.org,在官网下载即可,这里不做步骤说明,或者通过百度下载即可,下载网址: 链接:https://pan.baidu.com/s/1l3QMTdRNGPFbZfb-d2McRw 提取码:yyds二、FreeRTOS移植2.1准备工程使用一个配置好时钟的工程,如LED库函数开发工程
from:http://www.51plc.com/thread-10584-1-2.html表1 ModBus功能码功能码名称作用01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02读取输入状态取得一组开关输入的当前状态(ON/OFF)03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05强置单线圈强置一
概念 先明确一个概念:每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态。接收缓冲区把数据缓存入内核,应用进程一直没有调用read进行读取的话,此数据会一直缓存在相应 socket的接收缓冲区内。再啰嗦一点,不管进程是否读取socket,对端发来的数据都会经由内核接收并且缓
转载
2024-09-20 07:33:38
169阅读
前一段时间一直在研究modbus协议的源代码,并且自己用单片机C实现了一下但是其实没什么卵用的,因为根本就不可能用在实际工程中也是自己当时太不懂行情了上网搜了一下我觉得实际人家产品上用的很少应该是自己去写,因为那根本就不合算而且还会出错,又走了弯路我觉得一般的做从站用freemodbus就很好也是因为水平太菜就这个freemodbus也差不多弄了有1个礼拜今天终于搞定了能转起来并能正确的返回数据因
转载
2024-04-25 13:10:45
92阅读
1、移植前准备一、开发环境MDK、STM32F103R8T6(我身边的板子是这个型号、学习用)二、简单工程里面不能有 SysTick,PendSV 和 SVC 三个系统中断的使用,因为 FreeRTOS 系统要使用这三个中断2、正式移植一、从官网下载FerrRTOS FreeRTOS下载地址 https://sourceforge.net/projects/fre
转载
2024-03-25 11:08:42
236阅读
目录1.第一步准备好基础工程 2.软件仿真相关设置3.软件仿真环境,printf重定向4.移植FreeRtos源码4.1 拷贝文件5.增加freertos源码到keil工程中5.1增加.c文件到工程:5.2增加头文件到工程:6.修改编译问题7.修改SYSTEM文件和systick中断处理函数7.1 修改sys.h文件7.2 修改usart.c文件7.3 修改delay
线程与线程就绪列表: 在RTT系统中,链表是一个相当重要的数据结构,RTT通过链表,来管理一些事物,例如说线程。 在线程控制块中,有一个线程链表节点:rt_list_t tlist; /**< the thread list */ 这个节点可以将线程控制块挂载到一些链表中。在线程创建之后,线程首先被添加到就绪列表中,
转载
2024-10-27 08:58:37
50阅读
任务函数原型:void ATaskFunction(void * pvParameters); 任务不允许从实现函数中返回.如果一个任务不再需要,可以用vTaskDelete()删除;一个任务函数可以用来创建多个任务,各任务均是独立的执行实例,拥有属于自己的栈空间. 典型的任务函数结构: void ATaskFunction( void *pvParameters )
{
下面为Rt-Thread移植到stm32的过程。一、下载 RT-Thread Nano 源码RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等
1. 前言因为工作的需要,学习FreeRTOS已经有一段时间了。接下来一段时间会定期更新本人学习FreeRTOS的系列笔记。系列笔记主要参考了官方的说明手册和FreeRTOS的源代码。其主要思想是先了解FreeRTOS的对外接口,即理清其对外可见的功能,以此作为切入点,逐步深入其内涵(即内部实现)。这是一种由外而内的学习方法,其好处很明显:由浅入深,逐渐深入;满足不同需求层析的人的需求:对于只需要
1 概述这是一个针对RT-Thread国产操作系统的FreeRTOS操作系统兼容层,可以让原有基于FreeRTOS操作系统的项目快速、无感地迁移到RT-Thread操作系统上,实现在RT-Thread操作系统上无感的使用FreeRTOS的API,同时可以使用RT-Thread的丰富组件。项目基于FreeRTOS V10.4.6版本。1.1 RT-Thread的其他RTOS兼容层RT-T
转载
2024-03-18 11:46:06
76阅读
一、初始RT-Thread RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统。以下我们就简称RTT,RTT是一款完全由我们国内团队开发的嵌入式实时操作系统,它诞生于2006年,最初源于对当时小型RTOS现状的诸多不满,RTT要打造一个精致而优雅的操作系统。从最初的V0.0.1发布,历经十几个年头的沉淀到今天的V4.0.0的布,它正演变成一个
线程?它是啥? 在我们刚开始进入嵌入式软件的编程领域时,每次都会接触到一个函数——main函数,在裸机的编程中,程序的执行流程就是在main函数中进行的,main函数也可以理解为一个线程,它也有它的栈空间来存储变量。但是,如果有许多线程呢,怎样来区分它们?又怎样来分配存储空间? 对于这个问题,RTThread有它的解决办法。 首先是线程栈 栈,是一种经典的储存结构,RTThread
转载
2023-07-10 22:17:30
363阅读
RT-Thread,全称是 Real Time-Thread,是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。RT-Thread 就是一个物联网操作系统(IoT OS),物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和
转载
2023-07-13 14:46:52
84阅读
RT Thread 文件系统教程RT Thred 文件系统教程-1 SPI Flash使用文件系统小技巧打开RT-Thread Studio软件,新建工程W25Q128底层编写在spi1总线上挂载W25Q128块设备。挂载文件系统到根目录,代码如下测试如下 RT Thred 文件系统教程-1 SPI Flash使用文件系统这篇文章将讲解如何使用RT-Thread Studio 开发工具操
转载
2024-06-13 15:41:50
165阅读
在STM32F103ZET6上移植RT-Thread nano内核,使用keil作为开发环境。
**1.准备工作** 需要准备一份裸机工程,和RT-Thread nano源码: 裸机工程建议使用完整的工程,若使用keil创建,库文件并不在工程文件夹中,而是通过添加库路径进行引用的,可以直接去keil路径中将文件拷贝到工程文件中。为保证后续操作,建议将裸机下载试一下。RT-Thread nano源码
转载
2024-04-03 12:17:49
434阅读