目录一、效果展示(按键控制界面切换)二、编程模板1.头文件2.库文件三、编程思路四、使用说明一、效果展示(按键控制界面切换)OLED三级界面效果展示二、编程模板1.头文件#ifndef__INTERFACE_H#define__INTERFACE_H#include"stm32f10x.h"//任务的状态位#defineRUN1#defineSTOP0//任务宏#defineTask1Temp_Task#defineTask2Light_Task//界面穷举typedefenum{Main_Interface=0x10,//主界面Menu_Interface=0x20,//菜单界面Task_I
文章目录目的基础说明项目构建与代码调整接收发送代码与测试示例链接报告描述符总结目的接上篇:《STM32USB使用记录:HID类设备(前篇)》USBHID类的设备有个比较大的好处是大部分时候接入主机中都是可以免驱使用的。这篇文章将介绍下STM32中实现USBHID双向透传功能,结合免驱的特点,这在实际工作中是比较常用的。基础说明在上一篇文章中简单了解接触了下HID设备,了解了USB设备的各种描述符概念。在这篇文章追中我们要制作一个自定义的HID设备,实现双向透传功能,主要就是要调整配置描述符、端口、报告描述符等内容。项目构建与代码调整首先使用Cube工具来生成基础的项目,其它内容和上一篇文章一样
STM32L4通过串口通信改变PWM占空比HAL库使用串行通信的目的是为了让上位机能控制STM32来改变PWM的输出目录STM32L4通过串口通信改变PWM占空比HAL库一、PWM初始化二、串口UART初始化三、赋值四、最后附上效果图一、PWM初始化#include"pwm.h"TIM_HandleTypeDefTIM4_Handler;//定时器4PWM句柄TIM_OC_InitTypeDefTIM4_CHnHandler; //定时器4句柄voidTIM4_PWM_Init(u16arr,u16psc){TIM4_Handler.Instance=TIM4; //定时器4TIM4_H
文章目录0前言课题简介设计框架3硬件设计4软件设计*对被测物体的识别判断被测物体所在区域5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩基于stm32与openmv的目标跟踪系统🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:5分🥇项目详细描述地址:https://www.zhihu.com/people/51-81-23-36/zvideos课题简介
前提准备:1.库函数基础模板2.stlink下载器、USB-TTL下载器、单片机最小开发板stm32F103C8T63.面包板及相关接线4.vscode与keil的联合开发更流畅5.串口软件,这个下面视频有本文基于哔哩哔哩江科大自化协STM32入门教学知识讲的非常详细,非常感谢作者的无私奉献,本文主要是基于此进行试验笔记。便于以后查找。1.在库函数模板的前提下,在工程文件下新建文件夹Hardware,然后在keil中将文件目录加一下,Hardware文件下的文件也可以在keil下添加,添加时注意文件目录。保存关闭keil,打开VScode显示以下文件说明添加成功。具体步骤就不详细说明了,写过L
先放我们需要的辅助电路的电路图假设我们要测量的是X信号和Y信号的初相位差,我们可以将两组信号分别表示为和。很明显两组信号过零点的时间差乘以一个2就是相位差了。为了方便测量我们先用一个过零比较器把信号变为方波 也就是我们只要测出红圈圈出的脉冲宽度即可得到时间差从而得到相位差。我们可以先将红色的X信号取反再和蓝色的Y信号相与,得到如下信号: 现在我们只需要用单片机测量出红圈圈出的蓝色信号脉冲宽度即可得到时间差从而得到相位差。如下图所示,我们只需要找到这个超长低电平之前的高电平长度并输出即可。黑色箭头宽度为两个信号中低频信号的周期的一半,也就是说蓝色信号的两个上升沿之间的距离是大于低频信号的一个半周
目录问题引入实用结论推理过程小试验再看HAL库刨根UART传输完成中断产生过程UART在DMA模式下总结问题引入最近学习了stm32(F4xx)的串口在DMA模式下的使用,期间以ST官方提供的例程进行参考学习,发现其初始化过程中是打开了UART的中断的,而且HAL库中stm32f4xx_hal_uart.c文件中的DMA模式使用说明里也有这么一句话:(+++)ConfiguretheUSARTxinterruptpriorityandenabletheNVICUSARTIRQhandle(usedforlastbytesendingcompletiondetectioninDMAnoncirc
文章目录前言一、PWM是什么?二、实例PWM输出2、代码3、现象3、总结前言本篇文章为个人参考总结所用,如果错误还望指出。涉及的知识:1、STM32CubeMx的部分使用2、PWM原理及常用概念3、用单片机生成一定频率的PWM用到的软件及单片机:1、STM32CubeMx2、IDE:MDK-Keil软件3、芯片:STM32F407ZGT64、开发板:正点原子探索者注:不同型号的单片机实现的原理基本相似,F1实现过程同理一、PWM是什么?脉冲宽度调试(PWM),英文“PulseWidthModulation”,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信
单片机固件升级相关前言理论实践前言众所都周知,固件固件就是固定不动的软件,所以不用升级,此贴完结。。。。。。哎,话虽如此固件一般情况下不需要更新,毕竟主要功能是为控制一些底层的硬件,但是你永远不知道明天和需求哪个先来。所以在一些必要时刻需要给你的单片机留一个后门用于应对各种需求。理论以stm32举例,默认情况下固件程序烧写在ROM上,所以只要使用一些手段在对应地址写上对应数据就可以了。废话不多说下面举几个常见工具和常用的下载和更新固件的方式。实践1通过下载器下载和更新固件程序:stm32或者其他arm内核下载常用的下载仿真器有j-link:更简洁的有jlinkob:当然还有ST自家的st-li
文章目录1-原理图分析2-配置使能串口USART13-添加代码4-烧录连接显示5-浮点数输出1-原理图分析PC与CPU相互通信就是通过USBType_C接口和USB电平转换实现的。我们可以看到,CPU通过管脚USART1连接CH340C芯片将USB转串口,实现PC与CPU之间的通信。当然,这里用的是CH340的芯片,我们就需要安装ch340串口。2-配置使能串口USART1按住Ctrl+s生成代码。3-添加代码在usart.h中添加头文件标准库的printf函数能方便的输出格式化的字符串。而单片机只有串口,只能打印int型数。如果能借用标准库stdio.h文件里的printf函数,那么单片机输