- 博客(29)
- 收藏
- 关注
原创 五.包及访问控制权限
为解决相同文件编译问题提出在Java虚拟机执行的时候,JVM只看完整类名,因此,只要包名不同,类就不同。包可以是多层结构,用隔开。java.util。
2024-10-30 20:42:23 121
原创 JAVA笔记
1.方法的命名第一个字母首字母小写,之后每个字母首字母大写2.方法的封装public static 返回值类型 方法名称(参数类型 参数变量):方法体;return 值3.方法的重载当方法中输入的变量数不一样时,可以完成不同方法的重载以下展示方法的三个重载public static 返回值类型 方法名称(参数类型1 参数变量1):方法体;return 值public static 返回值类型 方法名称(参数类型1 参数变量1,参数类型2 参数变量2):方法体;return 值。
2024-10-15 22:10:54 382
原创 STM32_ADC
ADC,全称:Analog-to-Digital Converter,指模拟/数字转换器常见类型:ADC****电路类型优点缺点并联比较型转换速度最快成本高、功耗高,分辨率低逐次逼近型结构简单,功耗低转换速度较慢。
2023-02-17 16:44:24 432
原创 STM32_IIC
IIC:Inter Integrated Circuit,集成电路总线,是一种同步 串行 半双工通信总线。EEPROM是一种掉电后数据不丢失的储存器,常用来存储一些配置信息,在系统重新上电时就可以加载。AT24C02是一个2K bit的EEPROM存储器,使用IIC通信方式。A0/1/2 : 设备地址决定引脚SCL : 时钟线WP : 写保护引脚SDA : 数据线AT24Cxx容量(bit)页数页内字节数数据地址(占用bit数)AT24C01168 Byte7bit。
2023-02-17 16:40:22 389
原创 STM32_SPI
SPI:串行外设设备接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线。功能说明SPI****总线IIC****总线通信方式同步 串行 全双工同步 串行 半双工总线接口SDA、SCL拓扑结构一主多从/一主一从多主从从机选择片选引脚选择SDA上设备地址片选通信速率一般50MHz以下数据格式8位/16位8位传输顺序MSB/LSBMSBSPI接口主要应用在存储芯片、AD转换器以及LCD中。
2023-02-17 16:36:29 2887
原创 STM32_DMA
DMA:全称Direct Memory Access,即直接存储器访问。将数据从一个地址空间复制到另一个地址空间。DMA传输无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。
2023-02-17 16:34:18 198
原创 OpenCV 角点检测
算法的核心是利用局部窗口在图像上进行移动判断灰度发生较大的变化,所以此窗口用于计算图像的灰度变化为(3*3的窗口,这和计算梯度变化算子一样):[-1,0,1;根据下面三幅图可以清晰理解角点检测的过程:当一个窗口在图像上移动,如图(a),窗口在各个方向上都没有变化,则认为窗口区域为平滑区域。如图(b),窗口在某个方向上没有变化,另一个方向上有明显变化,那么,这块区域可能存在边缘。如图(c),窗口在各个方向上灰度发生了较大的变化,那么,这块区域可能存在角点。
2023-02-17 16:30:44 105
原创 OpenCV_绘图和交互
cv.FONT_HERSHEY_SCRIPT_COMPLEX(比FONT_HERSHEY_SCRIPT_SIMPLEX的更复杂)一些字体类型是FONT_HERSHEY_SIMPLEX,FONT_HERSHEY_PLAIN等。cv.FONT_HERSHEY_DUPLEX:正常大小的无衬线字体(比FONT_HERSHEY_SIMPLEX更复杂)cv.FONT_HERSHEY_TRIPLEX:正常大小的衬线字体(比FONT_HERSHEY_COMPLEX更复杂)坐标表示为两个值的元组,即(X坐标值,Y坐标值)
2023-02-17 16:26:07 173
原创 记一次STM32的Delay函数错误
今天在使用HAL库写STM32的时候,发现延时函数不准,差了很多倍,经过几个小时的排查,最终确定了是delay_init()函数的位置写错了。
2023-02-11 23:39:36 1082
原创 OpenCV_直方图处理
灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。
2023-02-10 14:55:37 83
原创 STM32_TIMER(全)
F1:H7:定时器类型主要功能基本定时器没有输入输出通道,常用作时基,即定时功能通用定时器具有多路独立通道,可用于输入捕获/输出比较,也可用作时基高级定时器除具备通用定时器所有功能外,还具备带死区控制的互补信号输出、刹车输入等功能(可用于电机控制、数字电源设计等)TIM6/TIM7主要特性:16位递增计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC在更新事件(计数器溢出)时,会产生中断/DMA请求①时钟源②控制器③计数器(时基单元)影子寄存器是实际起作用的寄存器,不
2023-02-09 21:28:56 2580
原创 STM32_USART
Universal synchronous asynchronous receiver transmitter,通用同步异步收发器Universal asynchronous receiver transmitter,通用异步收发器USART/UART都可以与外部设备进行全双工异步通信USART,我们常用的也是异步通信特点:1,全双工异步通信2,单线半双工通信3,单独的发送器和接收器使能位4,可配置使用DMA的多缓冲器通信5, 多个带标志的中断源F103xx串口号TXDRXD1。
2023-02-06 21:54:26 72
原创 STM32_GPIO
1,不同型号,IO口数量可能不一样,可通过选型手册快速查询2,快速翻转,每次翻转最快只需要两个时钟周期(F1最高速度可以到50Mhz)3,每个IO口都可以做中断4,支持8种工作模式。
2023-02-04 23:35:41 3561
原创 STM32CubeMX的使用
进入GPIO详细配置后,选择GPIO的输出模式,输出速度和宏定义等。LED0的GPIO使GPIOB_B,所以选择PB5,模式为输出。通过芯片类型进行配置。通过选项进行选择型号。
2023-02-03 22:37:17 75
原创 STM32的存储器和寄存器映射
包含GPIO、UART、IIC、SPI、TIM、DMA、ADC、DAC、RTC、I/WWDG、PWR、CAN、USB等各种外设寄存器。APB1总线的基地址,也叫外设基地址(PERIPH_BASE)此表的偏移量:是相对外设基地址(PERIPH_BASE)来说的。包含NVIC和SCB相关寄存器,NVIC有:ISER、ICER、ISPR、IP等;存储器指可以存储数据的设备,本身没有地址信息,对存储器分配地址的过程称为存储器映射。寄存器是特殊的存储器,给寄存器地址命名的过程,就叫寄存器映射。
2023-01-29 21:58:08 628
原创 OpenCV学习笔记
CHAIN_APPROX_NONE:以Freeman链码的方式输出轮廓,所有其他方法输出多边形(顶点的序列)。CHAIN_APPROX_SIMPLE:压缩水平的、垂直的和斜的部分,也就是,函数只保留他们的终点部分。RETR_CCOMP:检索所有的轮廓,并将他们组织为两层:顶层是各部分的外部边界,第二层是空洞的边界;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;:指明画第几个轮廓,如果该参数为负值,则画全部轮廓,通常为-1。:检索所有的轮廓,并重构嵌套轮廓的整个层次;:返回的轮廓的基本参数。
2023-01-29 11:38:49 142
原创 STM32内核与芯片
Cortex M3内核 系统总线(S-Bus)System连接内核的系统总线(外设总线)到总线矩阵。CCM共64KB,是直接挂在D-bus上的,除了CPU(即Cortex-M核)之外,谁都无法访问。Cortex M3内核 DCode总线(D-Bus)DCode和flash的数据接口。ICode总线直接连接Flash接口,不需要经过总线矩阵,用于直接读取程序。AHB1外设(包括AHB-APB总线桥和APB外设)注:AHB:高级高性能总线 APB:高级外围总线。8个主控总线 + 7个被控总线。
2023-01-28 22:08:02 274
原创 STM32C语言基础
stdint.h 是从 C99 中引进的一个标准 C 库的文件路径:C:\MDK5.34\ARM\ARMCC\include让编译器只对满足条件的代码进行编译,不满足条件的不参与编译!指令作用#if编译预处理条件指令,类似if#ifdef判断某个宏是否已被定义#ifndef判断某个宏是否未被定义#elif若前面的条件不满足,则判定新的条件,类似else if#else若前面的条件不满足,则执行后面的语句,类似else#endif#if,#ifdef,#ifndef的结束标志。
2023-01-28 21:10:26 236
原创 MDK使用技巧
窗口视图恢复默认状态的方法:window Reset View to Defaults + Reset。选中要打开的头文件 + 鼠标右键 + 选择Open Document “xxx.h”设置为中文符号,可以使用中文,如果不这么设置,打开中文可能会是乱码。使用global.prop文件之后可以直接使用设置。设置在c/c++的文件下一个tab键等于几个空格。设置在ASM的文件下一个tab键等于几个空格。设置在其他的文件下一个tab键等于几个空格。将C/C++文件下的数字设置为红色。可以观察到空格的个数。
2023-01-28 19:59:17 986
原创 MDK窗口使用
可以查看地址,8位是两个数字标识,16位使四个数字表示,读取时按照从右往左读,先读右边的两个数字。断点设置按钮,经行断点设置,最对可以设置六个按钮。:调用栈窗口,可以查看函数的调用关系和局部变量。轨迹按钮,经行轨迹标记,标识使用过该断点。按钮使能失能按钮,通过点击控制是否使能。通过此窗口可以观察函数和变量的变化。在这个位置可以观察到运行时间。:查看函数的首地址和变量值。设置为变量改变是发生断点。Peripheral窗口。CallStack窗口。
2023-01-28 19:21:05 201
原创 OpenCV学习笔记
上限阈值,如果像素梯度高于上限阈值,则将像素被认为是边缘(建议上限是下限的2倍或者3倍): 输出图像深度,输入8U有正负一起可能值很大,最好是CV_16S/CV_32F。: 输出图像深度,输入8U有正负一起可能值很大,最好是CV_16S/CV_32F。: 输出图像深度,输入8U有正负一起可能值很大,最好是CV_16S/CV_32F。double delta = 0, //额外加的常量值。. : X方向,几阶导数(x是1,y是0时取X方向). : X方向,几阶导数(x是1,y是0时取X方向)
2023-01-28 11:46:04 99
原创 OpenCV学习笔记
如果element=Mat(),是一个3 x 3的矩形结构元素. Kernel 可以通过使用getStructuringElement来创建,也可使用np.ones()函数返回给定形状和数据类型的新数组,其中元素的值设置为1。op = cv2.MORPH_OPEN 进行开运算,指的是先进行腐蚀操作,再进行膨胀操作。:素中的锚点的位置,默认是值(-1,-1),也就是说锚点在元素的中心位置。:元素中的锚点的位置,默认是值(-1,-1),也就是说锚点在元素的中心位置。: 和源图像同样大小和类型的输出图像。
2023-01-26 11:01:11 45
原创 OpenCV学习笔记
作用:阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域 (目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。相较于彩色图而言,使用灰度图最直接的原因就是减少计算量,包含色彩的图片,特征量,计算量会成指数倍数增加,比如一个点,灰度的话,就256个维度而已,但是如果算上RGB色彩的话,那就是1600万以上维度。取值范围为0~100%,值越大,颜色越饱和。
2023-01-25 12:13:49 245
原创 Opencv学习笔记之图像基本操作
由于操作系统在切换线程之间具有最短的时间,因此该函数不会完全延迟毫秒,它将至少等待延迟毫秒,具体取决于当时计算机上正在运行的其他内容。它返回按下的键的代码,如果在指定的时间过去之前没有按下任何键,则返回 -1。如果未抓取任何帧(相机已断开连接,或者视频文件中没有更多帧),则该方法返回 false,函数返回空图像,会返回两个值。作用:从文件加载图像。标志创建的,则图像将以其原始大小显示,但仍受屏幕分辨率的限制。函数:cv2.copyMakeBorder(src,top,bottom,left,right)
2023-01-19 22:08:44 224 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人