第1章 初学STM32H7的准备工作俗话说万事开头难,学习一门新的知识,难的往往不是知识本身,而是如何快速上手,需要什么资料和开发环境。一旦上手后,深入的学习就相对容易些了。1.1 初学者重要提示1.2 开发环境说明1.3 STM32H7和F1,F4系列的区1.4 STM32H7开发资源查找1.5 HAL库介绍1.6 CMSIS软件包1.7 STM32CubeMX图形平台1
1 硬件介绍1.1 硬件模块介绍1.2 LCD端口定义定义1.3 LCD与STM32连接2 如何利用STM32G030F6P6 驱动SPI LCD显示屏 2.1*Cub配置基本工程* 2.2 *LCD液晶屏驱动程序*3 测试1 硬件介绍1.1硬件模块介绍 系
一、串口使用:原则:尽量中断中不要有延时(比如自定义delay 和自定义printf串口打印,明显找事啊这么慢能不发生溢出error嘛),接收和发送尽量分开处理 1.串口发送数据丢失: 1)通常是因为发送之前未检测TC状态位之前是否处于发送完成标志导致,关于STM32之·的测试程序来讲会导致第一个字符丢失,之后都完全正常。 因此发送一串数据的逻辑必须按照先检测TC再发送字符的顺序进行.即: voi
STM32CubeMX之ADC烟雾值1.ADC简介 STM32中硬件本身自带ADC外设,ADC精度为12位。ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。 A
目录:1.stm32-ADC概述ADC简介2.ADC的功能框图2.1.电压输入范围2.2.输入通道2.3.转换顺序2.4.转换时钟来源2.5.相关数据寄存器2.6.相关标志位和中断2.7.触发源3.ADC的工作模式3.1.单次转换非扫描模式3.2.连续转换非扫描模式3.3.单次转换扫描模式3.4.连续转换扫描模式4.单通道采集实例4.1.cubemx具体配置4.2.具体代码实现4.2.1.轮询方
前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中串口_FIFO的使用。一、开发步骤1. Cubemx配置在左侧引脚配置栏选择目标串口号在串口模式处配置串口模式为异步通信模式在串口配置处配置中断使能和串口参数:波特率、数据长度、停止位、发送接收模式等。(注意在GPIO引脚处和硬件引脚进行确认)2. 中断函数编写生成KEIL文件后,编写中断响应函数。void
转载
2024-09-18 16:24:50
529阅读
系列文章目录STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯STM32CubeIDE(CUBE-MX hal库)----按键控制STM32CubeIDE(CUBE-MX hal库)----串口通信STM32CubeIDE(CUBE-MX hal库)----定时器 文章目录系列文章目录前言一、蓝牙配置二、CUBE-MX可视化配置三、蓝牙APP调试助手四、实验总结 前言HC-0
基于STM32F10x的串口(USART)输入输出编程
1 前言 STM32有强大的固件库,绝大部分函数都可以有库里面的函数组合编写。固件库可以到ST官网上下载,也可以搜索“STM32 固件库 v3.5”下载到固件库。本文章就是基于固件库来编写有关串口的输入输出函数。由于博主的知识水平有限,目前仅仅是将程序的思路和实现给出,具体到函数的执行效率、代码
作者:鱼鹰Osprey今天鱼鹰简单聊聊 STM32F103 USB 外设实际传输速度的问题。103 的外设号称 USB 2.0,但实际上是全速的 USB 2.0,即传输 1 bit 数据的速度是 12Mbit/s,类似串口波特率 115200 的概念。但是我们知道串口协议本身也是有开销的,比如 1 bit 起始位,1 bit 停止位,这都是必须的,否则接收方就无法正确接收。下图是&nbs
目录一、使用过程中问题1、ADC数据会产生跳动解决办法:2、使用过程中ADC采集没有中间值,要么最大要么最小:二、ADC电压采集 电压输入范围输入通道转换顺序触发源转换时间数据寄存器中断转换结束中断模拟看门狗中断DMA 请求电压转换三、代码使用1、adc值读取2、ADC的DMA多通道读取使用方法一、使用过程中问题1、ADC数据会产生跳动解决办法:①多去几次求平均值(平均值会将毛刺及错误的
STM32 CAN 配置使用工具:CubeMX硬件:STM32F105RBT61.概述STM32F105x双can,CAN1为主,CAN2为从,使用CAN2必须使能CAN1的时钟,CAN1/CAN2使用共同的筛选器,总计28组。CAN2作为CAN1的从站,CAN1复位是否会影响CAN2?CAN总线关闭之后一定要自主恢复,自动脱离Bus-off状态,重复启动CAN总线错误分析2.CubeMX配置1.
转载
2024-07-27 09:32:39
1595阅读
最近要写个串口间通信的程序,要求PC端输入消息到串口1,然后stm32内部把该消息通过串口2转发出去,串口2得到消息返回,则通过串口1打印在PC端。实际上总体效果就是要是连接了设备的串口2具有串口1的功能,以便观察设备返回的信息以作后续的处理。使用的芯片是stm32l151,采用中断接收方式,把串口2所收到的消息全部打印出来。一开始直接参考原子的程序以接收回车键判断接收一次数据结束,实际上这样做的
串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段, 其重要性不言而喻。STM32 的串口资源相当丰富的,功能也相当强劲。ALIENTEK 战舰 STM32 开发板所使用的 STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器、支持同步单线通信和
关于stm32的usbHID功能调试,我是颇费周折,起初用一个STM32F107开发板上的例程,体验了一下,与PC交互,可以传送2个字节的数据。超过两个字节的数据就会产生复位信号(用bushound观察到的)。后来看看,改了一些程序中的设置,把最大传输值改了,但是还是不行的,症状是PC向单片机发送多个字节的数据可以成功,单片机向PC发送大于2个字节的数据就产生复位信号,这个问题过了两三天都没有解决
通信基础知识我们常见的单片机常见的通讯方式有:UART、IIC、SPI等等。按照其特点可以做一下分类。(个人理解的方式、若要深究并不一定与其完全一致。)1、工作方式单工:只能单向传递信息。如接受端就只能接收,不能发送。半双工:**可以双向通信,当是不能同时双向通信。**即同一时刻,一段只能接收或者发送。IIC全双工:可以实现同时双向的通信。UART、ISP2、通讯方式串行通信:把一组数据拆分为一位
STM32F4的GPIO区别与F1的GPIO配置,每个 I/O 端口位均可自由编程,但 I/O 端口寄存器必须按 32 位字、半字或字节进行访问。 GPIOx_BSRR 寄存器旨在实现对 GPIO ODR 寄存器进行原子读取/修改访问。这样便可确保 在读取和修改访问之间发生中断请求也不会有问题。 &nb
转载
2024-06-06 23:28:57
461阅读
自己动手做一个信号发生器和示波器非常重要,不仅可以深刻理解测量仪器的工作原理、关键技术指标,还可以将书本上学过的模拟电路、数字逻辑乃至嵌入式系统全部串起来,从系统层面对各个部分的功能以及构成有更真切的认识,因此苏老师觉得这两个项目应该是所有电子工程师都要动手做一遍的基础入门项目。高速ADC是数字示波器的核心部件,今天关于ADC应用的文章就结合我们摩尔吧/硬禾实战营的一个实际项目 -
STM32 CAN使用简介各种通讯接口对比报文总线上的报文信息表示为几种固定的赖类型数据帧列表模式掩码模式配置CAN配置参数位时序 简介控制器局域网CAN(Controller Area Network)是由德国博世公司为汽车应用而开发的多主机局部网络,用于汽车的监测和控制,德国博世公司开发CAN总线的最初目的是解决汽车上数量众多的电子设备之间的通信问题、减少电子设备之间繁多的信号线,于是设计了
TM1638按键数码管显示模块 实物图原理图 tm1638.c文件#include "tm1638.h"
#include "delay.h"
//
//
//共阴数码管显示代码
unsigned char tab[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,
2.STM32CubeMX使用教程参考:http://www.mculover666.cn/posts/578764034/下载芯片对应的HAL库在官网上好难找,发现有一个办法。1.打开STM32CubeMX,菜单Help 里面”Manage embedded software packages“2.选择对应芯片包,点击 安装3.查看安装的包存取的位置。点击安装好的包,卸载,跳出对话框可以看出包的
转载
2021-08-06 16:27:00
485阅读