STM32之看门狗 在程序while(1)里喂狗,防止程序跑飞,HAL_IWDG_Refresh(&hiwdg1);当窗口定时器被初始化启动后,如果在0ms—239ms之间没有进行喂狗操作,那么窗口看门狗将超时复位程序。假设LSI是32KHz,超时时间等于 预分频系数(4)乘重装值(4095),除以LSI频率(32K)采用窗口看门狗(WWDG),有一个死前中断,可以用来作一个报警的功能。STM32有独立看门狗(IWDG)和窗口看门狗(WWDG)。超过512毫秒不喂狗,stm32复位重启。设置PCLK1为140MHz。
STM32——CAN通讯基础知识 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。差异点如下:高速CAN可以达到40m/1Mbps。低速CAN可以达到1km/40kbps。
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:依次为。
STM32 编码器模式详解 从图上可以看出来,cw方向A相会超前B相90度左右,相反CCW方向,B相会超前A相90度左右。不过方向判断stm32自己是可以完成的。stm32的定时器带的也有编码器模式。所用的编码器是有ABZ三相,其中。
STM32——SSD1306驱动的OLED(I2C) SSD1306是一款单芯片CMOS OLED/PLED驱动器,带有用于有机聚合物发光二极管点阵式图形显示系统的控制器。它由128个段和64个公共区组成。该集成电路是为普通阴极型OLED面板设计的。SSD1306内置对比度控制、显示RAM和振荡器,减少了外部元件的数量和功耗。它有256步亮度控制。数据/命令通过硬件可选的6800/8000系列兼容并行接口、I2C接口或串行外围接口从通用MCU发送。
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)时,对应加速度为。
STM32使用I2C I2C(Inter-Integrated Circuit)和和SPI一样,都是实现主控芯片和外挂芯片之间的数据交流。通信线SCL(Serial Clock):串行时钟线。SDA(Serial Data):串行数据线。特性同步:I2C总线是同步通信。半双工:数据可以在两个方向传输,但不能同时进行。数据应答:I2C总线支持数据应答机制。支持多设备一主多从:一个主设备可以连接多个从设备。多主多从:多个主设备可以连接多个从设备。起始条件:在SCL高电平期间,SDA从高。
Stm32通过SPI读写W25QXX 因为printf是c++中的库函数,要使用printf输出到串口,需要重定向,将printf定向到HAL_UART_Transmit。新建一个retarget.c文件。x = x;int handle;return ch;网上找的代码或多或少运行不起来,搞了好久才调通,以上是调通后的代码,几乎只要是调试keil的工程都需要用到。可以保存下来重复使用。delay是一个延时函数。Stm32的HAL库提供了一个HAL_Delay的函数,但是只能延时毫秒。
STM32之SPI读写W25Q128芯片 STM32的SPI是一个串行外设接口。它允许STM32微控制器与其他设备(如传感器、存储器等)进行高速、全双工、同步的串行通信。通常包含SCLK(串行时钟)、MOSI(主设备输出/从设备输入)、MISO(主设备输入/从设备输出)和NSS/CS片选信号Chip Select)这4条线,支持多个从设备连接到一个主设备上。SPI,是一种高速的,全双工同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在。
STM32学习——CubeMX+HAL库——点亮LED 时隔两三年,由于工作原因,没更新过。今天更新一个STM32系列,包括点亮LED,USART,SPI,I2C,CAN通信,PWM,TIM定时器等功能。
PCL FLANN 报错C2923 C2913 params.h pcl和opencv冲突,‘flann_algorithm_t‘: undeclared identifier 解决方案 解决pcl出错的问题
PCL FLANN 报错C2923 C2913 params.h pcl和opencv冲突,‘flann_algorithm_t‘: undeclared identifier 解决方案 解决pcl出错的问题
Ubuntu20下openMVG+openMVS实现三维重建 利用openmvg和openmvs实现快速三维重建,可以试着自己拍几张照片,重建出最终的结果。openmvg可以得到稀疏点云图,openmvs可以得到基于mesh的纹理结构。本文更新了部分命令,使其更接近最新版本。
Ubuntu20.04编译orb-slam2中的问题及解决方案 前前后后折腾了两三天,终于配好了orb-slam2的环境,写篇博客纪念一下,也帮助尚未解决orb-slam2环境的同志一点点帮助。主要是编译Pangolin容易出错,导致Orb-slam2也没编译好。建议使用Pangolin0.3版本,在此放在百度云盘啦!!!链接: https://pan.baidu.com/s/1vPdGBZZLxjzQfmITnkslSg 提取码: 6kgk一、容易编译出错的地方1.用最新版本的Pangolin,编译可以通过,但是编译orb-slam2的时候会出现很多错误。原.
自制H桥有刷电机驱动板 本人大三以一年的时间做出了一个电机驱动板,可以说是资质平平了,但我做出来啦,心中的喜悦自然不甚颜表。为了让更多人了解电机驱动板的内部结构,为此写下这篇文章(可能我理论水平不高,但我是实践派,前前后后做了八代,每一次的失败都在找原因)。...
win10下VSCode配置opencv4.4.0(超详细教程,亲测有效) VSCode作为一个轻量级的编程软件,无论在界面、内存占用和速度等方面都完胜VS。但用vscode来写opencv代码需要自己编译OpenCV(如果是VS安装opencv则不需要自己编译opencv,因为在opencv的官网上就有编译好的文件),主要用到MinGW-w64和CMake工具。前前后后折腾了好久,终于配好了opencv的环境,写篇博客,一是为了怕自己忘了,又要重新学,二是分享一下自己的经验。主要参考两篇博客:https://www.cnblogs.com/kensporger/archive