自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jetson NX重装支持cuda和aruco库的opencv-4.1.1和opencv_contrib-4.1.1【2024亲测可用】

基于Jetson Nano的opencv-4.1.1和opencv_contrib-4.1.1版本的编译安装。

2024-05-22 19:52:03 106

原创 Jetson Nano重装支持cuda和aruco库的opencv-4.1.1和opencv_contrib-4.1.1【2024亲测可用】

Jetson Nano重装支持cuda和aruco库的opencv-4.1.1和opencv_contrib-4.1.1

2024-05-22 19:40:18 135

原创 Jetson Nano\NX系统备份与恢复【超详细,2024年亲测可用,留言必回】

jetson nano\nx系统备份与恢复

2024-05-22 14:40:08 703

原创 【STM32&RT-Thread零基础入门】8. 基于 CubeMX 移植 RT-Thread Nano

利用RT_Thread操作系统实现三种不同的LED等闪烁提示:以下是本篇文章正文内容,下面案例可供参考以上便是基于 CubeMX 移植 RT-Thread Nano,然后实现3个不同LED灯的闪烁的程序。

2023-09-05 18:55:45 955

原创 【STM32&RT-Thread零基础入门】 7. 线程创建应用(多线程运行机制)

本章进一步研究多线程的运行机制。要求实现功能如下:创建2个线程,线程名称分别为LED和BEEP。两个线程的任务是连续5次打印本线程的名字后退出线程(注意:线程不执行控制LED和蜂鸣器动作)。设计本任务的目的是观察LED和BEEP线程在操作系统中是如何同时运行的。本任务代码中,我们使用预编译宏进行选择编译,使代码可以兼容两个版本,提高代码利用率//#include "car_led.h" //包含LED控制模块头文件//#include "car_beep.h" //包含蜂鸣器控制模块头文件1024。

2023-08-22 15:11:21 3131

原创 【STM32&RT-Thread零基础入门】 6. 线程创建应用(线程挂起与恢复)

在上一个任务中,通过停止命令把线程删除后,线程在系统中就不存在了,也无法再使线程重新运行。例如输入stop_led_thread命令后,led停止闪烁,但也无法重新开启LED灯闪烁功能。本任务通过修改停止命令的实现代码,同时增加恢复命令,使led灯闪烁功能可以暂停和恢复。本章节学习线程的挂起与恢复的应用。

2023-08-22 12:58:23 726

原创 【STM32&RT-Thread零基础入门】 5. 线程创建应用(线程创建、删除、初始化、脱离、启动、睡眠)

本章主要讲线程的工作机制和管理方法,通过实例讲解如何使用多线程完成多任务开发。RT-Thread用线程控制块来描述和管理一个线程,一个线程对应一个线程控制块。/* 线程控制块 *//* rt 对象 *//* 线程名称 *//* 对象类型 *//* 标志位 *//* 对象列表 *//* 线程列表 *//* 栈指针与入口指针 */void *sp;/* 栈指针 *//* 入口函数指针 *//* 参数 *//* 栈地址指针 *//* 栈大小 *//* 错误代码 */

2023-08-16 15:59:50 2932 1

原创 【STM32&RT-Thread零基础入门】 4. 线程介绍(理论)

前文中的最后一个任务发现,一个main()函数很难同时实现按键功能和闪灯功能,就好像人很难同时完成左手画圆右手画方一样,这种情况可以安排一人去画圆、一人去画方,并行进行就很容易了,两人各司其职,互不干扰。操作系统中,一个线程就像做事的一个人。一个操作系统可以有多个线程,不同的线程完成不同的小任务,各司其职完成整个系统大任务。本章主要讲了线程的基本概念。

2023-08-16 10:08:50 1420

原创 【STM32&RT-Thread零基础入门】 3. PIN设备(GPIO)的使用

在嵌入式系统中,GPIO是最常用的一种设备,在RT-Thread操作系统中,把GPIO命名为PIN设备。RT-Thread通过PIN设备对芯片的GPIO引脚进行管理,应用程序可以通过其提供的一组PIN设备管理接口来操作GPIO,PIN设备管理接口如表所示接口描述获取引脚编号设置引脚模式设置引脚电平读取引脚电平绑定引脚中断回调函数使能引脚中断脱离引脚中断回调函数从任务4测试结果中,我们可以发现,按键功能影响了闪灯的功能,说明两个功能还是没有很好地解耦,依然存在相互影响的情况。

2023-08-11 19:29:21 2271

原创 【STM32&RT-Thread零基础入门】 2. 新建RT-Thread项目

RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌入式实时多线程操作系统。相较于 Linux操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此之外 RT-Thread还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合 RT-Thread 系统完全开源,目前版本遵循Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。

2023-08-11 16:12:46 1459 1

原创 【STM32&RT-Thread零基础入门】 1. 搭建开发环境

STM32 RT-Thread操作系统开发环境搭建

2023-08-11 15:33:33 1635

原创 STM32HAL库 总线舵机驱动库的编写

本次所用的舵机为串行总线舵机,采用异步串行总线通讯方式,理论多至 253 个机器人舵机可以通过总线组 成链型,一条总线上允许挂载多个舵机,且每个舵机均有一个唯一ID(0~253),通过 UART 异步串行接口统一控制。原理图如上图所示,舵机用程序代码对UART(本次示例中使用USART3)异步串口进行时序控制,实现半双工异步串行总线通讯,即半双工的主从问答式通信,通信波特率为115200bps。串口1模式配置为同步通讯,波特率改为115200bps,数据宽度8位,检验None,停止位1位。

2023-05-16 16:33:57 2325 1

原创 STM32 HAL库 PS2手柄控制电机转动

因为有转接板,所以仅需要与单片机有四根线连接。名称功能对应引脚标签DI/DAT手柄到单片机的信号传输PA6PS2_DIDO/CMD单片机到手柄的信号传输PA7PS2_DOCS/SEL手柄触发信号PA4PS2_CSCLK时钟信号PA5PS2_CLK以上便是ps2手柄控制电机运动的简单教程。

2023-04-23 14:27:20 2035 4

原创 STM32HAL库 OLED显示屏的使用

文章目录前言一、CubeIDE配置OLED显示屏iic引脚二、OLED驱动库1.引入库2.main.c中使用总结前言本文主要讲解hal库配置与0.96寸oled屏的使用。一、CubeIDE配置OLED显示屏iic引脚OLED显示屏需要用到iic通信,此处选择了选择pb8为SCL、pb9为SDA二、OLED驱动库1.引入库oled.c代码如下:#include "oled.h"/************************************************

2023-04-19 10:11:17 3946 5

原创 STM32HAL库 串口USART的使用

本文为串口输出打印的hal库,参考洋桃电子的入门30步总结而来。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-04-18 16:47:39 4674 2

原创 PID控制算法基础知识

PID是一个闭环控制算法。要实现PID算法,必须在硬件上具有闭环控制,就是需要有反馈。例如控制一个电机的转速,就得测量转速的传感器,并将结果反馈到控制路线上;同样控制一个温度,就需要有温度传感器,并将结果反馈到控制路线上。最初对于闭环控制仅是一个P控制,将当前结果反馈回来,再与目标相减,为正就减速,为负就加速,这是最简单的闭环控制算法。

2023-04-16 09:44:58 2677

原创 STM32 HAL库PID控制电机 第三章 PID控制双电机

stm32hal库pid控制双电机

2023-04-14 18:02:22 3442 9

原创 STM32 HAL库PID控制电机 第二章 TB6612FNG芯片驱动GB37-520电机

TB6612FNG芯片驱动GB37-520电机(HAL库)

2023-04-14 17:51:41 7257 4

原创 STM32 HAL库PID控制电机 第一章 新建STM32 Project

stm32hal库的快速入门配置

2023-04-14 17:39:30 567

原创 玩转电机驱动——A4950闭环驱动直流减速电机(Arduino)

玩转电机驱动——A4950闭环驱动直流减速电机(Arduino)文章目录玩转电机驱动——A4950闭环驱动直流减速电机(Arduino)前言一、PWM信号二、PID控制简介三、增量式(速度)PID控制流程四、PI控制器五、Arduino实现1. 硬件2. 电路图3. 编码器相关知识4. 定时内部中断总结前言本文所讲闭环控制是通过编码器获取电机转速,再利用PI控制电机转速维持在设定值的一种控制方法。速度闭环不使用D微分项。提示:本篇文章参考平衡小车之家、https://blog.csdn.net/

2022-05-22 19:08:22 10169 4

原创 玩转电机驱动——电机编码器

玩转电机编码器文章目录玩转电机编码器前言一、旋转编码器1. 光学编码器2. 光学旋转编码器与Arduino连接3. 程序二、Arduino Encoder.h库相关知识1.硬件要求2. 基本用法3. 了解正交编码信号4. 示例程序5. 中断延迟要求6. 优化中断选项7. 最大速度和 CPU 使用率8. 低性能轮询模式总结前言编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。(对

2022-05-13 14:39:11 7589 1

原创 玩转电机驱动——DRV8848驱动直流减速电机(STM32F103)

文章目录前言一、硬件基础二、DRV8848驱动1. DDRV8848芯片特性2. 引脚的功能及类型3. DRV8848电路图三、STM32驱动程序1. 电路分析2. 程序编写2.1 main.c2.2 PWM.c2.2 PWM.h总结前言采用两块DRV8848驱动四路电机,程序部分参考https://blog.csdn.net/weixin_44808082/article/details/113465107?spm=1001.2014.3001.5501一、硬件基础单片机:STM32F103.

2022-05-09 11:28:25 7666 26

原创 玩转电源供电

玩转电源供电文章目录玩转电源供电前言一、参数1 电压2 容量二、降压1 利用二极管的导通压降进行降压2 利用稳压二极管进行降压处理3 利用线性稳压器进行稳压处理4 开关式稳压电源5 利用DC-DC模块进行降压处理。三、注意事项1 电源反接问题预防2 电流保护总结前言不管是动物、人和机器,都是需要能量才能动。能源就是动力。电能就是一种能源。一、参数1 电压供电的电压至少要大于或等于系统所需的最大电压。如一个系统中有12 V电压部分(电机),也有5 V电压部分(工作电压为5 V的芯片),还有3

2022-05-01 01:15:00 811

原创 玩转传感器——DHT11温湿度传感器(STM32版)

玩转传感器——DHT11温湿度传感器(STM32版)文章目录玩转传感器——DHT11温湿度传感器(STM32版)前言一、接口说明1 接线图2 电源引脚3 串行接口(单线双向)二、通信过程三、测量分辨率与电气特性四、使用注意事项1 工作与贮存条件2 暴露在化学物质中3 恢复处理4 温度影响5 光线6 配线注意事项五、DHT11驱动程序1 DHT11.c1.1 配置输入输出GPIO1.2 复位DHT111.3 检查DHT11是否正常1.4 DHT11初始化1.5 读取一位数据(返回值0/1)1.6 读取一个

2022-04-30 00:30:00 81401 39

原创 STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(二)

STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(二)文章目录STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(二)前言一、硬件电路二、AD单通道1 ADC常用函数分析2 第一步开启RCC时钟3 第二步配置GPIO4 第三步选择规则组的注入通道5 第四步用结构体初始化ADC6 第五步开启ADC电源7 第六步对ADC进行校准8 第七步写一个函数获取ADC结果9 主函数三、AD多通道1 程序分析总结前言本学习教程,参考B站江科大自化协STM32视频,型号为STM32F103

2022-04-29 00:30:00 1225 2

原创 STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(一)

STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(一)文章目录STM32固件库(标准外设库)入门学习 第七章 ADC数模转换(一)前言一、逐次逼近型ADC内部结构1 通道选择电路:2 逐次逼近寄存器SAR部分电路二、STM32ADC1 STM32ADC框图2 STM32ADC基本结构图3 输入通道4 ADC转换模式4.1 单次转换,非扫描模式4.2 连续转换,非扫描模式4.3 单次转换,扫描模式4.4 连续转换,扫描模式5 触发控制6 数据对齐7 转换时间8 校准总结前言本学习教程,

2022-04-28 00:15:00 1802 2

原创 STM32固件库(标准外设库)入门学习 第六章TIM定时器(三)

STM32固件库(标准外设库)入门学习 第六章TIM定时器(三)文章目录STM32固件库(标准外设库)入门学习 第六章TIM定时器(三)前言一、TIM输出比较1 PWM波形2 输出比较通道二、PWM驱动LED呼吸灯1 接线图2 封装PWM模块3 第一步RCC开启时钟4 第二步配置时基单元5 第三步配置输出比较单元6 第四步配置GPIO7 第五步运行控制8 分析ARR\PSC\CCR三个参数9 最终程序10 引脚重映射三、PWM驱动舵机1 舵机2 接线图3 第一步开启RCC时钟4 第二步配置时基单元5 第

2022-04-27 04:15:00 2389 2

原创 STM32固件库(标准外设库)入门学习 第六章TIM定时器(二)

STM32固件库(标准外设库)入门学习 第六章TIM定时器(二)文章目录STM32固件库(标准外设库)入门学习 第六章TIM定时器(二)前言一、定时中断代码1接线图2 程序编写2.1 第一步开启RCC时钟2.2 第二步选择时基单元的时钟源2.3 第三步配置时基单元2.4 第四步使能更新中断2.5 第五步配置NVIC2.6 第六步启动定时器2.7 第七步中断函数二、内外时钟源选择1 接线图2 程序编写2.1 修改为外部时钟2.2 GPIO使能2.3 配置时基单元2.4 封装CNT计数器的值2.5 最终程序

2022-04-27 00:45:00 3448 2

原创 STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)

STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)文章目录STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)前言一、定时器类型1 基本定时器2 通用定时器3 高级定时器二、定时器定时中断1 定时中断基本结构2 预分频器时序3 计数器时序4 计数器有/无预装时序5 RCC时钟树5.1 时钟产生电路5.2 时钟分配电路总结前言本学习教程,参考B站江科大自化协STM32视频,型号为STM32F103C8T6。TIM(Timer)是STM功能最强大、结构最复杂的一个外设。定时

2022-04-26 14:36:08 3327 1

原创 STM32固件库(标准外设库)入门学习 第五章 EXTI中断(二)

STM32固件库(标准外设库)入门学习 第五章 EXTI中断(二)文章目录STM32固件库(标准外设库)入门学习 第五章 EXTI中断(二)前言一、旋转编码器简介二、对射式红外传感器计次1.接线图2.配置外部中断2.1 第一步配置RCC2.2 第二步配置GPIO2.3 第三步配置AFIO2.4 第四步配置EXTI2.5 第五步配置NVIC3.中断程序的编写三、旋转编码器计次1 接线图2 程序编写总结前言本学习教程,参考B站江科大自化协STM32视频,型号为STM32F103C8T6。什么样得设备

2022-04-26 11:02:51 1043 1

原创 STM32固件库(标准外设库)入门学习 第五章 EXTI中断(一)

STM32固件库(标准外设库)入门学习 第五章 EXTI中断(一)文章目录STM32固件库(标准外设库)入门学习 第五章 EXTI中断(一)前言一、中断向量表二、NVIC基本结构三、EXTI外部中断总结前言本学习教程,参考B站江科大自化协STM32视频,型号为STM32F103C8T6。中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。中断优先级:当有多个中断源同时申请中断时,CPU会根

2022-04-25 12:56:52 1394 2

原创 STM32固件库(标准外设库)入门学习 第四章OLED屏幕使用

STM32固件库(标准外设库)入门学习 第四章OLED屏幕使用本学习教程,参考B站江科大自化协STM32视频,型号为STM32F103C8T6。文章目录STM32固件库(标准外设库)入门学习 第四章OLED屏幕使用前言一、程序调试方法1.串口调试2.显示屏调试3.Keil调试模式4.点灯调试法5.注释调试法6.对照法二、显示屏调试——OLED1.OLED简介2.如何使用OLED驱动函数总结前言对于单片机而言,目前有个问题就是程序调试,单片机不像电脑,电脑有一个很大的屏幕,想看什么变量、参数,直

2022-04-25 10:22:44 2907 3

原创 STM32固件库(标准外设库)入门学习 第三章GPIO

STM32固件库(标准外设库)入门学习 第三章GPIO文章目录STM32固件库(标准外设库)入门学习 第三章GPIO前言一、GPIO简介二、GPIO输出1.点亮LED灯接线图2.keilkill批处理文件3.程序编程步骤4.RCC库函数5.GPIO库函数6.程序实现7.点亮LED流水灯8.蜂鸣器9.使用库函数的方法(小结)三、GPIO输入1.按键2.传感器模块3.单片机按键用法4.单片机所用C语言知识5.按键控制LED接线图6.代码封装7.按键控制LED程序8.光敏传感器控制蜂鸣器总结前言本学

2022-04-24 12:39:08 1665 1

原创 STM32固件库(标准外设库)入门学习 第二章 新建工程

STM32固件库(标准外设库)入门学习 第二章 新建工程文章目录STM32固件库(标准外设库)入门学习 第二章 新建工程前言一、新建项目二、添加工程必要文件三、新建main函数四、美观性调整(修改字体)五、配置调试器六、配置寄存器方式点灯七、添加库函数八、利用库函数实现点灯总结前言STM32编程有三种方式。基于寄存器配置方式、基于标准库方式、基于HAL库的方式。(1)基于寄存器配置方式,类似51单片机,用程序直接配置寄存器,实现想要的功能,这种方式最底层、最直接、效率更高;但是由于STM32结构

2022-04-23 21:36:20 4019

原创 STM32固件库(标准外设库)入门学习 第一章 STM32简介

STM32固件库(标准外设库)的入门学习,型号为STM32F10x系列,尽可能详细的介绍学习过程,跟着学就能弄懂固件库的,也会更加方便去学习HAL库

2022-04-20 08:59:17 3213 1

stm32cubeide1.9.0自动补全插件

直接根据自己的本本选择一个版本,将jar文件复制到STM32CubelDE安装目录下的plugins文件夹下替换即可,有两个版本:一个版本为org.eclipse.cdt.ui_7.3.100.202111091601;另一个版本为org.eclipse.cdt.ui_7.3.201.202205131409。主要看自己文件夹里是哪个版本就替换哪个版本

2023-04-17

51自学.md

51自学.md

2023-03-17

Arduino mega2560 pid闭环控制控制电机

闭环控制是通过编码器获取电机转速,再利用PI控制电机转速维持在设定值的一种控制方法。速度闭环不使用D微分项。本资源是一个可用的Arduino mega2560 pid控制电机,如果想实现四轮控制,仅需要把程序复制修改三次即可。 内容结构: 1.引用<FlexiTimer2.h> 定时中断库; 2.定义引脚、变量; 3.setup函数、loop函数; 4.中断控制函数; 5.外部中断读取编码器数据,具有二倍频功能; 6.PI控制器; 7.实际控制函数,函数功能:赋值给PWM寄存器,入口参数:PWM;

2022-05-22

空空如也

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

TA关注的人

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