自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32F103C8T6基于FreeRTOS操作系统的多任务_stm32f103c8t6 freertos(1)

我们看一下FreeRTOS的名字,可以分为两部分:Free和 RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS全称是RealTimeOperating System,中文名就是实时操作系统。可以看出 FreeROTS就是一个免费的RTOS类系统。这里要注意,RTOS不是指某一个确定的系统,而是指一类系统。比如UCOS,FreeRTOS,RTX,RT-Thread等这些都是RTOS类操作系统。操作系统允许多个任务同时运行,这个叫做多任务,实际上,一个处理器核心在某一时刻只能运行一个任务。

2024-05-17 09:16:35 539

原创 STM32F0x HAL库学习笔记(6)片内闪存(Flash)的读写操作_stm32f0 flash读写

在操作Flash之前,我们都需要对Flash进行解锁,对应的,操作完Flash之后,则需要对Flash进行上锁。这里的操作包括擦除,读和写等。

2024-05-17 09:16:01 717

原创 STM32CubeMX系列 红外遥控_嵌入式stm32红外遥控按键在哪里

二进制脉冲码目前最广泛使用的是:NEC Protocol的PWM(脉冲宽度调制)和Philips RC-5 Protocol的PPM(脉冲位置调制)。本例程遥控器使用的是NEC协议,其特征如下NEC码的位定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0传输需要1.125ms(560us脉冲+560us低电平)。

2024-05-17 09:15:28 392

原创 STM32CubeMX系列 红外遥控_嵌入式stm32红外遥控按键在哪里(2)

引导码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。而红外接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样在接收头端收到的信号为:逻辑1应该是560us低电平+1680us高电平,逻辑0应该是560us低电平+560us高电平。本例程遥控器使用的是NEC协议,其特征如下。由于红外接收头在没有脉冲的时候为高电平,当收到脉冲的时候为低电平,所以可以通过外部中断的下降沿触发中断,在中断内通过计算高电平时间来判断接收到的数据是0还是1。

2024-05-17 09:14:53 332

原创 Qt QPushButton按钮用法详解_qpushbutton(1)

QAbstractButton 类是所有按钮控件类的基类,包含很多通用的按钮功能。QPushButton 类专门用来创建可按压的按钮,如图 1 所示。图 1 QPushButton 按钮QPushButton 按钮上除了可以放置一串文本,文本左侧还可以放置图标,必要时还可以在按钮上放置图片。QPushButton 按钮可以作为一个独立的窗口,但实际开发中很少这样用,通常的用法是像图 1 这样将按钮内嵌到某个窗口中,作为一个子控件和其它控件搭配使用。

2024-05-17 05:53:25 1205

原创 Qt QMessageBox用法详解_qt message

以上 6 种通用的 QMessageBox 对话框,界面上的图片无法修改,按钮上的文字也无法修改(例如无法将 OK、No 改成中文)。如果想修改它们,就需要自定义一个 QMessageBox 对话框。

2024-05-17 05:52:51 1450

原创 Qt QMessageBox用法详解_qt message(1)

/创建 QMessageBox 类对象 QMessageBox MyBox(QMessageBox::Question,“Title”,“text”,QMessageBox::Yes|QMessageBox::No);

2024-05-17 05:52:17 1247

原创 IDEA创建Activiti工作流开发第一篇(Maven项目)_org

如果没有出现图中的按钮,可以按快捷键Ctrl+alt+Shift+U,按了以后,以后这个图标就会出现了。不过如果有中文会出现乱码,需要在这两个文件下的后面都加上-Dfile.encoding=UTF-8。然后重启IDEA,把原来的PNG图片删掉,再生成一次就不会出现乱码了。流程实例运行时 执行对象表。流程实例运行时 身份联系表。流程实例运行时 用户任务表。启动流程实例涉及到的表。

2024-05-17 02:15:35 450

原创 IDEA创建Activiti工作流开发第一篇(Maven项目)_org(1)

如果没有出现图中的按钮,可以按快捷键Ctrl+alt+Shift+U,按了以后,以后这个图标就会出现了。不过如果有中文会出现乱码,需要在这两个文件下的后面都加上-Dfile.encoding=UTF-8。(img-vcG4bI4Q-1715883279514)](img-DYbMuc21-1715883279514)]然后重启IDEA,把原来的PNG图片删掉,再生成一次就不会出现乱码了。左键单击节点就会出现左边的修改按钮。

2024-05-17 02:15:01 646

原创 I2C操作笔记——以 AT24C04为例

I2C设备有很多种,若掌握基本原理,便可见招拆招,那是I2C总线就不那么难了。既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)如果你需要这些资料,可以戳这里获取1024c (备注嵌入式)**

2024-05-17 02:14:27 413

原创 HuggingFace入门教程--环境搭建_拥抱脸

通过上述操作说明我们的虚拟环境已经建好了(截图中的字写错了,应该是激活虚拟环境)。2.3 修改interpreter通过上述操作我们就把新建项目的虚拟环境配置好了。

2024-05-17 02:13:53 1260

原创 C标准库——string

int main() //测试str 中出现 key 中字符的情况 i i a a e i。*/ //使用跟安全的函数。//str[0] 的字符串长度为 n + 1。int main() //输出s在str中最后一次出现的位置。int main() //用sample 替换 simple。int main() //寻找str中的p位置。int main() //输入apple时跳出循环。int main() // 输出str中所有s的位置。

2024-05-16 21:15:36 777

原创 C标准库——string(1)

如果它们彼此相等,它将继续执行以下对,函数结束条件:(1)直到字符不同,(2)直到到达终止的空字符为止,(3)或者直到两个字符串中的num字符匹配为止。(无论哪个是第一个)目标中的终止null字符由源的第一个字符覆盖,而在目标的连接中所形成的新字符串的末尾包含一个空字符。为了避免溢出,目标指向的数组的大小应该足够长,以包含与源相同的char字符串(包括终止的空字符),并且不应该在内存中与源重叠。解释:根据当前语言环境转换源指向的char字符串,并将转换后的字符串的第一个num字符串复制到目标,返回其长度。

2024-05-16 21:15:02 291

原创 C操作MYSQL数据库

除了使用API操作MYSQL外,还可以使用MYSQL Connector/C,具体信息就去看MYSQL官方文档吧。收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人。

2024-05-16 21:14:27 437

原创 C++QT入门_c++ qt(1)

QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(toolbars)、多个铆接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。

2024-05-16 16:14:28 340

原创 C++11智能指针(auto_ptr,unique_ptr,shared_ptr,weak_ptr的详解与模拟实现)

/ 原理就是,node1->_next = node2;// C++11的库中也有一个lock_guard,下面的LockGuard造轮子其实就是为了学习他的原理。// unique_ptr的设计思路非常的粗暴-防拷贝,也就是不让拷贝和赋值。// shared_ptr通过引用计数支持智能指针对象的拷贝。// 注意这里必须使用引用,否则锁的就不是一个互斥量对象。class unique_ptr //取消赋值和拷贝。class auto_ptr //交换管理权。// 仿函数的删除器。

2024-05-16 16:13:54 418

原创 C++ 自定义排序顺序详解,优先级队列 + lambda 表达式_c+

当容器里面不是int类型时,就不能直接使用greater进行排序此时可以使用lambda// lambda 表达式作为 Campare,当返回 true 时,left 先进入,后输出,即在优先级队列(堆)的下方优先级队列里面存放的是pair,我们定义,当时,返回true,即second值较小的排在优先级队列的下方,可以理解为大顶堆既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

2024-05-16 16:13:20 472

原创 C++ 自定义排序顺序详解,优先级队列 + lambda 表达式_c+(1)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)如果你需要这些资料,可以戳这里获取获取:vip1024c (备注嵌入式)**如果你需要这些资料,可以戳这里获取。

2024-05-16 16:12:45 292

原创 51单片机项目(25)——基于51单片机电子秒表的protues仿真_51单片机电子表proteus(1)

根据LED的颜色、尺寸和显示方式的不同,LED数码管可以分为七段数码管、共阳数码管和共阴数码管。丰富的外设:51单片机提供了多种外设接口,如GPIO(通用输入输出)、定时器/计数器、串行通信接口(如UART、SPI和I2C)、PWM(脉冲宽度调制)等。成熟的开发工具和软件支持:由于51单片机的广泛应用和历史悠久,它拥有成熟的开发工具和丰富的软件支持。由于其简单、稳定和易于开发的特点,51单片机广泛应用于各种嵌入式系统,如智能家居、自动化控制、电子仪器、汽车电子、工业控制等领域。,但一群人才能走的更远!

2024-05-16 13:11:47 395

原创 51单片机项目(24)——基于51单片机的温控风扇protues仿真_单片机温度超过阈值电分扇运转

测温我用了 DHT11:DHT11是一种低成本的数字温湿度传感器模块,常用于测量环境的温度和湿度。它由一个温度传感器和一个湿度传感器组成,内部集成了模数转换器和信号调理电路,能够直接输出数字信号。DHT11模块的工作原理是通过感测周围空气的热散射来测量温度,湿度则是通过感测周围空气的电导率来测量的。它具有以下特点:高准确性:DHT11模块提供的温度测量精度为±2℃,湿度测量精度为±5%RH。低成本:DHT11模块价格低廉,适合应用于成本敏感的项目。

2024-05-16 13:11:12 352

原创 51单片机项目(23)——基于51单片机的电子秤仿真_hx711电子秤仿真图

数字接口:HX711模块通过数字接口与微控制器通信,通常使用串行接口(如SPI)进行数据传输。这使得可以方便地将模块连接到各种微控制器上,如Arduino、Raspberry Pi等。增益和偏置校准:HX711模块内置了增益和偏置校准电路,可以通过软件设置进行校准。这样可以消除传感器和电路的非线性特性和偏差,提高测量的准确性和可靠性。低功耗:HX711模块在待机模式下具有较低的功耗,有助于延长电池寿命或减少能耗。HX711模块通常用于各种测量应用,如电子秤、压力传感器、力传感器等。

2024-05-16 13:10:38 396

原创 51单片机项目(23)——基于51单片机的电子秤仿真_hx711电子秤仿真图(1)

HX711模块具有以下主要特点和功能:高精度放大:HX711模块内部集成了高精度的模拟信号放大器,能够放大传感器输出的微弱信号,并将其转换为数字信号。通常,HX711模块的放大倍数可达到128倍或更高,从而实现高精度的测量。双通道输入:HX711模块具有两个输入通道,分别用于连接传感器的正负引脚。这使得可以同时测量两个传感器的信号,比如用于制作双轴电子秤。内部低噪声滤波:HX711模块内部采用了低噪声滤波技术,能够抑制传感器输出信号中的噪声干扰,从而提高测量的准确性和稳定性。

2024-05-16 13:10:03 389

原创 v4l2_field理解

一些驱动可能允许选择不同的序,终端应用可以在调用VIDIOC_S_FMT前初始化struct v4l2_pix_format的 field成员。然而因为field是一个跟着一个拍的,争论帧是由top还是bottom开始的是没意义的,任何两个相邻的top bottom场, 或者 bottom top场都可以组成一个有效的帧。与直觉相反,top 场不一定排在bottom前面, top和bottom到底谁先谁后,是由video标准决定的。ip1024c (备注嵌入式)**下面列出了可能的field类型。

2024-05-16 01:40:15 620

原创 USB OTG的工作原理_piq otgupgrade

OTG定义了一个叫做MiniAB的袖珍插孔,他能直接接入MiniA或者MiniB插口,MiniAB有一个ID引脚 上拉至电源端,MiniA插头有一个与地连接好的ID(R100 kΩ)。当2个OTG设备连接到一起的时候 ,MiniA插头边的ID引脚会注入一个“0”状态,MiniB插头边的ID引脚为 “1”,ID为0的OTG设备默认为主机(Adevice),ID为1的OTG设备默认为从机(B device)。(7)复位/列举/使用Adevice。

2024-05-16 01:39:41 744

原创 uniapp路由拦截_uniapp 路由拦截

我们小程序是采用uni-app开发的,uni-app是vue风格的所以开发起来效率很高,但是有个缺陷就是没有路由钩子,就这一点还蛮不方便的。一般来讲,路由钩子的一个最常见的应用场景就是权限校验,恰好我们项目中就有很多需要校验权限的页面,所以在开发中也遇到了这个难题。

2024-05-16 01:39:07 488

原创 Uniapp引入vant-weapp_vant weapp uniapp

app.vue引入@import “/wxcomponents/vant/common/index.wxss”;在page.json的globalStyle中引入要用的组件。

2024-05-16 01:38:32 736

原创 HC-05与JDY-09蓝牙模块对比与使用(1)

首先要先用CH340与蓝牙模块连接起来,我们要通过串口工具来对蓝牙模块进行设置。每个模块都有它对应的一个串口调试工具能够一键发送命令什么的,当然用通用的一些串口工具例如XCOM也可以,只不过要手敲指令。这里的波特率是要和单片机串口的波特率相同才能进行通讯哦。

2024-05-15 23:28:29 1371

原创 Hard Fault 异常调试方法_go to infinite loop when hard fault exception occu

Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址、写只读存储位置等)和非法的程序行为(比如除以0等)等造成的。常见的4种异常及产生异常的情况如下:**Bus Fault:**在fetch指令、数据读写、fetch中断向量或中断时存储恢复寄存器栈情况下,检测到内存访问错误则产生Bus Fault。**Memory Management Fault:**访问了内存管理单元(MPU)定义的不合法的内存区域,比如向只读区域写入数据。

2024-05-15 23:27:55 1294

原创 H264 编解码协议详解_h264编解码流程框图

人眼可察觉到的电视视频图像刷新中的闪烁为 0.02 秒,即当电视系统的帧率低于 50 帧/秒,人眼可感觉得出画面的闪烁。H.264 引入 IDR 帧是为了解码的重同步,当解码器解码到 IDR 帧时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。视频的一场和一帧用来产生一个编码图像,一帧通常是一个完整的图像,当采集视频信号时,如果采用隔行扫描(奇、偶数行),则扫描下来的一帧图像就被分成了两个部分,这每一部分都被称为 [场],根据次序,分为 [顶场] 和 [底场]。

2024-05-15 23:27:21 1142

原创 GStreamer源码编译安装脚本化_gstreamer-plugins 交叉编译

脚本功能是在Linux上源码安装Gstreamer,仅仅是将手动安装过程脚本化,将手动安装过程遇到的问题处理掉写成脚本,并非所有版本都正常通过,测试的版本比较少其它版本有可能遇到不一样的问题。安装依赖下载源码编译安装验证Gstreamer源码主页: https://gitlab.freedesktop.org/gstreamer源码列表(按顺序安装)gstreamerorc只有过程中遇到错误就退出安装。目前测试的版本比较有限,有些版本可能无法一步成功。

2024-05-15 23:26:46 1314

原创 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子_rc4 aes rsa(1)

下面是所用到的对图片文件每16个字节进行AES、RC4加密的测试函数。附带一个简单的RSA加密测试,但是没区分公钥和私钥,对字符串进行RSA加密的这类资料网上太多了。

2024-05-15 02:21:19 293

原创 使用memtester工具对嵌入式Linux内存压力测试_memtester内存压力测试占用内存越来越多

【1】解压【2】修改Makefile如果是在X86/X64 Linux系统使用,则无需修改Makefile文件,默认是选择系统gcc编译。在嵌入式Linux上使用需修改编译器。这里通过配置文件“conf-cc”和“conf-ld”选择编译器。把“conf-cc”和“conf-ld”文件的默认编译器“cc”改为目标编译器。【3】编译和安装执行“make”编译生成可执行文件“memtester”;然后执行“make install”将执行文件安装到系统,并加入环境变量。

2024-05-15 02:20:43 1376 1

原创 使用memtester工具对嵌入式Linux内存压力测试_memtester内存压力测试占用内存越来越多(2)

执行“make”编译生成可执行文件“memtester”;然后执行“make install”将执行文件安装到系统,并加入环境变量。嵌入式环境下,我们一般不选择安装,直接把可执行文件拷贝到系统执行即可。

2024-05-15 02:20:05 923

原创 使用memtester工具对嵌入式Linux内存压力测试_memtester内存压力测试占用内存越来越多(1)

Hi3520DV400平台编译。

2024-05-15 02:19:27 1345

原创 C语言实现顺序栈 和 链式栈_顺序栈和链栈的程序实现完整代码简单易懂

实现:顺序表,设两个指针top、base分别指向栈顶、栈底。入栈时top增、出栈top减,通过指针top来定位栈顶元素。实现:实质为单链表。指针top指向链表头部,插入元素从头部插入、删除元素从头部删除,从而实现后进先出。

2024-05-14 16:47:10 246

原创 2024年物联网嵌入式最新存储器Flash页、扇区、块的区别,2024年最新做了6年的物联网嵌入式开发

扇区、块这些专用名词,其实是从早期的软盘、硬盘等存储器发展而来,目的是将一个存储器划分为多个(扇区、块)区域,更方便的编程管理这些存储单元。比如:STM32F1中小容量芯片内部Flash,1K字节为1页,整个Flash分为32页(当然,不同容量的芯片,页数不同)。不同厂家的、不同类型存储器的划分方式不同,有的以页为最小单元,有的以扇区为最小单元,但大部分都以扇区为最小单元。**注:**不同厂家的、不同类型存储器的页大小不同,1KB、2KB、4KB等各种容量的页大小都有。

2024-05-14 13:12:12 1083

原创 2024年物联网嵌入式最新如何专业地命名嵌入式软件版本?_嵌入式软件版本号 格式(2),2024年最新这些年我所经历的所有面试

*希腊字母版本号(rc):**此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对象是软件的UI。**日期版本号(20201228):**用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。

2024-05-14 13:11:32 862

原创 2024年物联网嵌入式最新基础篇:Linux 常用命令总结_vv linux(1),物联网嵌入式开发入门教程

cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。或者对于大文件,干脆用 more 命令吧!语法格式:cat [参数] [文件]

2024-05-14 13:10:52 670

原创 2024年物联网嵌入式最新基于STM32的RFID-RC522门禁系统_stm32门禁系统射频卡rc522,2024年最新透彻解析

(img-YOJ14SkK-1715663386295)](img-DyB7Mtqn-1715663386295)]全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。

2024-05-14 13:10:09 610

原创 2024年物联网嵌入式最新基于51单片机的水流量传感器测试系统_基于51流量传感器(1),真牛

该报警器通过水流量传感器检测上水的体积,并显示已上水的体积占总体积的百分比(最大值为100),当水上满后,启动蜂鸣器报警提醒用户关闭上水水阀。基于51单片机超声波测距(内含源程序,原理图及PCB源文件):https://download.youkuaiyun.com/download/qq_37037348/11071866。附上本人在大学学习期间所有学习实现的demo,这些项目的实现都通过本人亲自测试运行,也是自己学习中知识的一点一点积累,整理不易,希望能帮到大家,不足之处大家多多交流。学会使用蜂鸣器发出报警声。

2024-05-14 13:09:01 897

空空如也

空空如也

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

TA关注的人

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