自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 keil5 搭建51开发环境

(1)安装好keil5(2)安装c51v959.exe(3)stc-isp-15xx-v6.86r.exe 中 添加信号和头文件到Keil中 添加STC仿真器驱动到Keil中(4)破解keil license(5)就可以在keil5中进行51开发了

2022-05-15 12:13:34 1666

原创 分享温控PID算法

srm32f1 ds18b20公式:out=(kpek)+ (kin∑k=0Ek) +Kd(EK一Ek_1)十 kout待续…

2022-03-24 15:35:05 494

原创 QT数据库模块(SQLite)笔记

1、数据简介 数据库是指以一定方式存储在一起,能为多个用户共享、具有尽可能小的冗余特性,是与应用程序彼此独立的数据集合。相关术语:DB 数据库(database)DBMS 数据库管理系统DBA 数据库管理员 (最大权限)RDB 关系式数据库2、常见数据库商业收费甲骨文...

2021-08-10 21:28:09 275

转载 顺序容器和迭代器

一、顺序容器vector1.1容器是什么在C++中,容器被定义为:在数据存储上,有一种对象类型,它可以持有其他对象或指向其他对象的指针,这种对象类型就叫做容器。简单理解,即容器就是保存其他对象的对象。而且,这种“对象”还有处理“其他对象”的方法。容器是随着面向对象语言的诞生而提出的,它甚至被认为是早期面向对象语言的基础。现在几乎所有面向对象语言中都伴随着一个容器,C++中则是标准模版库(STL)。C++采用基于模版的方式处理容器,STL中的容器提供了多...

2020-05-31 15:39:02 295

原创 顺序容器概述

1. 所有顺序容器都提供了快速顺序访问元素的能力,但是,这些容器在 (1)向容器添加火从容器中删除元素的代价。(2)非顺序访问容器中元素的代价 。两方面都有不同的性能折中。vector : 可变大小数组,支持快速随机访问,在尾部之外的位置插入或者删除元素可能很慢。deque:双端队列,支持快速随机访问。在头尾位置插入或者删除元素很快。list :双向链表,只支持双向顺序访问,在lish中任何位置进行插入/删除元素都很快。forward_list :单向链表。只支持单向顺序访问。...

2020-05-31 15:20:24 363

转载 QString 详解

本文转载,非原创,做了新增修改。QString在Qt的各种数据转换中可谓举足轻重,熟悉QString的用法对于Qt编程真的是如虎添翼:QString 字符串有相当多的操作符和函数,此处只介绍一些比较常用的:(1) “+” 用于组合两个字符串,“+=” 用于将一个字符串追加到另一个字符串的末尾,例如:QString str1 = "Welcome";str1 = str1 + "to you !"; //str1 = "Welcome to you!"QString str2 =...

2020-05-25 21:34:07 2606

转载 QByteArray详解

QByteArray在串口通讯中经常被使用,有一定必要较为全面详细的对QByteArray进行阐述。本文通过以下几个部分加以介绍:1. 初始化2. 访问与赋值3. 添加、删除、插入与替换操作4. 查找与比较5. 数据转换与处理1 初始化2 访问与赋值访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[]。其中[]和data[]为可读可写,at()和constData[]仅为可读。如果仅是读,则通过at()和constData[]访...

2020-05-25 19:27:56 4982

原创 QT QML JSON文件的解析和修改

C++ 编写一个JSON类,完成对JSON文件数据的读写。注册为QML类型。(1) JSON类头文件#ifndef DJSON_H#define DJSON_H#include <QObject>#include <QJsonDocument>#include <QString>#include <QVariant>#inclu...

2020-04-26 09:50:06 2505

原创 qml StackView 界面切换应用

效果演示:https://v.qq.com/x/page/f0955dskgit.html?url_from=share&second_share=0&share_from=copy代码:main.qml---------------------------------------------------------------------------------...

2020-04-22 22:31:31 2904

原创 STM32F1 DMA+PWM 控制WS2812B LED灯

1. 对于写驱动来说WS2812B芯片手册主要就是看通讯。简单来说就是给WS2812B发送数据,数据就是RGB对应的值,先发高位,按照GRB的顺序发送数据。通常我们用高电平表示数字信号“1”,低电平表示数字信号“0”,但是WS2812B由他自己特定的1码和0码。从手册中的“数据传送时间”表中可知,1码高电平和低电平持续时间都为580ns-1us,0码高电平时间为2...

2020-04-21 16:30:32 7585 12

原创 stm32 步进电机控制,S曲线加减速,匀加速运动

C语言电机控制,曲线加速 ,直线加速

2020-03-05 17:18:06 4486

原创 c 笔记

用变量a 给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的; int * a[10]; f) 一个指向有10个整型数数组的指针; ...

2019-03-22 17:28:27 201

转载 stm32 启动文件详解(2)

EXPORT WWDG_IRQHandler [WEAK] EXPORT PVD_IRQHandler [WEAK] ...

2019-03-21 16:27:24 841

转载 stm32 启动文件详解(1)

STM32启动过程全面解析,包括启动过程的介绍、启动代码的陈列以及深入解析。相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000000)同时中断向量...

2019-03-21 16:20:52 673

原创 C语言双链表

#include "stdio.h"#include "stdlib.h"typedef struct student{ int key; struct student * next; struct student * prev;}Node;typedef struct Head{ struct student *pHead;}Dlist;/*...

2019-03-20 22:09:06 143

原创 浅谈strlen 和 sizeof

假如去面试,我们经常会被问到stlen 和 sizeof的用法。当然 实际开发中我们也常会用到它们;1. 区别sizeof()是运算符,由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组的空间,返回值跟这些里面所存储的内容没有关系。sizeof操作符的结果类型是size_t,它在头文件中typedef为...

2019-03-15 15:38:10 198

转载 c++ 字符串相关函数

c:1. 字符长度strlen(str); //从第一个字符计算到0x00机‘\0’sizeof(str);2. 字符串复制头文件:#include &lt;string.h&gt; 和 #include &lt;stdio.h&gt;原型声明:char *strcpy(char* dest, const char *src);函数原型:char *strncpy(ch...

2019-03-13 15:30:16 2307

转载 C++ 时间戳 时间相关函数

【时间戳】Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数1. 函数模型/* Return the current time and put it in *TIMER if TIMER is not NULL. *...

2019-03-13 14:52:04 9243

转载 C++ 文件读写相关函数

几个C/C++语言文件读写函数1、打开和关闭文件  (1)打开文件:FILE * fopen(const char *filename, const char *mode)  在使用打开文件函数时,我们要提供一个要打开的文件名,这里要提供一个当前用户有权限进行相应mode操作的文件,且应该提供相对应的文件路径(默认路径为当前文件夹)。打开方式mo...

2019-03-13 14:19:49 3942

原创 解决51,stm32 Qt qt serial串口接收问题

1、解决串口分包问题。即本来接收串口数“1122334455”,被分成了112233和4455两帧数据。2、解决串口数据长度不固定,且没有规律,没有包头,没有包尾等。3、发送两帧数据的间隔必须超过设置的超时时间。我一般用5ms的超时时间,所以只要两帧数据发送间隔超过5ms,都能被解析出来。4、主要是交流学习,如果有什么疑问一起讨论学习,看完有帮助,请点赞,我会分享更多的东西。解决思...

2018-09-19 15:42:08 2511

原创 stm32 寄存器操作一看就会

1. 寄存器是什么? 可以查百度,查看详情。。。。。。。。。我的总结:在嵌入式里面寄存器非常非常重要重,就是实现软硬件的接口,几乎所有的功能操作都是通过操作寄存器来实现的。2. 寄存器操作,点亮一盏led灯。以stm32f103为例,点亮PB8控制的led灯,PB8输出高电平led灯亮,输入低电平led灭。查看参考手册,一定学会阅读手册。操作分为四步。第一步 开启外设时钟使能寄存器,当外设时钟没有...

2018-05-02 15:54:33 24988 3

空空如也

空空如也

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

TA关注的人

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