自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F103C8T6编写简单的程序并烧录到板卡上_stm32f103c8t6写程序(1)

其中HAL_TIM_PWM_Start()函数用于启动PWM波的产生,第一个参数&htim1表示所用的时钟源为TIMER1,第二个参数TIM_CHANNEL_1表示用的通道是Channel1,这也正对应了我们选择的PA8引脚所对应的通道。HAL_GPIO_ReadPin()函数的参数中,第一个参数GPIOA代表选择的引脚为PA引脚,第二个参数GPIO_PIN_5代表选择的引脚序号为5。从图中的TIM1_CH1中可以看出PA8对应的通道是TIMER1中的CHANNEL1,因此后续我们将对这一个通道进行配置。

2024-05-17 09:18:59 524

原创 stm32f103c8t6最小系统引脚及功能原理图_stm32f103c8t6引脚图及功能

STM32的烧录方式有几种,实际产品开发一般用SWD接口烧录,占用尺寸空间少,一般只需要5根线,也有些用4根线的,就是vdd不接,不接vdd烧录要单独给板子供电。如果我们要使用串口烧录,也就是ISP,就需要把BOOT0接到电源,BOOT1接到地,烧录完以后再全部接到地,相对麻烦很多。说到数据手册,作为一个英语渣,这里多说一句,不要怕全是英文,不用全看懂,抓关键的地方看,其实来来去去就那几个英文。刚上电的时候电流会通过R19和C20到地,为C20充电,此时NRST的引脚为低电平。

2024-05-17 09:18:25 1473

原创 stm32f103c8t6最小系统引脚及功能原理图_stm32f103c8t6引脚图及功能(1)

STM32的烧录方式有几种,实际产品开发一般用SWD接口烧录,占用尺寸空间少,一般只需要5根线,也有些用4根线的,就是vdd不接,不接vdd烧录要单独给板子供电。复位电路的作用就是,板子上电的瞬间给单片机复位引脚(NRST)一个短暂的低电平,让单片机程序复位,把除了备份区域寄存器以外所有寄存器状态恢复原始状态。说到数据手册,作为一个英语渣,这里多说一句,不要怕全是英文,不用全看懂,抓关键的地方看,其实来来去去就那几个英文。刚上电的时候电流会通过R19和C20到地,为C20充电,此时NRST的引脚为低电平。

2024-05-17 09:17:51 1469

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

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

2024-05-17 09:17:17 377

原创 Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office_qtxlsx

0]i

2024-05-17 05:56:23 1545

原创 Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office_qtxlsx(1)

已复制 1 个文件。…此处省略一万字#includeint main()//![0]//!

2024-05-17 05:55:48 1183

原创 Qt TCP实现

/主动和对方断开连接。

2024-05-17 05:55:14 1018

原创 Qt QTreeWidget树形控件用法详解_qt 树控件

作为简易版的 QTreeView,QTreeWidget 仅适用于构建简单的树形结构,当实际场景中需要构建数据量大、结构复杂的树形结构时,还是应该选择 QTreeView。

2024-05-17 05:54:40 1415

原创 idea快捷键(目前在国内见过最全的)_idea的ctrl+f7怎么用

Ctrl+J,查看更多。Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能在编辑 JSP 文件时也可以工作。Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch。Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找。Ctrl+Alt+Shift+S,打开当前项目/模块属性。Ctrl+Shift+Alt+N,查找类中的方法或变量。

2024-05-17 02:17:58 328

原创 idea快捷键(目前在国内见过最全的)_idea的ctrl+f7怎么用(1)

Ctrl+J,查看更多。Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能在编辑 JSP 文件时也可以工作。Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch。Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找。Ctrl+Alt+Shift+S,打开当前项目/模块属性。Ctrl+Shift+Alt+N,查找类中的方法或变量。

2024-05-17 02:17:24 365

原创 IDEA快捷方式及常用插件_idea 点击进入方法插件

类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。

2024-05-17 02:16:51 278

原创 IDEA快捷方式及常用插件_idea 点击进入方法插件(1)

该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,该插件还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能。这里的快捷键用的频率还是很高的,但是之前用的最多的是Ctrl+F和Ctrl+Shift+F,后面相关的Find Usages基本上没有用过,后面应该多使用,有的时候相对Ctrl+F在文件内按字符串查找,还是更好用一些。最低版本 JDK1.7+

2024-05-17 02:16:17 438

原创 C语言 结构体 联合体 嵌套使用_联合体里面嵌套结构体

【代码】C语言 结构体 联合体 嵌套使用_联合体里面嵌套结构体。

2024-05-16 21:17:56 981

原创 C语言 标识符 static_static 标识符

在某些条件下,比如说在使用诸如pthread(它不支持类)此类的多线程库时,就必须使用静态的成员函数,因为其地址同C语言函数的地址兼容。C++会区分两种类型的成员函数:静态成员函数和非静态成员函数。这时编译就不会有错误,因为在类的定义时,它静态数据和成员函数就有了它的内存区,它不属于类的任何一个具体对象。还是那个问题,静态成员(函数),不属于任何一个具体的对象,那么在类的具体对象声明之前就已经有了内存区,而现在非静态数据成员还没有分配内存空间,那么这里调用就错误了,就好像没有声明一个变量却提前使用它一样。

2024-05-16 21:17:22 1010

原创 C语言 标识符 static_static 标识符(1)

在某些条件下,比如说在使用诸如pthread(它不支持类)此类的多线程库时,就必须使用静态的成员函数,因为其地址同C语言函数的地址兼容。C++会区分两种类型的成员函数:静态成员函数和非静态成员函数。这时编译就不会有错误,因为在类的定义时,它静态数据和成员函数就有了它的内存区,它不属于类的任何一个具体对象。还是那个问题,静态成员(函数),不属于任何一个具体的对象,那么在类的具体对象声明之前就已经有了内存区,而现在非静态数据成员还没有分配内存空间,那么这里调用就错误了,就好像没有声明一个变量却提前使用它一样。

2024-05-16 21:16:48 1000

原创 C++string类的常用方法_c++字符串操作

【代码】C++string类的常用方法_c++字符串操作。

2024-05-16 16:16:54 380

原创 C++string类的常用方法_c++字符串操作(2)

例如: 输入: this is a isspace!【例题】利用find函数和replace函数完成字符串的替换。输出: thare a arespace!

2024-05-16 16:16:19 362

原创 C++string类的常用方法_c++字符串操作(1)

/比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小。

2024-05-16 16:15:45 319

原创 C++QT入门_c++ qt

public slots: // 添加槽函数private:// 重新更新// 设置 完成之后可以拉伸// 设置固定大小// 设置父亲对象// button->setText("中国红!");// // 按钮移动// // 设置按钮大小QPushButton *button2 = new QPushButton("第二个按钮(关闭)",this);# 定义信号函数delete ui;// 槽函数实现。

2024-05-16 16:15:10 531

原创 51单片机项目(26)——基于51单片机的超声波测距protues仿真_protues 超声波模块仿真

HCSR04是一种常用的超声波测距模块,用于测量物体与传感器之间的距离。它由超声波发射器和接收器组成,通过发射一束超声波脉冲并计算接收到的反射信号的时间来测量距离。非接触测量:HCSR04通过发送和接收超声波信号进行测距,无需与被测物体直接接触。宽测距范围:HCSR04的测距范围通常为2cm到4m,并且可以根据具体情况进行调整。高精度:HCSR04的测量精度通常为1mm,可以满足大多数应用场景中的精度要求。

2024-05-16 13:14:12 378

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

根据LED的颜色、尺寸和显示方式的不同,LED数码管可以分为七段数码管、共阳数码管和共阴数码管。共阳数码管在显示数字时,LED段的阳极连接在一起,共阴数码管则是将LED段的阴极连接在一起。通过驱动电路控制数码管的各个片段的亮灭状态,可以显示出各种数字、字符和符号,提供人机交互和信息显示功能。它是一种手动操作Switch(开关)的构件,一般由一个按下式按钮和一系列电子元器件组成,可与电路板相连接,使其特定功能得以操作、调节和控制。它有很高的亮度、对比度和广视角,可以显示大量的字符和符号,并具有较长的寿命。

2024-05-16 13:13:38 429

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

根据LED的颜色、尺寸和显示方式的不同,LED数码管可以分为七段数码管、共阳数码管和共阴数码管。通过在特定的LED段上加电,可以显示特定的数字或字符。通过驱动电路控制数码管的各个片段的亮灭状态,可以显示出各种数字、字符和符号,提供人机交互和信息显示功能。丰富的外设:51单片机提供了多种外设接口,如GPIO(通用输入输出)、定时器/计数器、串行通信接口(如UART、SPI和I2C)、PWM(脉冲宽度调制)等。成熟的开发工具和软件支持:由于51单片机的广泛应用和历史悠久,它拥有成熟的开发工具和丰富的软件支持。

2024-05-16 13:13:04 395

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

根据LED的颜色、尺寸和显示方式的不同,LED数码管可以分为七段数码管、共阳数码管和共阴数码管。通过在特定的LED段上加电,可以显示特定的数字或字符。通过驱动电路控制数码管的各个片段的亮灭状态,可以显示出各种数字、字符和符号,提供人机交互和信息显示功能。丰富的外设:51单片机提供了多种外设接口,如GPIO(通用输入输出)、定时器/计数器、串行通信接口(如UART、SPI和I2C)、PWM(脉冲宽度调制)等。成熟的开发工具和软件支持:由于51单片机的广泛应用和历史悠久,它拥有成熟的开发工具和丰富的软件支持。

2024-05-16 13:12:29 231

原创 Visio画图_visio画图灯杆(1)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上

2024-05-16 01:42:41 342

原创 V4L2驱动框架详解

V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写。V4L2在设计之初时,是要支持很多广泛的设备的,如声卡, display, FB, I2C, camera等.它们之中只有一部分在本质上是真正的视频设备,也是造成V4l2源码冗余的原因之一。

2024-05-16 01:42:07 864

原创 V4L2框架概述

几乎所有的设备都有多个 IC 模块,它们可能是实体的(例如 USB 摄像头里面包含 ISP、sensor 等)、也可能是抽象的(如 USB 设备里面的抽象拓扑结构),它们在/dev目录下面生成了多个设备节点,并且这些 IC 模块还创建了一些非 v4l2 设备:DVB、ALSA、FB、I2C 和输入设备。正是由于硬件的复杂性,v4l2 的驱动也变得非常复杂。特别是 v4l2 驱动要支持 IC 模块来进行音/视频的混合/编解码操作,这就更加使得 v4l2 驱动变得异常复杂。

2024-05-16 01:41:32 985

原创 V4L2框架-videobuf2

videobuf2 用于连接 V4L2 驱动层与用户空间层,提供数据交流的通道,它可以分配并管理视频帧数据。videobuf 层实现了很多 ioctl 函数,包括 buffer 分配、入队、出队和数据流控制。为什么要有videobuf2?因为 videobuf1 存在者下面的问题(原文收录于赫尔欣基峰会会议的 PPT 文档中,摘录如下)不完善的以及错误的内存管理a. 不能停止 streaming(在 streamoff 的时候,buffer 被释放,从而无法灵活地再次开启 stream);

2024-05-16 01:40:57 1056

原创 HTML5七夕情人节表白网页制作【樱花雨+爱心3D相册】HTML+CSS+JavaScript_樱花雨代码

代码如下(示例):以下仅展示部分代码供参考~

2024-05-15 23:30:54 419

原创 HTML5——Canvas图表插件 chart

【代码】HTML5——Canvas图表插件 chart。

2024-05-15 23:30:20 415

原创 hex文件、out文件、bin文件、map文件解析

hex文件包括地址信息(烧写或下载hex文件,一般不需要用户指定地址),bin文件格式只包括数据本身(烧写bin文件时,用户需要指定地址信息)。(后面所有数据地址+线性地址左移16位,将该地址左移16 位后作为基地址,并且表示在下一个04类型行出现之前都要使用该地址作为基地址来使用。例:0xBD = 0x0100 –(0x02 + 0x00 + 0x00 + 0x04 + 0x00 + 0x3D)第①行数据基地址(首行):0x0000 +(0x003D

2024-05-15 23:29:46 818

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

(1)我们使用串口调试助手,对于HC-05模块进行AT命令调试,在上电之前,要先按住蓝牙模块上的按钮,然后上电,此时灯是慢闪,进入AT命令模式,默认波特率是38400(不会被设置所影响),此模式叫原始模式。此模式我们叫正常模式。模块角色和连接模式是一样的,选择主从角色,当模块位主角色时,绑定地址为你想要连接模块(从角色)的MAC地址;(3)设置HC-05蓝牙模块的模块角色与连接模式为主角色,密码与从角色相同,绑定地址为第(1)步记录并改写好的XXXX:XX:XXXXXXJDY-09蓝牙模块的MAC地址。

2024-05-15 23:29:11 782

原创 使用python异步爬取淘宝大量商品的价格,并生成excel文件_python抓取淘宝商品信息导出excel(2)

header={“user-agent”:“”,“Cookie”:‘’}#header字典的value为刚刚复制的的user-agent和cookie。GoodsPrices=re.findall(r’“view_price”:“[\d.]*”‘,text)#使用正则表达式获取页面商品的价格。#将保存有商品信息的info列表写入csv文件,注意文件的打开模式一定要为’a’,否则下一页面输入文件的新内容将覆盖本页面输入文件的内容。num=eval(input(‘请输入想检索的页面数:’))

2024-05-15 02:24:03 931

原创 使用python异步爬取淘宝大量商品的价格,并生成excel文件_python抓取淘宝商品信息导出excel(1)

把他们复制下来,没有cookie和user-agent爬虫就无法爬取信息。点击后,会看到cookie,再往下会看到user-agent。先打开浏览器访问淘宝网,然后按 f12 进入开发者模式,在编写代码之前,我们需要。,并且后续会持续更新**

2024-05-15 02:23:26 345

原创 使用python+selenium清空淘宝购物车_如何实现python定时清购物车(1)

在登陆以后,我们的目的是清空购物车,因此我们需要访问购物车。默认我们清空购物车,所以购物车里面多余的商品请先暂时清理掉。如果购物车是空的,则无法清空,因此需要设置异常处理机制。进入提交环节,我们首先点击提价订单按钮,接着确认支付,输入支付密码,最后再次提交即可。最后使用的电脑是常用机器,否则可能会出现多余的安全验证环节。在登陆之前,我们需要获取登录的用户名和登录密码。然后通过通过浏览器“检查”的方式,定位到输入用户名和密码的文本框,以及登录的按钮。

2024-05-15 02:22:49 490

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

(img-7eIqJdHj-1715710906561)](img-2yeSzoBM-1715710906559)]// 测试使用aes加密文件算法的例子。// 测试使用aes解密文件算法的例子。// 测试使用rc4加密文件算法的例子。// 测试使用rc4解密文件算法的例子。// 测试使用aes加密算法的例子。// 测试使用rc4加密算法的例子。

2024-05-15 02:22:09 636

原创 C语言指针讲解(史上最通俗最全面最经典)_使用指针的意义,简单点

这个例子将整型数组中各个单元的值加1。由于每次循环都将指针ptr加1 个单元,所以每次循环都能访问数组的下一个单元。再看例子:在这个例子中,ptr 被加上了5,编译器是这样处理的:将指针ptr 的值加上5 乘sizeof(int),在32 位程序中就是加上了5 乘4=20。由于地址的单位是字节,故现在的ptr 所指向的地址比起加5 后的ptr 所指向的地址来说,向高地址方向移动了20 个字节。

2024-05-14 16:49:22 723 1

原创 C语言指针讲解(史上最通俗最全面最经典)_使用指针的意义,简单点(1)

/声明了结构对象ss,并把ss 的成员初始化为20,30 和40。//指向运算符,或者可以这们(*ptr).a,建议使用前者。//MyStruct *,它指向的类型是MyStruct。//声明了一个指向结构对象ss 的指针。//也可写成strcpy(s,strcpy(s,str[1]);//也可写成strcpy(s,strcpy(s,str[2]);//也可写成strcpy(s,//声明了一个指向结构对象ss 的指针。//它被指向的类型ptr 是不同的。

2024-05-14 16:48:41 839

原创 2024年物联网嵌入式最新嵌入式 C 语言宏配置的各种技巧_嵌入式c语言中的宏,2024年最新零基础物联网嵌入式开发

当预处理器读到#ifndef _ DEVICE_DEBUG这句发现未宏定义_ DEVICE_DEBUG时,它会在下一句取消_ DEBUG的宏定义,这样不管我实际有没宏定义_ DEBUG,当到了#include "DebugMsg.h"并展开后,预处理器都会认为未定义_ DEBUG,所以就会把_dbg_printf0宏定义为空语句,然后就实现了这个串联的逻辑。完美,设备相关信息全部都从外面的txt文件中读出来了,而且这个文件的文件名还是由刚刚才提到的可工程定制的宏配置的方式给出的。还要加设备,这样下去不行!

2024-05-14 13:18:47 587

原创 2024年物联网嵌入式最新嵌入式 C 结构体笔记_zealzhang,2024年最新物联网嵌入式开发开发面试

我们刚刚申请了一个名叫Info的结构体类型,那么理论上我们可以像声明其他变量的操作一样,去声明我们的结构体操作,但是C语言中规定,声明结构体变量的时候,struct关键字是不可少的。struct 结构体类型名 结构体变量名//学号,用无符号长整数表示//名字,用字符数组表示//入学年份,用无符号整数表示//学制,用无符号整数表示/\*\*\*在main函数中声明结构体变量\*结构体变量名叫info\*struct关键字不能丢\*/...//学号,用无符号长整数表示。

2024-05-14 13:18:09 266

原创 2024年物联网嵌入式最新小甲鱼C++快速入门学习笔记_小甲鱼c++快速入门笔记,从草根到百万年薪程序员的十年风雨之路

includeint main()std::cout

2024-05-14 13:16:58 721

空空如也

空空如也

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

TA关注的人

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