自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (5)
  • 收藏
  • 关注

原创 STM32——CAN通讯基础知识

CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。差异点如下:高速CAN可以达到40m/1Mbps。低速CAN可以达到1km/40kbps。

2024-08-18 20:11:00 1024

原创 STM32——I2C和SPI波形分析

根据代码中标红的部分,可以得知CLK的极性是LOW(或者说是0),CLK的相位是第一个跳变沿(也就是0)。对于CPOL和CPHA都是0的情况,推出SPI工作在模式0上。④寄存器地址:0 0 0 0 0 0 0 0(OLED中的写功能寄存器)深蓝--------MOSI--------PA7--------D1。粉色--------MIS0--------PA6--------D0。按程序中配置,波形应该对应上图中CPHA=0和CPOL=0。以写入0X14为例,分析I2C信号的波形。⑥数据DATA:依次为。

2024-08-18 20:08:32 734

原创 STM32 编码器模式详解

从图上可以看出来,cw方向A相会超前B相90度左右,相反CCW方向,B相会超前A相90度左右。不过方向判断stm32自己是可以完成的。stm32的定时器带的也有编码器模式。所用的编码器是有ABZ三相,其中。

2024-08-18 20:06:39 258

原创 STM32——SSD1306驱动的OLED(I2C)

SSD1306是一款单芯片CMOS OLED/PLED驱动器,带有用于有机聚合物发光二极管点阵式图形显示系统的控制器。它由128个段和64个公共区组成。该集成电路是为普通阴极型OLED面板设计的。SSD1306内置对比度控制、显示RAM和振荡器,减少了外部元件的数量和功耗。它有256步亮度控制。数据/命令通过硬件可选的6800/8000系列兼容并行接口、I2C接口或串行外围接口从通用MCU发送。

2024-08-18 20:03:39 419

原创 STM32之MPU6050实战

MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车飞行器等需要检测自身姿态的场景3轴加速度计(Accelerometer):测量X、Y、Z轴的加速度3轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度-32768到32767两个字节±16g:读取的ADC值为最大值32768时,对应实际加速度为16g。ADC值为32768的一半(16384)时,对应加速度为。

2024-08-18 20:01:48 1108

原创 STM32使用I2C

I2C(Inter-Integrated Circuit)和和SPI一样,都是实现主控芯片和外挂芯片之间的数据交流。通信线SCL(Serial Clock):串行时钟线。SDA(Serial Data):串行数据线。特性同步:I2C总线是同步通信。半双工:数据可以在两个方向传输,但不能同时进行。数据应答:I2C总线支持数据应答机制。支持多设备一主多从:一个主设备可以连接多个从设备。多主多从:多个主设备可以连接多个从设备。起始条件:在SCL高电平期间,SDA从高。

2024-08-18 19:59:38 1168

原创 Stm32通过SPI读写W25QXX

因为printf是c++中的库函数,要使用printf输出到串口,需要重定向,将printf定向到HAL_UART_Transmit。新建一个retarget.c文件。x = x;int handle;return ch;网上找的代码或多或少运行不起来,搞了好久才调通,以上是调通后的代码,几乎只要是调试keil的工程都需要用到。可以保存下来重复使用。delay是一个延时函数。Stm32的HAL库提供了一个HAL_Delay的函数,但是只能延时毫秒。

2024-08-18 19:57:09 969

原创 STM32之SPI读写W25Q128芯片

STM32的SPI是一个串行外设接口。它允许STM32微控制器与其他设备(如传感器、存储器等)进行高速、全双工、同步的串行通信。通常包含SCLK(串行时钟)、MOSI(主设备输出/从设备输入)、MISO(主设备输入/从设备输出)和NSS/CS片选信号Chip Select)这4条线,支持多个从设备连接到一个主设备上。SPI,是一种高速的,全双工同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在。

2024-08-18 19:55:22 1222

原创 STM32学习——CubeMX+HAL库——点亮LED

时隔两三年,由于工作原因,没更新过。今天更新一个STM32系列,包括点亮LED,USART,SPI,I2C,CAN通信,PWM,TIM定时器等功能。

2024-08-18 19:47:47 240

原创 PCL FLANN 报错C2923 C2913 params.h pcl和opencv冲突,‘flann_algorithm_t‘: undeclared identifier 解决方案

解决pcl出错的问题

2022-08-16 14:44:24 2147 3

原创 利用PCL库构建Mesh三维模型

利用PCL库,简简单单地构建一个Mesh三维模型。从输入左右影像和相机内参开始,输出Mesh模型。

2022-04-26 20:00:04 7386

原创 Ubuntu20下openMVG+openMVS实现三维重建

利用openmvg和openmvs实现快速三维重建,可以试着自己拍几张照片,重建出最终的结果。openmvg可以得到稀疏点云图,openmvs可以得到基于mesh的纹理结构。本文更新了部分命令,使其更接近最新版本。

2021-12-01 10:26:19 4929 22

原创 Ubuntu20.04编译orb-slam2中的问题及解决方案

前前后后折腾了两三天,终于配好了orb-slam2的环境,写篇博客纪念一下,也帮助尚未解决orb-slam2环境的同志一点点帮助。主要是编译Pangolin容易出错,导致Orb-slam2也没编译好。建议使用Pangolin0.3版本,在此放在百度云盘啦!!!链接: https://pan.baidu.com/s/1vPdGBZZLxjzQfmITnkslSg 提取码: 6kgk一、容易编译出错的地方1.用最新版本的Pangolin,编译可以通过,但是编译orb-slam2的时候会出现很多错误。原.

2021-10-07 10:37:33 1762 3

原创 win10下VSCode配置opencv4.4.0(超详细教程,亲测有效)

VSCode作为一个轻量级的编程软件,无论在界面、内存占用和速度等方面都完胜VS。但用vscode来写opencv代码需要自己编译OpenCV(如果是VS安装opencv则不需要自己编译opencv,因为在opencv的官网上就有编译好的文件),主要用到MinGW-w64和CMake工具。前前后后折腾了好久,终于配好了opencv的环境,写篇博客,一是为了怕自己忘了,又要重新学,二是分享一下自己的经验。主要参考两篇博客:https://www.cnblogs.com/kensporger/archive

2020-09-13 09:39:13 12182 17

原创 GC-Net阅读笔记(End-to-End Learning of Geometry and Context for Deep Stereo Regression)

论文题目《End-to-End Learning of Geometry and Context for Deep Stereo Regression》,被2017ICCV收录,后用GC-Net代表这个模型。官方给的代码是tensorflow版的,但由于tensorflow版的可读性不强,自己改成了pytorch版,在KITTI2015上训练了200个epoch,3像素误差收敛在4.6%左右。链接:https://github.com/Pig-Pual/gc-net截至目前为至,做立体匹配的文章可以在K

2020-05-23 16:15:02 8131 67

原创 pfm格式转png格式

PFM是一种用浮点数存储图片的文件格式,包含文件信息header和二进制数据raster。在一些数据集中经常可以看到以pfm格式存储的视差图。pfm格式的文件不利于浏览,可以转成png格式文件已方便浏览。PFM的头文件共有3行:二进制数据区:图像的读取顺序按照从下到上,从左到右进行的顺序进行读取。当pfm文件只有一张图片的矩阵时,代码如下:# -*- coding: UT...

2019-10-18 20:00:19 6740 1

原创 解决ubuntu18.04更新后屏幕显示不正常

使用过ubuntu做深度学习的同学都知道, NVIDIA驱动程序特别难安装。早上手贱点了一下Ubuntu的更新,更新完重启后,电脑就黑屏打不开了。然后就各种手动安装驱动,什么在官网下载驱动啊,带参数 -no-opengl-files安装啊,关闭nouveau啊,关闭lightdm啊,这些都不管用。如下图:注意:更新Ubuntu软件的时候不要更新内核,版本过高的内核和nvidia的驱动可能不匹配...

2019-08-23 16:02:53 5088 1

原创 C语言实现批量复制文件

假设你拿到一个数据集,里面包含很多的文件夹,每个文件夹下都有你想要复制的文件。(包括文本文件和二进制文件)程序思路分为三步:1.制作一份.txt文件,每一行存放要复制文件的路径2.制作一份.txt文件,每一行存放复制后文件保存的路径3.利用文件复制函数进行复制利用bat批处理命令 DIR *.* /B > 文件名列表.txt,提取文件夹下所有文件夹名称。利用fprin...

2019-07-10 16:25:37 1314

原创 解决Keras下,imdb.load_data(num_words=10000)无法下载数据集的问题

当我们按照deeplearning with python书里面的代码教程来时,往往会出现数据集下载失败的问题,例如运行下面一段代码(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)会去一个网站下载imdb.npz的数据集,这时很可能下载失败,那么怎么办呢?可...

2018-11-12 16:57:06 10941

原创 Ubuntu16.04下配置tensorflow-gpu+Keras,安装Pycharm,搭建深度学习环境

系统环境:Ubuntu16.04一、安装Ubuntu16.04双系统1、利用UltraISO制作安装启动U盘《见 Ubuntu 16.04 安装基础入门教程 启动U盘制作部分》2、Windows磁盘分区给Ubuntu《见 Windows下安装Ubuntu 16.04双系统 》3、安装成功二、安装显卡驱动1、去英伟达官网下载驱动(https://www.nvidia.com/...

2018-11-12 16:30:47 2823 5

原创 自制JLink-ob-072

陆陆续续的在网上查了两天资料,发现了三篇很有用的文章。一篇是关于固件的,一篇关于硬件的设计,一篇是教你怎么用usb接口给stm32刷固件,有了这三篇资料,自制一个Jlink ob 应该是没问题的了。下面放上链接。    固件篇:http://www.openedv.com/thread-73979-1-1.html    硬件设计篇:https://blog.csdn.net/wolf_t...

2018-11-03 00:05:36 2554

原创 自制H桥有刷电机驱动板

  本人大三以一年的时间做出了一个电机驱动板,可以说是资质平平了,但我做出来啦,心中的喜悦自然不甚颜表。为了让更多人了解电机驱动板的内部结构,为此写下这篇文章(可能我理论水平不高,但我是实践派,前前后后做了八代,每一次的失败都在找原因)。...

2018-06-12 00:33:27 8809 9

JLink-ob-072

stm32程序下载器的硬件电路图,同时具有串口通讯功能。

2019-02-17

Dfuse_Demo

使用DFU需要准备PC上的软件DfuSe,驱动程序就在软件的安装目录下;另外还需要DFU固件的MDK的工程。

2019-02-17

开关芯片布局指南

绝对好用的芯片指南,美国国家半导体公司编制,找了好久找到的高质量文档,用“迹线”的理论分析芯片布局要点。

2018-06-12

H桥有刷电机驱动板

自制H桥有刷电机驱动板,货真价实,打样测试可用。包含原理图和PCB图。

2018-06-12

Arduino编程

这是一本有关Arduino编程的书,Arduino是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

2018-04-08

空空如也

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

TA关注的人

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