草庐IT

STM32-HAL库10-CAN通讯(轮询发送,中断接收)

STM32-HAL库10-CAN通讯(轮询发送,中断接收)一、所用材料自制STM32F407VGT6控制板串口调试助手X-COM泥人CAN转USB及其配套上位机软件二、所学内容本文所需要实现的目标是,通过泥人CAN转USB,以上位机为主机,向STM32发送相关指令,32控制板在接收到CAN信息后将所接收数据通过串口打印至上位机的串口调试软件。三、泥人CAN转USB及其上位机配置四、STM32控制板HAL库配置第一步:三件套-RCC,SYS,时钟配置第二步:串口配置第三步:CAN配置相比于上一篇内部回传的CAN配置,本次需要更改部分参数,将OperatingMode改为Normal。同时别忘了打

基于STM32F103——XGZP6847D压力传感器+串口打印

基于STM32F103—XGZP6847D压力传感器+串口打印基本介绍概述产品特点引脚的连接(IIC通信)名称含义的介绍I2C通信协议(设备地址是`0x6D`)寄存器描述工作模式寄存器Reg0x30(测量命令寄存器)Reg0xA5Reg0xA6模式说明组合数据采集模式休眠数据采集模式代码编写等待模式可读读取压力值读取温度值主程序最终效果基本介绍概述XGZP6847D型压力传感器尺寸小、易安装,广泛用于医疗电子、汽车电子、消费电子、运动健身器材、物联网等领域产品特点引脚的连接(IIC通信)名称含义的介绍I2C通信协议(设备地址是0x6D)寄存器描述工作模式寄存器Reg0x30(测量命令寄存器)M

基于STM32F103的PWM电机驱动A4950

1.基本介绍A4950的峰值输出电流可达±3.5A,工作电压为7.6~40v。优点:相对于L298N模块控制2个电机正反转仅需要4个I/O口,体积小,发热低。缺点:需要2个PWM引脚才能控制正反转,所以控制2个电机需要4PWM引脚,会使用STM32F103芯片一个定时器的全部PWM通道。A4950模块是靠输入2路的PWM占空比的差值,来设定输出电压的大小,当差值为0时输出为0,反之当占空比差值为100时输出最大。2.引脚功能和接线引脚名称输入\输出接线功能AOUT1  输出        接A电机正输出电压控制电机AOUT2    输出        接A电机负输出电压控制电机BOUT1  输

STM32笔记(5) ——————USART串口发送&串口发送和接收

一、USART串口发送1.串口发送硬件接线:由引脚定义表,PA9为USART1_TX复用,PA10为USART1_RX复用,与USB的TX和RX交叉连接。程序里GPIO初始化时,把TX配置成复用推挽输出,RX配置为输入模式。输入并不分什么普通输入、复用输入,一根线只能一个输出,但可以有多个输入,所以输入脚外设和GPIO都可以同时使用,一般RX配置为浮空输入或者上拉输入。要交叉连接,所以RX接TX注意首先在电脑设备管理器里会有如下标识,如果出现了COM号并且图标前没有感叹号,就说明串口CH340驱动没问题,否则需要安装下串口驱动:1.Serial.c#include"stm32f10x.h"//

【STM32 + HAL库】之 5 --- GPIO 推挽输出模式,点亮LED灯

目录第一部分、GPIO推挽输出要点第二部分、CubeMX配置        第三部分、代码编写第四部分、编译+烧录代码本篇目标:    以LED灯的亮、灭电路控制为例,学会:    ①、通过CubeMX,配置引脚工作模式    ②、使用函数,控制引脚高、低电平    ③、如何在程序中编写用户代码       不聊底层理论,速度上手 GPIO-推挽输出模式 ,成为点灯大师!       友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步CubeMX、Keil的操作,并做上标记。之后的篇章,仅截图主要步骤页面。希望新手玩家熟记本篇的基本操作。第一部分、G

蓝桥杯嵌入式第9届真题(完成) STM32G431

蓝桥杯嵌入式第9届真题(完成)STM32G431题目分析和代码main.h/*USERCODEBEGINHeader*//*********************************************************************************@file:main.h*@brief:Headerformain.cfile.*Thisfilecontainsthecommondefinesoftheapplication.********************************************************************

STM32 Flash读保护设置和解除方法,保护代码不被读出。

说明:本文记录关于STM32的Flash读保护的设置和解除方法,可以简单的保护Flash中的代码不被读出,这个方法能防止通过调试工具读出MCU内部程序,但不清楚专业搞破解的是否有手段读出设置了读保护的程序,为了代码更安全还是建议根据MCUID增加软件加密,或者使用其他加密方式。测试平台:测试环境是STM32G474,其他STM32系列的类似,可以CV过去试试。1.设置和解除读保护的代码:/***@brief设置Flash读保护.*@param[in]state:true:使能读保护,false:关闭读保护.*@retvaltrue:设置成功.*@retvalfalse:设置失败.*/boolS

【江科大】STM32:ADC转换(单通道+多通道)

文章目录ADC(Analog-DigitalConverter)模拟-数字转换器DAC的实现原理逐次逼近的过程知识点补充:RC振荡器和锁相环(PLL)晶体振荡器RTC(Real-TimeClock)即实时时钟Resetandclockcontrol(RCC),即复位与时钟控制,主要是通过寄存器配置时钟源。STM32的时钟源ADC预分频器来自于RCC,2,4分频后分别是32,和18,最大16MHZ因此只能选择6和812/9模拟看门狗ADC基本结构输入通道规则组4种转换模式1.单次转换,非扫描模式2.连续转换,非扫描模式3.单次转换,扫描模式4.连续转换,扫描模式触发控制(触发源)1.触发源选择2

【STM32笔记】STM32的串口数据收发基础(三)(USART中断模式)

   在STM32中编写串口通信数据收发有三种方式:轮询模式(阻塞方式),中断模式(非阻塞方式)以及DMA模式。一.串口通信(中断模式)  打开STM32CubeMX,前部分配置流程如串口数据收发基础(二)节里一样。配置好USART1的基本参数后,接下来就要开启USART1的串口中断了。设置好之后,设置存储路径,选择所用IDE,然后点击GENERATECODE创建工程,openproject打开工程进行全局编译。二.HAL库中串口收发的重要函数(中断模式) 1.非阻塞式发送函数:HAL_UART_Transmit_IT(UART_HandleTypeDef*huart,uint8_t*pDat

【史上最全之STM32 读取串口】

目录STM32串口的基本配置:USART->SR(状态寄存器)USART->DR(数据寄存器)USART->BRR(波特率寄存器)具体配置过程代码实现例程main.cUART.hUART.c*STM32串口的基本配置1.串口作为MCU和外界的连接工具,既可以检验代码的正确性,也可以和上位机进行交流2.在STM32F103RCT6中,最多支持5路串口,对于串口而言,一般使用串行通信(USART1–5)3.几个比较重要的寄存器::USART->SR(状态寄存器)USART->DR(数据寄存器)USART->BRR(波特率寄存器)具体配置过程1.计算波特率(整数和小数部分)2.初始化GPIO口3.复