草庐IT

HAL_UART_Transmit_IT

全部标签

STM32 HAL库手动配置过程

手动配置HAL库与配置固件库工程类似1、首先新建四个文件夹2、打开keil5,新建新工程在Project文件夹中按开发板选择芯片3、添加hal相关库到工程目录Libraries下4、在User下新建main.c5、在工程配置中新建5个组6、将对应文件添加到工程中添加启动文件到STARTUP中添加system_stm32f1xx.c到CMSIS中将需要用到的相关外设源文件添加到STM32F1xx_HAL_Driver中添加main.c到USER中DOC中放用户自己的说明文本readme.txt7、在工程选项中添加头文件路径8、在配置选项卡添加宏USE_HAL_DRIVER,STM32F103xE

UART串口通讯乱码分析

一:基础功能分析1:串口通讯乱码最主要的原因就是波特率不对,乱码的话请先检查波特率是否正确;2:波特率正确的条件下,请检查设备两端电压是否稳定,电压不稳也会导致乱码;3:当我们无法确认串口波特率的时候,可以参考下面的方式进行排查二:数据流程走向说明大部分的通讯设备中间都是要经过电平转换的,实际以所用设备为准;三:波特率获取分析1:PC端波特率是我们设定的,所以PC端波特率是已知,设备端波特率乱未知;2:数据中间经过了三次传输,所以在哪一步发生错乱吗,需要一步步排查;3:可以用逻辑分析仪,先不接设备,抓取每一步传输的波形如下如所示,就说明,已经提示数据出现异常,那我们就可以调整逻辑分析仪的波特率

解决Correct the classpath of your application so that it contains compatible versions

springboot启动失败报错Correcttheclasspathofyourapplicationsothatitcontainscompatibleversionsoftheclassesorg.springframework.web.servlet.handler.AbstractHandlerMethodMappingandorg.springframework.web.method.HandlerMethod排查发现:pom依赖同时引用了两个不同版本的web包。删掉一个web依赖重新构建以后问题直接解决。Correcttheclasspathofyourapplicationso

【数字IC】从零开始的Verilog UART设计

从零开始的UART协议设计一、写在前面1.1协议标准1.2数字IC组件代码二、设计要求三、模块划分四、全局参数五、整体结构六、波特率生成器6.1设计文件6.2仿真文件6.3仿真结果七、发送模块7.1发射模块状态机跳变7.2设计文件7.3仿真文件7.4仿真结果八、接收模块8.1接收模块状态机跳变8.2设计文件8.3仿真文件8.4仿真结果九、TOP模块9.1设计文件9.2仿真文件9.3仿真结果十、本设计与工业级UART的差距十一、其他数字IC基础协议解读11.1UART协议11.2SPI协议11.3I2C协议11.4AXI协议一、写在前面上一节中,我们详细讨论了UART的协议内容并从设计组件的角度

IT行业寒冬,干测试从月薪18k降到了15k,“我”的路在何方

今天已经是2.10了,马上就是金3银4了,2023年才开始,是的,正值春天,想到了一首诗词自古逢秋悲寂寥,我言秋日胜春朝。晴空一鹤排云上,便引诗情到碧霄。秋天,意味着收获,也意味着寒冬凛至,没错,我猜你想到了,就业寒冬貌似来的更快一些,身边的好多功能测试都找不到工作了,昨晚有个想转测开的朋友,告诉我他收到了6个offer,的确挺多,但是你往下听,6个offer最高的15k,之前他是18k,没错,现在全部都是降薪找工作,我之前就给大家说过,几年的20k相当于去年的25k,今年的15k相当于去年的20k所有的功能测试都要求会代码和性能了,你想继续做点点点?对不起,没机会了,为啥?因为人太多了,岗位

【STM32】标准库与HAL库对照学习教程八--串口通信详解

【STM32】标准库与HAL库对照学习教程八--串口通信详解一、前言二、准备工作三、通信的基本概念1、通信方式2、串行通信与并行通信(1)串行通信(2)并行通信3、异步通信与同步通信(1)异步通信(2)同步通信4、单工、半双工与全双工通信(1)单工通信(2)半双工通信(3)全双工通信5、通信速率四、STM32F1的USART介绍1、串口通信简介2、USART简介3、USART结构框图4、USART寄存器重点控制位(1)TXE(2)TC(3)RXNE5、STM32与PC主机通信的方法五、USB转串口模块六、标准库使用串口中断通信一、配置步骤二、配置工程三、相关程序四、实验效果七、HAL库使用串口

STM32使用HAL库BH1750光照度传感器

开发环境单片机:STM32F103C8T6光照度传感器:BH1750IDE:KEIL+STM32CUBEMX单片机配置1、STM32CUBEMXBH1750代码1、头文件/**************************************************BH1750光照数据计算(LUX)LUX=读取数据/1.2例如:读取值为0x56,0x78LUX=0X5678/1.2=22136/1.2=18447**************************************************/#ifndef__BH1750_H#define__BH1750_H#inc

STM32(HAL库)驱动SHT30温湿度传感器通过串口进行打印

目录1、简介2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3 串口外设配置 2.4项目生成 3、KEIL端程序整合3.1串口重映射3.2SHT30驱动添加3.3主函数代3.4效果展示1、简介本文通过STM32F103C8T6单片机通过HAL库方式对SHT30传感器进行数据的读取,并通过串口来进行显示。本次通过软件IIC对SHT30传感器进行数据读取。2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3 串口外设配置 2.4项目生成 3、KEIL端程序整合3.1串口重映射具

STM32-HAL-串口的printf重定向

一、C语言的格式化输出C语言的printf是一个标准库函数,用于将格式化的数据输出到标准的输出设备(通常是终端)基本语法:intprintf(constchar*format,...);其中的第一个参数constchar*format表示输出格式,后面的参数是可变参数,用于填充格式化字符串中的占位符。字符输出原理:格式化字符串处理:printf函数将第一个参数constchar*format中的格式占位符解析出来,然后根据占位符的类型和顺序依次取可变参数中的值,将这些值转换为字符串,并将其按照格式化字符串中的顺序和样式组合成最终的输出字符串。输出字符串存储:printf函数将格式化后的输出字符

基于HAL库的ADC采样(常规转换+注入模式)ADC_Regular_ConversionMode & ADC_Injected_ConversionMode

基于HAL库的ADC采样(常规转换+注入模式)ADC注入模式触发源TIM1初始化ADC初始化ADC的可选触发源(Regular/Injected)ADC初始化ADC_Regular_ModeADC_Injected_ModeADC采样时间ADC数据读取ADC_Regular_Mode常规通道数据读取ADC_Injected_Mode数据读取第一次使用,难免会有缺漏,后面发现不合适的地方会再进行更新在ADCRegularConversionMode下对多通道模拟信号进行采集的最好办法是使用DMA,即直接存储器读取方式。但是在一些场合下,如电机控制,在SVPWM中我们要用到供电电压U_dc,并且我