自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 白平衡准备阶段知识点

1、什么是白平衡?自动白平衡字面意思是即不管在任何光源下,都能将白色物体还原为白色,在不同色温的光源下,图像会出现偏色,与人眼看到的颜色不一致,因此需要进行白平衡处理。使图像不受光源影响,让物体显现出原本的颜色。其实更准确是说色彩平衡,或者是消色平衡,所谓消色,指的是黑白灰,即红绿蓝三色比1:1:1。2、色温色温是一种衡量方法,色温是表示光线中包含颜色成分的一个计量单位。从理论上说,黑体温度指绝对黑体从绝对零度(-273℃)开始加温后所呈现的颜色。黑体在受热后,逐渐由黑变红,转黄,发白,最后发

2021-07-19 16:02:13 462

原创 RGB及颜色相关概念

1、什么是RGB?RGB 是光照色。R:红色;G:绿色;B:蓝色;低色温偏黄,高色温偏蓝。这个不是调节色温,是调节发光色彩,单色光无色温可言之所用R/G B/G是因为白光表示方式是R=G=B所以这样方便记录。红和蓝是也是比较明显。白平衡流程在各个色温下拍白纸照片,成为色温照 把色温进行矫正,具体是对R/G/B通道进行校正,记录各个通道的参数,也就是Gain值,实际上只矫正R和B就可以,得到矫正参数Rgain/Bgain rgb三个值确定了hsb就都定了啊,三个属性都会影响rgb的值。可

2021-07-19 16:00:18 5304 1

原创 白平衡流程图

1、整个camera校准流程图2、OB暗电流校准。暗电流是看不见的暗电流校准是通过补偿,如果过多会偏绿,少的话会发红,所以需要平衡这个。3、LST镜头阴影补偿。由于透镜不能折射通过中心的的光线,所以会造成画面中间亮,四周暗。为了补偿这个。之后得到Process RAW,才能进行调试。4、、Camera 未经ISP处理得到的图叫做RAW图,最开始得到的叫做Pure RAWCCM和AWB用到的都是通过OB和LSC校准之后的RAW图5、AWB和CCM和color e..

2021-07-19 15:57:25 405

原创 宏定义x*y+x

define宏定义的东西会直接展开,x*y+x在题中会展开为233+2+23=26,所以一般宏定义这种为定义为#define CALC(x,y) ((x)(y)+(x)),加上括号确保是你想要的结果

2021-02-28 13:11:55 648

原创 三、基础知识

1、冯诺依曼模型计算机硬件,程序的思想。2、计算机基本结构存储器的分类,1、主存储器,内存。程序初中,待处理的数据和处理的结果都存储在内存中。2、外存储器,flash、硬盘。3、寄存器,CPU内部的高速存储器。3、程序为实现目标,设定的操作步骤。即系统可以识别的二进制指令。存储在磁盘上加载到内存中执行。4、汇编语言机器语言符号化。编辑 编译、链接 执行、调试...

2021-01-19 17:29:43 114

原创 二、vi编辑器

vi 编辑器Linux中最基本的编辑器,系统管理、服务器配置。三种模式命令行模式刚进入vi的模式,可进行复制和粘贴插入模式进行文件编辑,按ESC键可以回到命令行模式。底行模式屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等vi模式切换命令ESC 进入命令状态Command在vi中执行外部命令Command,按回车键可以返回vi继续工作vi拷贝与粘贴命令yy复制 p 粘贴 dd剪切省掉了插入模式u撤...

2021-01-19 17:20:07 83

原创 一、文件和目录相关命令

熟悉Linux 的文件系统结构文件系统是树形的分层组织结构目录结构及目录路径/ bin :bin是二进制(binary)英文缩写。/ boot :存放的都是系统启动时要用到的程序。/ dev :包含了所有Linux系统中使用的外部设备。/ etc :存放了系统管理时要用到的各种配置文件和子目录。/ lib :存放系统动态连接共享库的。/ home:普通用户的主目录/ root :根用户(超级用户)的主目录.......

2021-01-19 17:03:08 235

原创 STM32改进函数和RCC

STM32改进函数//看//老//的非//低

2020-09-06 21:30:43 106

原创 247 GPIOX寄存器组概述

1、GPIOX寄存器组概述1)、基础配置寄存器。a.GPIO端口模式寄存器b.GPIO端口输出类型寄存器c.GPIO端口输出速度寄存器d.GPIO端口上拉/下拉寄存器2)、数据寄存器a.GPIO端口输入数据寄存器。b.GPIO端口输出数据寄存器。c.GPIO端口置位/复位寄存器。3)、其他寄存器a.GPIO端口锁定寄存器b.GPIO复用功能低位寄存器, 配置端口0~7引脚的复用功能c.GPIO复用功能高位寄存器, 配置端口8~15引脚的复用功能2、如何计算得到寄存器的地址?寄存

2020-09-06 20:44:37 304

原创 如何知道每个引脚有哪些复用功能

查看电路原理图GPIO内部引脚结构图。1)内部上下拉电阻:决定默认引脚状态,VDD3.3V Vss–0VGND2)默认引脚状态:上拉、下拉、浮空:不舍设置上下拉电压值由引脚所接的“外部外设”决定。3)具体设置什么应该引脚接的是什么。4)整个引脚的结构分为上下两部,输入/输出。5)三种输入方式:一般数字输入,复用输入、模拟输入。1)一般数字输入:TTL斯密特触发器作用,由于从引脚输入的高低电平信号不是很完美,所以需要经过斯密特触发器的修整,使信号稳定。输入寄存器的作用:输入的数字信号(数据

2020-09-06 18:31:10 2244

原创 什么是GPIO,如何实现基本操作

引脚:芯片管脚或叫pin,芯片的引脚要么用于输出out,要没用于输入in,因此引脚也称为I/O。编写GPIO的程序,就是通过读写“GPIO”的控制寄存器组让引脚按要求输入和输出,从而控制连接的“外部外设”。并不是所有的引脚都与GPIO有关,1)专用IO,电源,晶振,复位。2)GPIO(通用IO),general purpose。引脚可复用,每个引脚所提供的复用可达16种,除专用IO外,其它GPIO都是复用的,所以要检查引脚复用是否与产品设计存在矛盾。1、无须复用时只编程配置GPIO的基本寄存器即可,

2020-09-06 10:45:22 1459

原创 STM32如何操作单个位

STM32无sbit关键字,不能单个位操作,一般有两种方式:1、读改写。2、位段操作。第一种方法,先从寄存器中读出原来的值,对相应的位修改,再写入寄存器。unsigned int tmp =; tmp &= ;寄存器 = tmp; 缺点:不是原子操作,步骤比较多,3步。原子操作:不会被线程调度机制打断的操作,一旦开始,就一直运行到结束。第二种方法,位段操作。目的:对存储空间变相的实现位操作。片区域能够实现位段操作。(只有标记了BB才可以)0X2000 0000--0X200F FFFF:S

2020-09-06 10:28:43 1060

原创 存储器映射和重映射

映射,是对应的意思。存储器本身并不具备地址,将芯片理论上的地址分配给存储器,这就是存储器映射。1M寄存器原本并没有地址,我们将1M存储器映射到理论地址0往后的1M范围,这1M存储器就有了0~1M的地址。地址线所产生的0~1M的地址信号,就可以访问1M的这个真实存储器。打个比方就是,存储器(房间)生产出来后,这些存储器(房间)是没有地址的,映射过程就是将地址(门牌号)分给这些(房间),分好后,每个门牌号只能访问自己的房间,没有被分配的地址就是保留地址。没有对应实际的存储空间。...

2020-09-06 09:51:48 1039

原创 片内外设的本质

片内外设不管是FLASH、SRAM还是寄存器组,它们本质是存储器,就连cotex-M4核内部的核内外设也是寄存器组(寄存器)。寄存器功能:存放数据,访问片内外设本质是读写数据或是存取数据。FLASH和SRAM用于存放指令和数据,寄存器组用于存放控制“外部外设”的数据。FLASH掉电不丢失,SRAM和寄存器组掉电丢失,称为内存。...

2020-09-06 09:40:22 578

原创 芯片能访问的存储空间有多大

是由地址线决定的,32根有2^32个地址,可以访问4G字节存储器空间,STM32中的32并不是地址线,表示MCU芯片内部CPU处理数据时,每次可以处理的数据位宽为32个bit,所以STM32内寄存器大小都是32位。芯片是32位的,地址线完全可以是16根或8根,巧就巧在地址线也是32根。·...

2020-09-06 09:31:49 451

原创 存储器与寄存器

1.什么是存储器映射存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程称为存储器映射,如果再分配一个地址就叫重映射。2、什么是寄存器及寄存器映射 通过给有特定功能的内存单元起一个别名,这个别名就是我们所说的寄存器。给已经分配好地址的有特定功能的内存单元起别名的过程就叫寄存器映射。3、如何访问STM32寄存器内容 访问STM32寄存器也就是操作STM32的内存单元,根据C语言指针的特点,可以使用指针来操作S...

2020-08-25 16:20:51 286

原创 最小系统

1、STM32最小系统组成(1)电源电路C87、C88是滤波电容,V2是3.3V稳压芯片。由DC_IN1火牛•接口提供5V电压。(2)复位电路开始C82充电,RSET是高电平,K1按下后接地,REST是低电平(3)晶振电路外部高速晶振C45、C46消除启动晶振时的电感,当3.3V未供电时,BAT通过后备电源来供电。晶振,全名叫“晶体振荡器”,在电路当中起到产生振荡频率的作用,单片机可以看成是在时钟驱动下的时序逻辑电路,时钟就是晶振来产生,可以说它的单片机的心脏,晶振的频率有32.768kHz

2020-08-25 16:09:03 1276

原创 STM32介绍与学习方法

STM32介绍与学习方法1、STM32芯片架构我们这里讲的 STM32F1系统架构主要针对的 STM32F103 系列芯片。I指令总线 D数据总线 S系统总线2、STM32芯片系统结构四个驱动单元:ICode、DCode数据总线、System总线、DMA总线(通用的DMA1和DMA2)四个被驱动单元:Flash、SRAM、FSMC、(多级的)AHB系统总线及其连接的外设。总线矩阵判断,作用是仲裁,访问哪个。I指令总线:将M3内核与Flash(闪存)接口连接,用于指令的存取。D数据

2020-08-25 15:58:23 433

原创 什么是STM32

1、什么是STM32?ST:意法半导体,是一个公司名字。M:Microclectronics的缩写,表示微控制器,不是微处理器。32:32bit的意思,表示是一个32bit的微控制器。2、STM32与ARM的关系ARM公司提供内核Cortex-M核,通过一些外设组合封装在一起,形成32位嵌入式处理器。Cortex-M3采用ARMv7-M架构3、STM32的命名规则STM32 F 103 R B T 6STM32代表ARM Cortex-M内核的32位微控制器。F代表芯片子系列103代表

2020-08-25 15:56:36 5547

原创 STM32库函数

1、什么是固件库?固件库就是函数的集合,固件库函数的作用向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。使开发者无需知道操作的是哪个寄存器,只需知道调用的那些函数即可。2、什么是CMSIS标准?CMSIS为ARM Cortex微控制器软件接口标准。三个基本功能层:1)内核外设访问层:定义处理器内部寄存器地址以及功能的函数。2)中间件访问层:定义访问中间件的通用API。3)外设访问层:定义硬件寄存器的地址以及外设的访问函数。3、官方库包的作用?1、Libraries文件夹下

2020-08-25 09:18:00 2328

原创 最小系统

1、供电2、复位3、时钟:外部晶振(2个)4、BOOT启动模式选择5、下载电路(串口,GTAG , SED)6、后备电池

2020-08-22 17:33:33 123

原创 怎么学习一块开发板?

一、拿到开发板怎么入手?1、看光盘目录,了解提供的资料情况·2、找到核心学习资料,大致了解开发板硬件3、查看资料,安装开发环境4、先学基础,多学多问5、不懂的先找资料,再提问6、高级知识慢慢学。二、参考资料:1、最底层(了解):CM3权威指南(ARM提供)2:、芯片参考手册(芯片功能、寄存器描述特性等):STM32F10x中文参考手册3、芯片数据手册:STM32F103xCDE_DS_CH_V5.pdf4、官方资料和教程:固件库包(含参考源码),一些官方培训PPT

2020-08-22 14:49:22 2097

原创 进阶C语言、第十二章储存类别、链接、内存管理

存储类别被储存的每个值都占用一定的物理内存,C语言把这样的一块内存称之为对象。程序通过声明变量来访问对象。标识符:是个名称,可以用来指定特定对象的内容。指定对象的表达式被称为左值。存储期:描述对象,指对象在内存中保留了·多长时间。标识符用于访问对象,可以用作用域和链接描述标识符。作用域:描述程序中可访问标识符的区域。可以是块作用域、函数作用域、函数原形作用域或文件作用域。定义在块中的变量具有块作用域。可见范围是从定义处到包含该定义的块的末尾。函数作用域:仅用于goto语句的标签。函数原型作用..

2020-08-18 09:29:12 99

原创 进阶C语言、第十一章字符串和字符串函数

表示字符串和字符串I/O字符串是\0结尾的char类型数组。1)字符串字面量用双括号扩起来的内容称为字符串字面量,即字符串常量。双引号中的字符和编译器自动加的\0字符,都作为字符串储存在内存中。": " " "视为串联。内部使用“要在前面加字符串常量属于静态存储类别。该字符串只会存储一次。双引号扩起来的内容视为指向该字符串储存位置的指针。类似于把数组名作为指向该数组位置的指针。*“abc”表示字符串的首字符。2)字符串数组和初始化1、用足够的空间的数组储存字符串。标准数组初始化时.

2020-08-17 16:52:14 179

原创 进阶C语言第十章、数组和指针

数组:由数据类型相同的一系列元素组成。使用数组时,通过声明数组告知编译器数组中有多少元素和这些元素的类型。编译器根据这些信息正确地创建数组。1、使用逗号分隔的值列表来初始化数组。2、有时需要把数组设置为只读,const int day [MON]= {1,1,23,32,};3、编译器使用的值是内存相应位置上的现在有值,使用数组前必须先赋初值。4、如果不初始化数组,数组元素和未初始化的普通变量一样,其储存的都是垃圾值。部分初始化,剩余元素就会被初始化为0。可以省略方括号中的数字,让编译器自动.

2020-08-12 16:23:24 174

原创 进阶C语言第九章、函数

函数:完成特定任务的独立程序代码单元1)执行某些动作 2)找出一个值供程序使用分析程序1)函数原形:告诉编译器函数的的类型。函数调用:表明在此处执行函数。函数定义:明确指定了函数要做什么。2)要声明函数类型。指明返回值的类型和函数参数类型。分号表明是在声明函数。3)形参是被调函数中的变量。实参是主调函数赋给被调函数的具体值。可以是常量、变量或是更复杂的表达式。拷贝给被调函数相应的形式参数。不影响主调函数的原始数据。返回值类型与函数声明不匹配。指定的返回值与函数类型相同。...

2020-08-08 10:29:58 200

原创 进阶C语言第八章、字符输入/输出和输入验证

getchar()和putchar():每次只处理一个字符缓冲区无缓冲输入:输入字符立即打印缓冲输入:按enter键之前不会重复打印刚输入的字符字符被收集并储存在一个被称为缓冲区的临时区域,按enter键后,程序才能使用用户输入的字符完全缓冲:当缓冲区域被填满时才刷新缓冲区域。(文件输入中)行缓冲:出现换行符时刷新(键盘输入)结束键盘输入文件:是存储器中存储信息的区域。用来编译C程序的程序也保存在文件中。可以使用主机操作系统的基本文件直接处理文件。 底层I/O:直接调用操作系统的函数.

2020-08-07 09:09:45 279

原创 进阶C语言第六章、C控制语句:循环

whilewhile()后不能加’;‘。否则测试条件成立会一直循环。while(expression)statement每次循环都被称为一次迭代只有跟在测试条件后面的一条语句是循环的一部分。1)可用break 和 if语句来终止循环。2)入口条件:必须满足条件才能进入循环体。关系运算数字之间的关系再复杂也没人与人之间的关系复杂。可以比较字符(假定ASCII)。不可比较字符串。优先级:不确定循环和计数循环不确定循环:在测试表达式为假之前预先不知到要执行多少次循环。计..

2020-08-05 18:57:53 159 2

原创 进阶C语言第五章、运算符、表达式和语句

基本运算符运算符表四算术运算。pow()用于指数运算。1)赋值预算符=目的:把值存储到内存位置上,数据对象:用于存储值 的数据存储区域。左值:用于标识 特定的数据对象 的名称或表达式(标签)可修改的左值。用于标识可修改的对象。右值:能赋给可修改左值的量。可以是常量、变量、可求值的表达式。表达式的值可修改的左值 = 表达式的值2)+ - * /(二元运算)需两个运算对象才能完成操作。遵循数学优先级3)符号运算(一元运算)其它运算符1)sizeo.

2020-08-05 17:22:28 113 1

原创 进阶C语言第三章、数据和C

变量与常量变量:程序运行期间可能会改变或被赋值的数据类型。常量:程序使用之前已经预先设定好了的数据类型。对于变量要在声明时指定其类型。整数和浮点数储存方式不同int型int型占一个机器字长。声明创建变量,但是并未提供值。1是赋值。2是通过函数。如scanf()初始化变量就是为变量赋一个初始值。声明为变量创建和标记存储空间,并为其指定初始值。int型常量打印int型char 类型_bool类型1=ture0=false浮点型类型大小sizeof..

2020-08-05 16:12:22 82

原创 进阶C语言第二章、C语言概述总结

c程序解剖1、指令和头文件#include<stdio.h>作用相当于把stdio.h文件的所有内容都输入到当前行所在的位置。相当于拷贝粘贴。#include预处理:C编译器在便以前会对源代码做些准备工作。2、main( )int 是 main()函数的返回类型。返回到操作系统。3、注释/* *///4、花括号、函数体和块使用花括号标记函数体的开始和结束。5、声明int a;(1)函数中有一个名为a的变量(2)int 表明a 是一个整数..

2020-08-05 10:34:36 154

原创 进阶C语言第七章、分支与跳转

1.if语句while循环测试条件利用scanf()的返回值来结束循环。if被称为分支语句或选择语句。if(expression)statement1.1if else语句

2020-08-04 18:35:23 123

原创 ReadPV用法以及启动策略

读设置完成=1!SetDevice(KN3800,6,“ReadPV(4,320,WUB,80,setdata000,读设置完成)”)while (读设置完成=1)endwhile其中,“ReadPV(4,320,WUB,80,setdata000,读设置完成)”)中,包涵的33,setable000,必须是组对象。否则不会赋值,也不会传递、通信。启动策略可以自己加入相关的同类型变量,来进行数据的处理。如:设置功率因数=setable010/1000...

2020-07-31 18:37:19 618

原创 MCGS下拉框用法

1、连接变量用英文,否则会乱连接。2、控件名不要重复,尽量往大了写,比如201、2023、数据关联,ID号也要关联。缺省内容也要。不关联ID就不能显示内容。缺省值指的是画面0(如你列表是放在这上面的)时,列表将显示这个缺省内容。4、选项设置,列表组合框中,默认从零开始排序。即是选哪一行个,就代表是0、1、2、3、...

2020-07-31 18:32:34 7058

原创 补码的作用

补码的作用计算机中的有符号数有三种表示方法,即原码、反码和补码。符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法`也可以统一处理。计算机也可以看成一个计量机器,因为计算机的字长是定长的,即存储和处理的位数是有限的,因此它也有一个计量范围,即都存在一个“模”。时钟的计量范围是0~11,模=12。表示n位的计算机计量范围是 ,模= 2^n。“模”实质上是计量器产生“溢出”

2020-07-30 18:55:43 1776

原创 MCGS如何加装透明背景位图

由于MCGS不支持PNG格式的图片,但是只有PNG格式的图片才能是透明背景。MCGS只支持JPG和BMP格式的,但是它们默认是白色和黑色的背景。所以需要对格式本身来优化。用绘图软件将储存的格式更改为“256色bmp“格式。在MCGS上勾“选透明背景”,选项。选择白色为透明色。就可以用了。每个窗口都有位图大小的限制,所以需要用绘图软件的“重新调整大小”选项。调整像素。但是只能缩小,不能加大。一般选择100就行。有十几k。...

2020-07-30 18:55:10 6607

原创 进阶C语言第四章、字符串和格式化输入/输出总结

字符串简介定义:一个多个字符的序列。空字符:数组末尾位置 ‘\0’。标记字符串结束。非打印字符。ASCII码值是0.数组:连续多个储存单元。是同类型数据元素的有序序列。strlen( ) 函数和 sizeof 运算符。strlen( ) 函数和 sizeof 都得出字符串中的字符数。但是sizeof运算符加入了末尾的空字符。 返回类型为%zd。sizeof的( )使用,当为类型时,加上。为特定的量时可以省略。常量和预处理1、预处理时为什么使用符号常量?1)常量名字比数字.

2020-07-29 19:10:13 168

原创 进阶C语言第一章、初识C语言知识点总结

C语言起源由C语言的设计理念,让用户能轻松地完成自顶向下的规划、结构化编程和模块化设计。

2020-07-29 18:30:19 301

转载 %C和%S区别

输入:1、赋值%c输入函数只会对一个字节空间赋值,而%s会一直赋zhi值,直到输dao入中遇到空白字符为止。2、地址符输入的时候scanf("%c", &a);这里的&不能少,而scanf("%s",s);这里不能有&符号。输出:1、长度%c只能输出一个字符,%s输出的是一串字符,直到某一个字节内存的元素为字符’\0’时,输出此字符并且寻址结束。扩展资料转换说明符1、%a(%A):浮点数、十六进制数字和p-(P-)记数法(C99)2、%c:字符3、%d:有符号

2020-07-29 11:55:52 12912 8

空空如也

空空如也

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

TA关注的人

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