- 博客(278)
- 收藏
- 关注
原创 bootloader固件升级开发原理
在实际企业中,对产品进行软件上的更新迭代,不再会像你在学校里头用st-link或者j-link等烧录器对单片机进行直接擦写,而是会将一个产品编写两套代码(Bootloader和APP),APP是你对产品实际需要设计的代码,Bootloader则是用于给APP代码做引导写入到单片机的指定地址。
2024-09-21 21:34:35 795
原创 雅特力AT32 闪存零等待区(ZW)和非零等待区(NZW)
在支持零等待区(ZW)的MCU型号中,可以在程序设计时将不能失速的重要代码放在零等待区(ZW),需要频繁擦写的内容放在非零等待区(NZW),利用非零等待区(NZW)的擦写和零等待区(ZW)的读取可以同时执行的特性实现所需的实时功能。
2024-07-22 14:55:44 789
原创 如何制作一款最基础的物联网开发板
这里我选取市面上最常用的STM32作为试验绘制,我用的嘉立创进行PCB绘制,所以如下都是以嘉立创下的环境进行分析处理。创建工程,开始绘制。
2024-05-30 21:45:49 441 1
原创 基于OpenMV 双轴机械臂 机器学习
以摄像头左上角为坐标原点建立坐标系,通过识别目标物块 获取物块的中心坐标点位,以识别到的点位作为实际点位,摄像头的中心坐标作为目标点位,引用PID算法分别在x轴和y轴上设计两套位置闭环,将输出信号赋给舵机,使其收敛于目标点位。两套二维云台设备,Device1通过摄像头捕捉目标物块点位进行实时追踪,再将自身点位传到Device2,Device2学习Device1动作,控制误差
2024-04-28 15:01:50 1550 1
原创 基于四足机器人和机械臂的运动控制系统(一)
本项目旨在设计和实现一种基于四足机器人和机械臂的运动控制系统,以提高机器人在不同环境中的适应性和任务执行能力。探索传感器融合、路径规划、运动控制算法等关键技术,以实现机器人的高效定位、平衡控制、障碍物避障、物体抓取等功能。通过在实际场景中的实验验证,将评估所提出系统的性能和效果,并与现有的相关研究进行比较
2024-02-19 20:56:55 2278 2
原创 小学生都会搓的系统板【画PCB-->布线 -->制版-->焊接-->验板】
在大学嵌入式相关专业,有许多同学是更偏向软件上的设计,并不懂硬件上的实现,而当在面临就业时,经常会被一些面试官问到你硬件上的盲区,为在有限的时间里有高质量的提升,这里我以的。
2024-01-27 19:23:54 1542
原创 解决 rtthread.elf section `.text‘ will not fit in region `ROM‘ ,region `ROM‘ overflowed by 10136 bytes
rtthread.elf section `.text' will not fit in region `ROM' ,region `ROM' overflowed by 10136 bytes。也就是说该项目大小已经超过了本身Flash大小,我这里用的芯片是STM32F103C8T6,Flash为64k,即已大于64k。也就是选用Flash更大的芯片。
2024-01-15 13:59:32 1687
原创 各红外线通信协议解码(通用型)【NEC、Sony SIRC、RC-5、RC-6、Samsung】
红外线通信协议解码是指将接收到的红外线信号转换为可理解的数字数据,以便对其进行进一步处理和操作的过程。红外线通信协议解码通常用于遥控器接收器等设备中。在红外线通信中,遥控器发送器使用特定的红外线协议来编码命令和数据,并通过红外线发射器将这些信息转换为红外线信号。接收器捕获这些红外线信号,并通过解码过程将其还原为原始的命令和数据。NEC、Sony SIRC、RC-5、RC-6、Samsung等
2024-01-09 21:19:53 5823 4
原创 RT-Thread使用SystemView调试分析
SystemView是一个用于可视化分析任何嵌入式系统的工具包。SystemView提供了对应用程序的完整洞察,以获得对运行时行为的深刻理解,远远超出了调试器所提供的。当在具有多个任务和事件的复杂系统中开发和工作时,这是特别有利的。
2023-12-21 20:30:16 1299 2
原创 RT-Thread 三步实现利用DMA进行串口发送
想要使用串口的DMA发送,需要在board.h打开相关宏定义在串口驱动文件drv_usart.c中可以发现关于dma操作的函数只有两个,所以只需要删除两句函数开头的static关键字。
2023-12-05 08:00:00 1286
原创 RT-Thread 汇编分析启动流程
直到“b LoopCopyDataInit”,即跳转到标签LoopCopyDataInit 执行。直到b LoopFillZerobss,即跳转到标签LoopFillZerobss执行。直到bl SystemInit,即跳转到标签SystemInit执行,并在执行后返回此处。执行完后,返回到LoopFillZerobss 标签,继续执行bl entry。执行完后,返回到LoopFillZerobss 标签,继续执行bx lr。这里介绍即几条最常见实用的汇编指令。
2023-12-04 08:00:00 885
原创 RT-Thread ADC_DMA
看到这里,相信大家已经尝试过网上各类ADC_DMA传输的文章,且大多都并不能实现,因为在RT-Thread中并没有找到关于ADC的DMA接口,在官方例程中有关DMA的传输也只有一个串口接收的介绍,找遍全网怕也没能找到真正有用的消息。在我成功实现ADC_DMA之前,也是和大家一样,到处寻找相关消息以及求助ChatGPT,可想而知,把希望寄托于别人倒不如自己去摸索,这样自己更能知道缺什么做什么。。。不多说了,请往下看。
2023-12-03 08:00:00 1652
原创 VL53-400激光测距传感器
先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。记录并处理从光脉冲发出到返回被接收所经历的时间,即可测定目标距离。该模块部分商家已取消IIC协议,串口默认配置为115200、8数据位、1停止位、无校验位。时会出现激光穿透现象,即回收不到数据。
2023-12-02 16:42:45 995
原创 嵌入式基础电路设计和常用芯片用法
按键电路、晶振电路、降压电路及SN74HC244PWR、TLP2362、ACS724、LM358、EL357-NB、SMBJ30CA芯片介绍
2023-12-01 19:59:12 3310
原创 机器人AGV小车避障传感器测距
该模块是基于机器人自动控制应用而设计的,针对目前市场上对于超声波传感器模组盲区大、测量角度大、响应时间长、安装适配性差等问题而着重设计。具备了盲区小、测量角度小、响应时间短、过滤同频干扰、体积小、安装适配性高、防尘防水、寿命长、可靠性高等一系列优点。
2023-11-30 16:29:24 1931
原创 RT-Thread 线程间通信【邮箱、消息队列、信号】
当有新的消息到达时,挂起的线程将被唤醒以接收并处理消息。创建消息队列时先从对象管理器中分配一个消息队列对象,然后给消息队列对象分配一块内存空间,组织成空闲消息链表,这块内存的大小 =[消息大小 + 消息头(用于链表连接)的大小]X 消息队列最大个数,接着再初始化消息队列,此时消息队列为空。发送紧急消息的过程与发送消息几乎一样,唯一的不同是,当发送紧急消息时,从空闲消息链表上取下来的消息块不是挂到消息队列的队尾,而是挂到队首,这样,接收者就能够优先接收到紧急消息,从而及时进行消息处理。
2023-11-24 08:00:00 1957
原创 RT-Thread 线程间同步【信号量、互斥量、事件集】
同步是指按预定的先后次序进行运行,线程同步是指多个线程通过特定的机制(如互斥量,事件对象,临界区)来控制线程之间的执行顺序,也可以说是在线程之间通过同步建立起执行顺序的关系,如果没有同步,那线程之间将是无序的。多个线程操作 / 访问同一块区域(代码),这块代码就称为临界区,上述例子中的共享内存块就是临界区。线程互斥是指对于临界区资源访问的排它性。当多个线程都要使用临界区资源时,任何时刻最多只允许一个线程去使用,其它要使用该资源的线程必须等待,直到占用资源者释放该资源。
2023-11-23 08:00:00 1054
原创 RT-Thread Hoist_Motor PID
具体实控例如在50Hz情况下,即周期为20ms①驱动信号区间: 区间一(0.5ms-1.5ms )和区间二(1.5ms-2.5ms ) (注意都是开区间且存在死区)②其中区间一和区间二分别表示不同的方向运动,例区间一表示正方向,则区间二表示反方向。③旋转速度呈现为“ V ” 字形,即0.5ms和2.5ms分别表示为正反方向的最快速度,1.5ms左右分别表示正反方向的最慢速度。其中小于等于0.5ms时、1.5ms时和大于等于2.5ms时电机都保持停转状态。电调引线。
2023-11-22 08:00:00 439
原创 RT-Thread JSN-SR04T
JSN-SR0T4-2.0 超声波测距模块可提供 20cm-600cm 的非接触式距离感测功能,测距精度可达高到 2mm;模块包括收发一体的超声波传感器与控制电路组成。产品采用工业级一体化超声波探头设计,防水型,性能稳定,谦容市场上所有的 MCU 工作。
2023-11-21 15:21:05 441
原创 RT-Thread BMI088--SPI
BMI088是一款高性能6轴惯性传感器,由16位数字三轴±24g加速度计和16位数字三轴±2000°/ s陀螺仪组成。第三步,**进入stm32f4xx_hal_conf.h **③查找 spi 设备获取设备句柄。来驱动BMI088进行数据解读。
2023-11-19 08:00:00 1752 1
原创 RT-Thread Timer
计数频率:定时器模式时,计数器单位时间内的计数次数,由于系统时钟频率是定值,所以可以根据计数器的计数值计算出定时时间,定时时间 = 计数值 / 计数频率。例如计数频率为 1MHz,计数器计数一次的时间则为 1 / 1000000, 也就是每经过 1 微秒计数器加一(或减一),此时 16 位计数器的最大定时能力为 65535 微秒,即 65.535 毫秒。硬件定时器一般有 2 种工作模式,定时器模式和计数器模式。定时器模式:对内部脉冲信号计数。定时器常用作定时时钟,以实现定时检测,定时响应、定时控制。
2023-11-17 08:00:00 531
原创 RT-Thread ADC
(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。模数转换器可以实现这个功能,在各种不同的产品中都可以找到它的身影。与之相对应的 DAC(Digital-to-Analog Converter),它是 ADC 模数转换的逆向过程。ADC 最早用于对无线信号向数字信号转换。如电视信号,长短播电台发射接收等。
2023-11-16 08:00:00 636
原创 RT-Thread 五步完成OLED移植
这里使用RT-Thread Studio提供的IIC API驱动函数进行移植。第四步,添加oled.c及oled.h文件,放置。
2023-11-14 21:56:39 602 2
原创 RT-Thread Studio开发 新手入门 【PIN设备、串口、OLED图形库】
RT-Thread Studio主要包括工程创建和管理,代码编辑,SDK管理,RT-Thread配置,构建配置,调试配置,程序下载和调试等功能,结合图形化配置系统以及软件包和组件资源,减少重复工作,提高开发效率。STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Linux®设备树生成相应的初始化C代码
2023-11-12 17:22:30 2002
原创 基于Ubuntu20.04安装ROS系统
ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。
2023-10-28 12:44:14 1105
原创 Docker基本操作【一篇学会项目部署】
Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用Python开发网站后台,开发测试完成后,就可以将Python3及其依赖包、Flask及其各种插件、Mysql、Nginx等打包到一个容器中,然后部署到任意你想部署到的环境。类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。
2023-10-06 20:22:22 1757
原创 Linux下gdb常规调试
gdb全称“GNU symbolic debugger”,从名称上不难看出,它诞生于 GNU 计划(同时诞生的还有 GCC、Emacs 等),是 Linux 下常用的程序调试器。发展至今,GDB 已经迭代了诸多个版本,当下的 GDB 支持调试多种编程语言编写的程序,包括 C、C++、Go、Objective-C、OpenCL、Ada 等。实际场景中,GDB 更常用来调试 C 和 C++ 程序。启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。在某个指定的地方或条件下暂停程序。
2023-09-22 22:44:43 606
原创 Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:本地仓库和远程仓库工作流程如下1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)2.从本地进行代码修改3.在提交前先将代码提交到暂存区4.提交到本地仓库。本地仓库中保存修改的各个历史版本5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库本地仓库。
2023-09-12 20:33:46 7849 4
原创 基于MSP432P401R激光打靶【2023年电赛E题】
阅读题后可知,屏幕的高度和位置都是自定的,且在摆放完成后不再改变 以及需要自带屏幕,而激光发射点是自定的,也就是你可以在距屏幕外的1m处任意改变摆放位置,但在摆放完成后不再改变,此题不限板子,stm32、树莓派、TI任选即可。由题知,该题为目标点置位,也就是将红激光点复位至屏幕中心处,屏幕、激光位置都是已知的,我的建议是测出中心点相对于激光的角度位置,直接通过按下置位按钮,俩舵机转向相应角度,即激光指向屏幕中心,第一题就此完成。简单来说,只需将绿色激光笔在不同位置指向红色激光笔的置位点即可。
2023-08-15 15:52:12 3465
原创 基于MSP432P401R爬坡小车【2020年电赛C题】
赛题分析通过对赛题的分析研究,要完成题目需要满足以下几点要求:1)实现小车的自动寻迹功能。题目要求小车需要沿着标记线自动行驶,到达目标位置时,需要发出声音提示,且小车整体投影不得脱离标记线。2)10s—20s时间内任意设定。同时行驶过程中需要以匀速状态行驶,并且设定的时间与实际的行驶时间误差不能超过1s,总共行驶时间不得超过30s。3)要求指定角度实现小车匀速爬坡。同时规定行驶过程中不能停顿、打滑、碾压标记线。4)利用TI的MSP430/MSP432 平台,设计制作一个四轮电动小
2023-07-25 10:04:00 2347
原创 基于MSP432P401R送药小车【2021年电赛F题】
本篇与上次用MSP430的做法大不一样,其中视觉上,上次采用的模板匹配,本次采用的神经网络数字训练,其各有优势,这里不便讨论,其次在巡线逻辑上,上次采用的是7路灰度,本次采用的12路灰度,逻辑性更强,且在转向时不再使用延迟转弯,因为延迟受电压影响较大,具体实现请见下方描述,然后在药物的装载上,上次采用红外对管检测物品的装卸,本次使用碰撞器模拟,更为方便。
2023-07-17 12:51:52 2184 1
原创 基于MSP432P401R跟随小车【2022年电赛C题】
例如:我的电机减速比为1:45(轮子转动一圈电机转动45圈), 电机单相转一圈输出13个脉冲,车轮直径为65mm,这些参数在购买的产品中都有相关介绍,大家自查即可。好,现在得到以上这些信息后怎么计算路程呢,这里我以单相双边沿触发为例进行计算,首先算出车轮的周长:周长Z=2。45=1170个脉冲,然后得出每个脉冲可以跑多少m,即M=Z/CNT;最后在一定时间内将捕获得到的脉冲数乘以每个脉冲跑的路程=该段时间内跑的路程,即S=CNT*M,V=S/T。其中最重要的是巡好线,其次是通信,最后是准确判断好俩车距离。
2023-07-16 17:40:18 5786 1
原创 GY56 红外激光测距传感器 (内附STM32、MSP432代码)
GY-56是一款低成本数字红外测距传感器模块。工作电压 3-5v,功耗小,体积小,安装方便。其工作原理是,红外 LED 发光,照射到被测物体后,返回光经过 MCU 接收,MCU 计算出时间差,得到距离。直接输出距离值。此模块,有两种方式读取数据,即串口 UART(TTL 电平)+IIC(2 线)模式,串口的波特率有 9600bps 与 115200bps,可配置,有连续,询问输出两种方式,可掉电保存设置。GY-56 可以设置上下限距离报警值,开关量输出,在设定的区间内有被测物体挡住,直接输出高电平。
2023-07-01 17:15:21 4066
原创 【瑞萨RA_FSP】RTC——实时时钟
RA6M5的RTC(Real Time Clock)外设,实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于GPT外设,要简单很多 ,只有计时和触发中断以及输入捕获的功能。但从掉电还继续运行的角度来说,它却是RA6M5中唯一一个具有如此强大功能的外设。所以RTC外设的特别之处并不在于它的定时功能,而在于它掉电还继续运行的特性。以上所说的掉电,是指主电源VDD断开的情况,为了RTC外设掉电继续运行,必须通过VBAT引脚接上纽扣电池给RA6M5的RTC供电。
2023-06-29 06:00:00 1278
瑞萨RA6M5-FSP-Qt遥控小车.zip
2023-06-12
基于STM32 蓝牙双机通信.zip
2023-05-05
STM32F103红外循迹小车
2023-05-05
stm32-五线四相步进电机.zip
2023-05-05
STM32-读写RFID.zip
2023-05-05
stm32-qt遥控小车.zip
2023-05-05
mpu6050姿态解算(陀螺仪).zip
2023-05-05
GY-39(IIC).zip
2023-05-05
MSP430驱动函数库
2023-03-14
IAR for MSP430 7101
2023-03-11
C语言/C++常见笔试面试题难疑点汇总
2023-02-27
STM32-BH1750+OLED
2023-02-25
ESP8266WiFi模块
2023-02-25
5.0步进电机绝对定位+梯形加减速.zip
2022-11-17
MQ-2烟雾浓度传感器.zip
2022-11-17
12864OLED液晶屏
2022-11-17
对射式红外传感器模块、测速传感器模块、计数器模块、电机测试模块、槽型光耦模块
2022-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人