- 博客(151)
- 收藏
- 关注
原创 文心智能体(减肥人的福音)
随着现代生活节奏的加快,越来越多的人面临着体重管理和健康饮食的挑战。为了帮助人们更科学、更高效地管理体重,基于百度文心智能体开发的“文心智能体——减肥神器”应运而生。这个智能体结合了人工智能技术与健康管理理念,致力于为用户提供个性化的减肥方案和全方位的饮食建议,帮助用户在保持健康生活方式的同时,达成理想的体重目标。减肥神器个性化减肥方案文心智能体根据用户的体质、生活习惯和减肥目标,生成专属的减肥计划。通过持续的数据跟踪与分析,智能体会动态调整方案,确保减肥效果的稳定性和持续性。饮食建议与营养分析。
2024-08-12 19:25:33
681
原创 香橙派AIpro部署YOLOv5:探索强悍开发板的高效目标检测能力
开发板的体积的话是比较小的,但是它搭载的外设资源是比较丰富的,主控制板是4核64位处理器+AI处理器,并且支持千兆网口,无线wifi,还有两个USB3.0口,可以方便用户接入鼠标和键盘等外设。并且还支持接入音频线,HDMI高清接口可以让开发板作为一个小型的主机来使用。在背面的话可以看到开发板支持eMMC、Flash、TF卡槽等内存,方便用户自主扩展内存使用。
2024-07-14 20:48:03
1369
原创 STM32 IIC协议
从这篇文章开始为大家介绍一些通信协议,包括 UART,SPI,IIC等。UART串口通讯协议SPI通信协议IIC协议概念:IIC 协议是由 SDA 数据线 和 SCL时钟线 组成的串行总线,可以发送接收数据,采用半双工的通信方式。每个挂在总线上的器件都有唯一的地址,通常一个主机多个从机。完成数据的收发。完成数据的同步传输。位速在标准模式下可达 100kbits/s, 在快速模式下可达 400kbits/s, 在高速模式下可达 3.4Mbits/s.
2024-05-30 20:00:23
757
原创 文心智能体平台:智能体带来的便利
智能AI逐步进入人们的眼帘,例如:爱设计,文心一言,Char GPT等。这篇文章主要为大家介绍文心智能体。文心智能体平台地址链接: https://agents.baidu.com/?from=4文心智能体平台是百度推出的基于文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类型的开发方式,打造大模型时代的产品能力。文心智能体平台是基于文心大模型的智能体构建平台,用于提供自然语言创建智能体的开发新范式。
2024-05-23 00:31:44
664
原创 stm32cubeMX智能小车舵机模块
实验小车:STM32F103C8T6。舵机模块:SG90。所需软件:keil5 , cubeMX。实验目的:学习如何使用舵机模块。 SG90 舵机通常也称为伺服马达。舵机是一种能够控制角度的电机,通过给定的控制信号,可以使舵机转到特定的角度位置,并且能够保持该位置稳定。舵机通常用于控制机械臂、模型车、航模以及其他需要精确控制角度位置的应用中。引脚介绍: SG90舵机上有三根线,分别是GND(棕色线)、VCC(红色线)和SIG(黄色线)也就是信号线。下篇文章为大家介绍智能小车循迹。
2024-04-30 11:06:04
1714
原创 stm32cubeMX智能小车蓝牙模块
蓝牙模块是一种能够在设备之间进行无线通信的组件,通常用于连接各种电子设备,如智能手机、平板电脑、传感器、嵌入式系统等。HC-05模块可以通过UART串口与其他设备通信,允许设备之间进行串口数据传输。主从模式:HC-05模块支持主从模式,可以作为主设备(主控制器)或从设备(从控制器)使用,使其具有更强的灵活性。HC-05模块通常工作电压为3.3V或5V,通信距离一般在10米至100米之间。配对和连接: 使用HC-05模块时,需要通过配对的方式将其与其他蓝牙设备连接。
2024-04-30 10:02:13
1594
原创 stm32智能小车红外避障
红外避障模块是一种常用于智能小车、机器人等设备中的传感器模块,用于检测周围环境中的障碍物。它通常由红外发射器和红外接收器组成,并能够通过红外光线来探测周围物体的距离和位置。正前方有障碍时绿灯 (L1)亮起,使用前通过调节红外模块的旋钮,控制红外检测的距离。顺时针扭动缩短测距的长度,逆时针增加测距的长度。下篇文章为大家介绍 智能小车循迹。
2024-04-30 09:31:26
3702
原创 与 Apollo 共创生态: Apollo7周年大会带给我的启发和心得
Apolo 7周年活动链接:https://apollo.baidu.com/community/article/1262。
2024-04-29 10:22:05
711
1
原创 stm32智能小车前进,后退,左转,右转,停止
实验小车:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:了解 电机模块如何驱动小车运动。TB6612模块是一种常见的双路直流电机驱动模块,广泛应用于机器人、无人机、智能小车等电机控制场景中。它采用TB6612FNG芯片作为驱动控制芯片,提供了可靠的电机驱动功能。双路电机控制:TB6612模块可以同时控制两个直流电机的速度和方向。高电流驱动:该模块的驱动电流可达最大1.2A,提供了足够的电流供应能力,适用于各种大小的直流电机驱动。
2024-04-28 17:25:27
3837
4
原创 UART 串口通信协议
同步:朋友打电话说到我家吃饭,我在家里等他们。异步:朋友没有提前打招呼,突然就到我家来了。同步传输:时钟信号(用来通知对方要读取数据了),数据信号(用来传输数据)。异步传输:异步传输没有时钟线,只需要数据线,但是双方需要遵守相同的约定:起始信号的标志(例如 一个9ms的低电平,4.5ms的高电平),数据的表示方式(什么是表示裸机0,裸机1)。区别: 同步传输抗干扰能力强,需要2条数据线(时钟线,数据线)。异步传输抗干扰能力弱,只需要数据线。下篇文章为大家介绍 SPI 协议。
2024-04-12 17:09:03
2015
原创 STM32 串口接收定长,不定长数据
开启串口的接收中断:参数:huart:这是一个指向 UART_HandleTypeDef 结构体的指针,用于标识特定的 UART 外设实例。该结构体包含了该 UART 实例的各种配置和状态信息。pData:这是一个指向存储接收数据的缓冲区的指针。当接收到数据时,数据将被存储在该缓冲区中。Size:这是要接收的数据的字节数。函数将尝试从 UART 接收指定数量的字节到 pData 缓冲区中。串口接收完成回调函数:// 当串口接收到数据就调用该回调函数。
2024-04-12 09:43:22
3718
1
原创 stm32 之SPI通信协议
SPI(Serial Peripheral Interface)协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种 高速全双工的通信总线。采用主从模式架构,支持多从机模式应用。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行 方式进行通信以交换信息。SPI总线可直接与各个厂家生产的多种标准外围器件相连,包括FLASH、 RAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。下一篇文章为大家介绍 串口UART 通信协议。
2024-04-09 17:11:25
1596
原创 stm32 IIC协议
IIC协议是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据,是一个多主机的半双工通信方式 每个挂接在总线上的器件都有个唯一的地址。位速在标准模式下可达 100kbit/s,在快速模式下可达 400kbit/s,在高速模式下可待3.4Mbit/s。数据线:完成收据的收发。时钟线:在时钟的作用下,数据按位完成传输。IC总线外接两个上拉电阻的作用:在总线处于空闲状态,总线为高电平的状态。问 :为何SCL也要使用上拉电阻?
2024-04-07 13:51:10
1720
原创 FreeRTOS 探秘之路(目录)
一,STM32cubeMX配置FreeRTOS工程二,STM32cubeMX配置FreeRTOS---- 任务管理三,STM32cubeMX配置FreeRTOS---- 互斥量四,STM32cubeMX配置FreeRTOS ---- 软件定时器五,STM32cubeMX配置FreeRTOS ---- 事件组。
2024-02-22 15:30:33
382
原创 STM32cubeMX配置FreeRTOS----互斥量
问 :什么是互斥量?答 :互斥量其实就是互斥锁,用来保护临界(共享)资源的访问。互斥量(Mutex)是一种同步机制,用来确保同一时刻只有一个线程或任务在访问共享资源。防止多个线程同时访问共享资源而造成的数据不一致性,保护临界资源的访问。使用场景:当有多个任务 或 线程同时访问共享资源。下一篇文章为大家介绍信号量和队列。
2024-02-22 11:15:52
1401
原创 一,STM32cubeMX配置FreeRTOS工程
选择 stm32 芯片。选择外部晶振作为高速时钟。进行系统配置。这里要勾选Debug 便于后续进行仿真调试。由于 FreeRTOS 是基于系统定时器的,所以创建 stm32 工程时要使用其他的定时器来进行计时。这里我使用的是定时器 TIM16。配置系统时钟树。这里可以直接写入最大的频率,然后 回车(enter) 两次,系统则会自动配置时钟树。设置工程的名字(英文的),路径(英文的),工具链。由于不同的单片机的性能可能不同,所以这里只添加必须的库即可。设置自动生成 .c/ .h 文件。
2024-02-18 14:12:11
2293
原创 STM32cubeMX配置FreeRTOS----软件定时器
FreeRTOS 探秘之路(目录)下一篇文章为大家介绍 FreeRTOS 里的 空闲任务和钩子函数。
2024-02-17 13:54:22
1372
原创 STM32 cubeMX 人体红外模块实验
实验开发板:STM32F051K8。所需软件:keil5 , cubeMX。实验目的:了解 人体红外模块 的配置和使用。人体红外模块是一种常用于感应人体活动的传感器装置。它基于红外线技术,可以检测周围环境中的红外辐射,从而感知人体的存在。这类传感器主要应用于安防系统、自动照明系统、智能家居等领域。通常,人体红外模块的检测范围在几米到十几米之间,具体取决于型号和设计,典型的工作电压范围在3V到5V之间。大多数模块具有可调节的灵敏度,以适应不同的应用场景。
2023-12-26 15:14:19
1601
原创 STM32 cubeMX 直流电机控制风扇转动
实验开发板:STM32F051K8。所需软件:keil5 , cubeMX。实验目的:了解 直流电机,风扇 的配置和使用。直流电机是一种电动机类型,它通过直流电源供电,将电能转化为机械能。这类电机在各种应用中都得到广泛使用,包括工业、汽车、家用电器等领域下一篇文章为大家继续介绍 STM32 cubeMX 的温湿度模块。
2023-12-25 14:03:52
1632
原创 鸿蒙小车之软件定时器实验
软件定时器就是"闹钟",你可以设置闹钟:在30分钟后让你起床工作。每隔1小时让你例行检查机器运行情况。在"未来"某个时间点,运行函数。周期性地运行函数。日常生活中我们可以定无数个"闹钟",这无数的"闹钟"要基于一个真实的闹钟。在鸿蒙操作系统里,我们也可以设置很多个"软件定时器",它们都是基于系统滴答中断(TickInterrupt)。下一篇文章继续为大家介绍 鸿蒙小车内核的互斥锁和信号量实验。
2023-12-25 13:42:42
1258
原创 STM32 cubeMX 光敏电阻AD转化实验
实验开发板:STM32F051K8。所需软件:keil5 , cubeMX。实验目的:了解 cubeMX 定时器 的配置和使用。光敏电阻模块,也称为光敏电阻传感器或光敏电阻模块,是一种用于检测光照强度变化的传感器设备。它通常由光敏电阻元件,调节电阻,输出电路组成,可以方便地与微控制器或其他电子设备连接,用于在光照条件变化时输出相应的电信号。当涉及模拟信号(例如声音、光线、温度等)需要在数字系统(如计算机或微控制器)中进行处理时,需要将其转换为数字形式。模拟-数字转换器(ADC)负责执行这一过程。
2023-12-25 11:31:07
4902
1
原创 鸿蒙小车之多任务调度实验
本专栏将依次介绍鸿蒙小车的内核实验,硬件实验,wifi 实验。任务是操作系统(RTOS)中的基本组成单元,它们为嵌入式系统提供了并发处理、实时性、模块化和资源管理等重要功能。通过任务,操作系统(RTOS)可以更好地管理系统资源和满足各种应用程序需求。传统的裸机只有一个任务,处理不了多个事件,一次只能处理一个事件。而操作系统(RTOS)可以支持多任务管理,可以处理多个事件提高了资源的利用率和性能。任务概念举例:以日常生活为例,比如这个母亲要同时做两件事:喂饭:这是一个任务。
2023-12-15 16:16:58
2063
原创 最详细STM32,cubeMX 超声波测距
实验材料:STM32F103C8T6开发板, HC-SR04 超声波模块。所需软件:keil5 , cubeMX ,AiThinker Serial Tool 串口助手。实验目的:了解 STM32使用 cubeMX驱动超声波。实验:超声波测距。下一篇文章为大家介绍 STM32 驱动蓝牙的实现。
2023-10-23 23:38:52
6077
3
原创 最详细STM32,cubeMX串口发送,接收数据
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:了解 串口的基础知识,掌握串口如何发送,接收数据。实验:串口发送数据点亮 led。下一篇文章为大家介绍 STM32 超声波 模块的使用。
2023-10-22 23:20:12
5088
原创 最详细STM32,cubeMX 定时器
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:了解 cubeMX 定时器 的配置和使用。实验:使用定时器控制 led 闪烁。下篇文章为大家介绍 串口 的相关知识。
2023-10-22 13:34:18
5087
1
原创 STM32不使用 cubeMX实现外部中断
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:如何不使用 cubeMX实现外部中断。实验:使用外部中断控制 key 点亮 led.最详细STM32,cubeMX外部中断下篇文章为大家介绍 STM32 的 定时器。
2023-10-22 00:31:36
1025
原创 最详细STM32,cubeMX外部中断
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:外部中断的意义,cubeMX配置和实现 等。下一篇文章为大家介绍如何不使用 cubeMX ,手动写一个外部中断的程序。
2023-10-21 20:39:46
3973
原创 孤儿进程,守护进程,僵尸进程
当谈到进程管理时,了解以下进程是很重要的:僵尸进程(Zombie Process),孤儿进程(Orphan Process),守护进程(Daemon Process)。这些概念在进程管理中具有重要意义。了解僵尸进程、孤儿进程和守护进程的特点和处理方法有助于编写更健壮的多进程应用和系统。
2023-10-13 16:48:37
264
原创 最详细STM32,cubeMX 按键点亮 led
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:了解 按键 点亮 led 原理,cubeMX配置 等。下一篇文章继续为大家介绍 STM32 的相关知识。
2023-10-13 16:45:17
3104
1
原创 最详细STM32,cubeMX 点亮 led
实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX。实验目的:了解 led 点亮原理,cubeMX配置 , GPIO 等相关函数。GPIO ,全称为通用输入输出(General-Purpose Input/Output ),是 连接外部设备的通用接口。用于与外部设备进行数字信号的输入和输出。它在嵌入式系统、单片机、单板计算机等领域都有广泛的应用,使数字系统能够与外部世界互动和通信。输入:GPIO 可以用于接受外部设备发送的数字信号,如 按钮的状态,传感器数据。
2023-10-13 15:36:42
2713
1
原创 C++ 引用本质
C++引用及其本质在C++中,引用是一项强大而灵活的特性,允许程序员通过引用访问和修改变量的值。本文将深入探讨C++引用的本质、用法、优势以及与指针的比较等方面。引用是C++中强大而灵活的特性,提供了一种直接而高效的方法来操作变量。通过引用,我们可以避免不必要的拷贝,简化代码结构,提高程序的效率。然而,在使用引用时需要注意生命周期和作用域,确保引用始终指向有效的对象。在适当的场景和使用情境下,引用是C++中不可或缺的一部分。
2023-10-11 08:52:21
265
原创 C++ 内联函数
内联函数(Inline Functions)是C++中一个重要的编程概念,它允许开发者在代码中使用一种特殊的方式来声明和定义函数,以提高程序的性能和可维护性。本文将详细讨论C++中的内联函数,包括如何定义、为何使用、以及其潜在优缺点。在这个例子中,Add 函数被声明为内联函数,允许它在调用点内联展开,而不会创建额外的函数调用开销。
2023-10-11 08:48:14
152
原创 C++ const分析
当你在编写 C++ 代码时,你经常会遇到 const 这个关键字。const 在 C++ 中扮演着重要的角色,用于定义常量、限制变量的修改,以及确保代码的可维护性和安全性。本文将详细讨论 C++ 中的 const 关键字及其不同应用场景。const 是 C++ 中的一个强大工具,用于创建常量、限制变量修改,以及提高代码的可维护性和安全性。通过在变量、函数参数、函数返回值和成员函数中使用 const,开发者可以更好地管理和控制代码的行为。这是 C++ 中重要的概念之一,对于编写高质量、可维护的代码非常重要。
2023-10-11 08:44:32
151
原创 最详细 keil5 和 cubeMX安装教程
找到 MDK529.exe ,双击安装。建议路径不要更改。可随便输入,点击 Next,等待安装完成。这里提示安装 STM32 支持包,这里直接叉掉即可,我们进行离线安装。
2023-10-07 17:33:59
1594
1
原创 Linux多线程同步机制(下)
多线程同步机制中的读写锁(Read-Write Lock)是一种特殊的锁机制,用于控制对共享资源的读写访问。读写锁允许多个线程同时读取共享资源,但在写操作时需要独占访问。读写锁的基本原则是:多个线程可以同时获取读锁,但只有一个线程可以获取写锁。当有线程持有写锁时,其他线程无法获取读锁或写锁,直到写操作完成并释放写锁。读写锁有两种状态:读模式下加锁状态(读锁),写模式下加锁状态(写锁)。读写锁只有一把。写独占,读共享。读写锁是 “ 写模式加锁 ” 时,解锁前,所有对该锁加锁的线程都会被阻塞。
2023-08-29 15:46:38
145
1
原创 Linux 多线程同步机制(上)
在多线程环境下,多个线程可以并发地执行,访问共享资源(如内存变量、文件、网络连接 等)。这可能导致 数据不一致性, 死锁, 竞争条件等 问题。为了解决这些问题,需要使用同步机制来确保线程间的协作和互斥访问共享资源。“同步” 的目的 是为了避免数据的混乱,解决与时间有关的错误。实际上,不仅线程需要同步,进程间,信号间等等都需要同步机制。线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时 其他线程为保证数据的一致性,不能调用该功能。
2023-08-29 07:11:02
457
原创 Linux 多线程基础
创建新的线程。thread: 用于存储新线程的ID。attr: 线程属性,通常使用NULL表示默认属性。start_routine: 线程的入口函数,线程将从该函数开始执行。arg: 传递给线程入口函数的参数。pthread_t的具体实现可能因不同的操作系统而有所变化,但在 Linux 中,它通常是一个整数类型(例如unsigned long int 或 unsigned int。
2023-08-27 15:00:49
678
1
原创 Qt 父子对象的关系
Qt是一个流行的C++框架,用于开发跨平台的图形用户界面(GUI)应用程序。Qt提供了一种强大的对象模型,其中一个关键概念是对象间的父子关系。在这篇文章中,我们将详细解析Qt对象间的父子关系,介绍其基本概念、作用和使用方式。在Qt中,对象间的父子关系是通过QObject类和对象树机制来实现的。每个QObject派生类都具有父子关系的能力。通过建立父子关系,可以形成一个层次结构,从而方便进行对象的管理和组织。在Qt中建立父子关系很简单。可以通过在构造函数中传递父对象指针来建立对象间的父子关系,或者使用。
2023-08-16 21:35:49
420
原创 Qt 之 QPushButton,信号与槽机制
当我们开发基于Qt框架的图形用户界面(GUI)应用程序时,经常需要在界面上添加按钮来实现用户交互。Qt提供了一个名为 QPushButton 的类作为按钮控件的实现。QPushButton是Qt中的标准按钮类,旨在简化按钮的创建和使用。头文件 :#include < QPushButton >QPushButton 用于接受用户点击事件。QPushButton 是功能性组件,需要 父组件 作为 容器 QPushButton 能够在父组件中进行定位。函数名作用设置按钮的文本内容。设置按钮的图标。
2023-08-15 21:21:16
1945
串口中断收发数据控制
2023-02-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人