自定义博客皮肤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)
  • 收藏
  • 关注

原创 2022年个人年度总结(毕业-工作)

我的2022年度总结

2022-12-31 23:12:02 303 1

原创 直流电机调速上位机下位机PCB

DC motor介绍DC motor(直流电机调速系统)使用说明使用之前一定要阅读README目录中的“LowerComputer” 代表的是下位机程序,也就是STM32程序,下位机还没有加ADC目录中的“LowerComputer” 代表的是上位机程序,也就是QT程序,注意QT使用的时候不要存放到有中文路径的目录,关于上位机还有很多功能没有完善,后续会完善,当前只有读取电机速度,设置电机速度,绘制电机速度波形,速度增大减小功能目录中的“PCB”指的是硬件设计(注意:硬件存在问题,

2021-06-09 21:38:06 608

原创 MySql中DQL分页查询和联合查询介绍

DQL分页查询和联合查询介绍分页查询语法 select 查询列表​ from 表​ limit offset,size(offset为起始索引,从0开始,size是要显示的个数)SELECT * FROM employeesLIMIT 0,5联合查询union将多个结果合并成一个结果SELECT * FROM employees WHERE email LIKE '%a%'UNIONSELECT * FROM employees WHERE department_id

2021-05-09 20:31:49 151

原创 MySql中DQL子查询介绍

DQL子查询介绍按结果集行列数不同:标量子查询(结果为一列一行)列子查询(结果为一列多行)行子查询(结果为一行多列)表子查询(结果为多行多列)按子查询位置不同:select后面(标量子查询)from后面(表子查询)where或者having后面(标量子查询、列子查询、行子查询)exists后面(表子查询)子查询放在小括号内部子查询一般放在条件的右侧标量子查询,一般配合单行操作符使用 > < >= <= = <>列子查询,一般搭配多行子查

2021-05-09 20:30:00 127

原创 MySql中DQL连接查询介绍

DQL连接查询介绍连接查询按年代分:sq192标准(只支持内连接)sq199标准按功能分:内连接等值连接非等值连接自连接外连接左外连接右外连接全外连接交叉连接SQL92语法等值连接现在有两张表我们想要的是输出boyfriend_id 和 boy表中id匹配的对SELECT NAME,boyname FROM beauty,boysWHERE beauty.boyfriend_id = boys.id非等值连接# 这里我们就用到非等

2021-05-09 20:18:25 132

原创 MySql中DQL分组查询介绍

DQL分组查询介绍分组查询语法格式: SELECT 分组函数,列(要求出现在group by的后面)​ from 表​ WHERE 筛选条件​ group by 分组的列表​ order by 子句首先来查看一下案列要操作的表# 查看每个部分的薪资最高(根据job_id区分部门)SELECT MAX(salary),job_idFROM employeesGROUP BY job_id;# 查看job_id的人数SELECT COUNT

2021-05-08 21:42:21 111

原创 MySql中DQL常用分组函数介绍

DQL常用分组函数介绍分组函数(聚合函数,统计函数):给定一组数据得到一个结果SUM/AVG/MAX/MIN/COUNT函数:SELECT SUM(salary),AVG(salary),MAX(salary),MIN(salary),COUNT(salary) FROM employeesPS:SUM/AVG中一般用来处理数值型,MAX/MIN/COUNT可以处理任何类型,以上五个函数都会忽略null和DISTINCT配合使用实现去重SELECT SUM(DISTINCT salary

2021-05-08 21:31:52 92

原创 MySql中DQL常用单行函数介绍

DQL常用单行函数介绍字符函数length: 返回长度(使用的是utf-8编码,一个中文占用3个字节大小)SELECT LENGTH('JOHN') AS LENGTH;SELECT LENGTH('周') AS LENGTH;PS:在utf-8中,中文占用的字节数是3个字节,但是在GBK编码中中文占用2个字节concat:用于拼接字符串select concat('john','_','zhou')Upper函数和Lower函数:转为大写或者小写SELECT

2021-05-08 16:37:41 132

原创 PCB设计常用参考资料封装和规范

PCB设计常用参考资料和封装gitee下载地址:https://gitee.com/zhou-xiaokun/common-data-of-pcb-drawing目录总结构常用封装(收集目前PCB设计常用的资料)库(包含AD软件的常用库)设计规范(凡亿PCB规范)后面会持续更新,喜欢点一下Star吧...

2021-04-29 00:58:50 575

原创 STM32软件SPI实现NRF24L01

软件SPI实现NRFNRF一共是八个引脚,除去VCC和GND还有六个引脚。所以我们只需要配置这六个引脚就可以了。这六个引脚分别是SCK,MOSI,MISO,CSN,CE,IRQ除了MISO和IRQ配置成输入,其他的都配置为输出即可,其实如果不配IRQ也没事,如果有需要的话可以配置,不配的也是可以的,不会影响单片机的通信。配置输入和输出就和配置LED和按键输入是一样的,代码可以参考LED和按键输入的代码。以上的代码是NRF的初始化接下来我们需要几个宏定义,具体的作用是方面我们随时改变管教的高低电

2020-11-08 13:36:45 1368

原创 STM32F1移植任务调度

STM32F1移植任务调度什么是任务调度呢?我在匿名代码任务管理中有提到任务调度,那么我们今天来把任务调度真正的移植出来任务调度就是把你要做的事件分成一个一个的任务,然后确定任务执行的频率SYSTICK滴答定时器作为内核部分的SYSTICK定时器,是每个学单片机的人都必须会的。因为他不会占用软件执行的时间,它的计时完全是由硬件完成的,所以我们不需要关心它的执行时间会影响我们的程序。作为内核部分,不管是TI的tiva还是STM32都可以适用。首先我们呢要初始化SYSTICK滴答定时器,因为

2020-11-07 18:43:23 400

原创 匿名四轴【任务六(20Hz)】

匿名四轴【任务六(20Hz)】任务六static void Loop_20Hz(void) //50ms执行一次{ /*电压相关任务*/ Power_UpdateTask(50); //恒温控制 Thermostatic_Ctrl_Task(50);}电压相关任务//运用,传入参数50,没有接受返回值Power_UpdateTask(50);//函数void Power_UpdateTask(u8 dT_ms){ static s16 voltage_s16; //

2020-07-09 14:28:57 261

原创 openmv随笔(IDE第四篇)

openmv随笔(IDE第四篇)画图操作image.draw_line((10,10,20,30), color=(255,0,0))image.draw_rectangle(rect_tuple, color=(255,0,0))# 我们直接看下面的代码画线image.draw_line(line_tuple, color=White) # 在图像中画一条直线。# line_tuple的格式是(x0, y0, x1, y1),意思是(x0, y0)到(x1, y1)的直线。# 颜色可以是

2020-07-08 11:54:52 380

原创 openmv随笔(IDE第三篇)

openmv随笔(IDE第三篇)ROI感兴趣的区域# roi的格式是(x, y, w, h)的tupple.x:ROI区域中左上角的x坐标y:ROI区域中左上角的y坐标w:ROI的宽度h:ROI的高度Statisticsimage.get_statistics(roi=Auto)# 其中roi是目标区域。注意,这里的roi,bins之类的参数,一定要显式地标明img.get_statistics(roi=(0,0,10,20))# roi就是感兴趣的区域,对于一张图片你想完成某种操作

2020-07-08 11:29:48 1467

原创 openmv随笔(IDE第二篇)

openmv随笔(第二篇)获取/设置像素点/获取图像的宽度和高度"""openmv和opencv一样都支持像素操作(以后很多cv的用大都可以用到mv上了,不知道处理数据速度怎么样)而且openmv中很多都和opencv一样,查看图像的宽高等等,就是没有看到通道值对了好像图片不支持查看row,这个IDE做的不好的地方不能智能识别你前面的变量是什么类型,取而代之他把所有变量的属性给你,所以你.出来的属性可能这个变量并没有这个属性好了既然这样的话我要大展身手了,不过在此之前我们还要看一下串口,方便自己

2020-07-08 10:28:52 542

原创 openmv随笔(IDE第一篇)

openmv随笔(IDE第一篇)import sensor# 引入感光元件的模块"""import是python中导入模块的命令,在micopython一样适用"""sensor.reset()# 初始化感光元件sensor.set_pixformat(sensor.RGB565)# 设置为彩色# sensor.GRAYSCALE可以将它设置为黑白sensor.set_framesize(sensor.QVGA)# 设置图像的大小"""sensor.QQVGA: 160x120sen

2020-07-08 09:05:37 1019

原创 匿名四轴【 任务一(1000Hz)惯性传感器数据读取一】

上一篇说了传感器数据读取,接下来来看惯性传感器数据读取//我们来看这个函数现在到了第二部分惯性传感器数据读取u32 test_dT_1000hz[3],test_rT[6];static void Loop_1000Hz(void) //1ms执行一次{ test_dT_1000hz[0] = test_dT_1000hz[1]; test_rT[3] = test_dT_1000hz[1] = GetSysTime_us (); //记录当前的时间,并将存储的时间存储在test_rT[

2020-07-07 18:54:54 738

原创 匿名四轴【任务一(1000Hz)之读取传感器】

//为什么讲上面的呢因为下面有GetSysTime_us函数,//返回结果值是value就是我们的记录的时间//看到1000你应该就明白了每1ms执行一次u32 test_dT_1000hz[3],test_rT[6];static void Loop_1000Hz(void) //1ms执行一次{ test_dT_1000hz[0] = test_dT_1000hz[1]; test_rT[3] = test_dT_1000hz[1] = GetSysTime_us (); //记录

2020-07-06 21:49:33 645

原创 匿名四轴(任务管理第一篇)

任务初始化//任务开始void Scheduler_Setup(void){ uint8_t index = 0; //初始化任务表 for(index=0;index < TASK_NUM;index++) { //interval_ticks 计算每个任务的延时周期数就是上面说的延时周期 //你可以把它想想成两次任务开始间隔的时间, //这里的TICK_PER_SECOND为1000, //猜测(如果时钟频率发生改变,应该直接改这里就可以了, //如果猜测正确的化后续的操作

2020-07-06 17:45:41 580

原创 PCB随笔第一篇

四边都有引脚的封装CQFPCQFP-----Ceramic Quad Flat Pack 指保护环的四侧引脚扁平封装。塑料QFP 之一,引脚用树脂保护环掩蔽,以防止弯曲变形。在把LSI 组装在印刷基板上之前,从保护环处切断引脚并使其成为海鸥翼状(L 形状)。这种封装在美国Motorola 公司已批量生产。引脚中心距0.5mm,引脚最多为208 左右。FQFP小引脚中心距QFP。通常指引脚中心距小于0.65mm 的QFP(见QFP)。部分导导体厂家采用此名称。两边引脚的封装几种封装区分SOP一

2020-07-05 09:49:02 496 1

原创 C++中修改窗口名称和窗口颜色

改变窗口的名称在C++中修改窗口的名称我们需要用到C语言中的一个头文件 <windows.h> 以及函数SetConsoleTitle。//引用头文件#include <iostream>#include <windows.h>//使用命名空间using namespace std;int main(){ //创建一个名为'我的窗口'的窗口...

2020-02-21 13:57:26 7561 1

空空如也

空空如也

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

TA关注的人

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