草庐IT

STM32 HAL库硬I2C的TOF050C模块

前言最近在倒腾毕业设计,需要用到TOF050C,但是现有的案例都是软IIC,并且还是基于STM32F103的,笔者用的STM32F767,没有GPIO->CRH寄存器。问题来了,如果我每次都要去看寄存器手册属实费时间,这不干脆直接用硬IIC?于是乎,打开了TOF050C手册,硬啃!这手册好在它有工作流程图,能提高开发人员的理解速度。硬IIC开发代码由于是使用IIC,用定时器实现微秒级延时,这就不多说了。直接上库代码vl6180x.c:#include"vl6180x.h"#defineaddr_write0x52#defineaddr_read0x53#defineIDENTIFICATION

STM32CUBEMX_更新工程每次都会删掉用户自己的代码怎么解决?

STM32CUBEMX_更新工程每次都会删掉用户自己的代码怎么解决?前言:正常来说使用STM32CUBEMX更新工程配置,使用KEIL打开,只要配置好STM32CUBEMX软件,然后把用户代码写在/USERCODEBEGIN/和/USERCODEEND/之间时,就不会把户代码删掉,但是我把软件配置好,代码也按照规定写在两个注释之间,结果每次还是会把我的用户代码删除掉。具体原因也没有定论,根据现有分析猜的是因为,公司的加密软件导致的软件异常。所以不在纠结,采用一种规避的方式完美解决。具体做法步骤:1、既然CUBEMX的文件中不能写用户程序,就把用户程序全部自己新建文件,写自己的代码2、自己写一个

摇杆按键+SG90 实现舵机云台(STM32F103C8T6)

1.材料准备STM32F103C8T6最小系统板*1SG90舵机(180°)*2摇杆按键*1舵机支架*1面包板*1(非必须)杜邦线若干类似这种的支架,不过需要自己裁切嵌入的部分代码部分代码很简单,主要使用ADC双通道读取两个电位器的值(实际上就是电压),通过获取到的值的范围来确定上下左右,从而来改变两个舵机的角度。ps2_joystick.c#include"ps2_joystick.h"voidJoystick_Init(void){ADC_InitTypeDefADC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA时钟R

【STM32】STM32F103C8T6 创建工程模版详解(固件库)

00.目录文章目录00.目录01.固件库概述02.创建工程步骤03.预留04.附录01.固件库概述ST(意法半导体)为了方便用户开发程序,提供了一套丰富的STM32标准外设函数库库,简称固件库。固件库版本:STM32F10x_StdPeriph_Lib_V3.5.002.创建工程步骤2.1在建立工程之前,我们在电脑的某个目录下面建立一个文件夹,名字为00_Template。笔者目录为E:\ProgramData\Keil\00_Template2.2在上述00_Template目录下创建一下四个目录CORE用来存放核心文件和启动文件,OBJ是用来存放编译过程文件以及hex文件,STM32F10

Keil(MDK)STM32和51版本详细安装

前言保姆级教程,多次反复安装,实测可用。链接包失效可留言。安装注意keil公司被ARM公司收购,收购后就改名MDK,所以keil的下载包也是以MDK命名。安装路径不能带有中文。目录不能和51版本或者keil4版本冲突,安装目录需要注意。keil5向下兼容keil4,可以完全抛弃使用keil4。keil5的安装可以根据需要添加芯片包,使用keil5的51版本安装,可以使用stc-isp添加芯片。具体可以看下面的教程。更新编译不了编译器5工程的问题。安装包可以去keil官网下载,为了方便更快下载,可以下载下面的安装包。百度云下载链接提取码:asdf1.包括keil5的STM32版本和C51版本2.

Keil(MDK)STM32和51版本详细安装

前言保姆级教程,多次反复安装,实测可用。链接包失效可留言。安装注意keil公司被ARM公司收购,收购后就改名MDK,所以keil的下载包也是以MDK命名。安装路径不能带有中文。目录不能和51版本或者keil4版本冲突,安装目录需要注意。keil5向下兼容keil4,可以完全抛弃使用keil4。keil5的安装可以根据需要添加芯片包,使用keil5的51版本安装,可以使用stc-isp添加芯片。具体可以看下面的教程。更新编译不了编译器5工程的问题。安装包可以去keil官网下载,为了方便更快下载,可以下载下面的安装包。百度云下载链接提取码:asdf1.包括keil5的STM32版本和C51版本2.

STM32F103C8T6+带FIFO的OV7670的输出测试图像实例代码

一、工程文件链接及说明Keil5工程文件:链接:https://pan.baidu.com/s/13wCMPQU0DgbJ57sSiR16NQ?pwd=7670提取码:7670工程文件中,主要文件在Hardware和User两个文件夹里面Hardware文件夹中:①Delay是延迟函数②OLED是OLED显示屏的相关代码,用于调试③Serial是串口传输数据到电脑的相关代码,需用到USB转TTL串口转接器,电脑端用的是“山外多功能调试助手来显示图片”④OV7670是摄像头OV7670的相关代码⑤SCCB是SCCB通信的有关代码如果注释显示乱码,可以将编码方式在UTF-8和ANSI之间切换:(如

STM32F103C8T6+带FIFO的OV7670的输出测试图像实例代码

一、工程文件链接及说明Keil5工程文件:链接:https://pan.baidu.com/s/13wCMPQU0DgbJ57sSiR16NQ?pwd=7670提取码:7670工程文件中,主要文件在Hardware和User两个文件夹里面Hardware文件夹中:①Delay是延迟函数②OLED是OLED显示屏的相关代码,用于调试③Serial是串口传输数据到电脑的相关代码,需用到USB转TTL串口转接器,电脑端用的是“山外多功能调试助手来显示图片”④OV7670是摄像头OV7670的相关代码⑤SCCB是SCCB通信的有关代码如果注释显示乱码,可以将编码方式在UTF-8和ANSI之间切换:(如

STM32之USART-串口通信(含串口实验详细解析)

STM32之串口通信-USART(含串口实验详细解析)开发环境:Window10开发工具:KeiluVision5MDK硬件:STM32F103资料参考:【正点原子】STM32F103开发板资料(A盘);STM32F1开发指南(精英版)-库函数版本.pdfSTM32固件库使用手册的中文翻译版.pdfSTM32中文参考手册.pdf注意:本文主要介绍USART异步串行模式下的收发器。文章目录STM32之串口通信-USART(含串口实验详细解析)STM32F103ZE简介USART简介1.串口通信2.串口通信的分类:3.串行通信4.STM32的串口通信接口USART的使用步骤1)串口时钟使能GPIO