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 输
一、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"//
目录第一部分、GPIO推挽输出要点第二部分、CubeMX配置 第三部分、代码编写第四部分、编译+烧录代码本篇目标: 以LED灯的亮、灭电路控制为例,学会: ①、通过CubeMX,配置引脚工作模式 ②、使用函数,控制引脚高、低电平 ③、如何在程序中编写用户代码 不聊底层理论,速度上手 GPIO-推挽输出模式 ,成为点灯大师! 友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步CubeMX、Keil的操作,并做上标记。之后的篇章,仅截图主要步骤页面。希望新手玩家熟记本篇的基本操作。第一部分、G
蓝桥杯嵌入式第9届真题(完成)STM32G431题目分析和代码main.h/*USERCODEBEGINHeader*//*********************************************************************************@file:main.h*@brief:Headerformain.cfile.*Thisfilecontainsthecommondefinesoftheapplication.********************************************************************
说明:本文记录关于STM32的Flash读保护的设置和解除方法,可以简单的保护Flash中的代码不被读出,这个方法能防止通过调试工具读出MCU内部程序,但不清楚专业搞破解的是否有手段读出设置了读保护的程序,为了代码更安全还是建议根据MCUID增加软件加密,或者使用其他加密方式。测试平台:测试环境是STM32G474,其他STM32系列的类似,可以CV过去试试。1.设置和解除读保护的代码:/***@brief设置Flash读保护.*@param[in]state:true:使能读保护,false:关闭读保护.*@retvaltrue:设置成功.*@retvalfalse:设置失败.*/boolS
文章目录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中编写串口通信数据收发有三种方式:轮询模式(阻塞方式),中断模式(非阻塞方式)以及DMA模式。一.串口通信(中断模式) 打开STM32CubeMX,前部分配置流程如串口数据收发基础(二)节里一样。配置好USART1的基本参数后,接下来就要开启USART1的串口中断了。设置好之后,设置存储路径,选择所用IDE,然后点击GENERATECODE创建工程,openproject打开工程进行全局编译。二.HAL库中串口收发的重要函数(中断模式) 1.非阻塞式发送函数:HAL_UART_Transmit_IT(UART_HandleTypeDef*huart,uint8_t*pDat
目录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.复
stm32远程升级OTA升级使用WIFI连接升级芯片stm32f103系列升级方式:wifi模块?自建服务器升级文件为BIN文件,需要使用配套的exe文件将原来的bin文件内的数据,每隔128个字节进行crc16检验,并添加到后面。单片机下载后,每下载130个字节便检验一下数据,让升级变得稳定可靠。升级过程:用户程序里面每隔一定时间控制网络模块使用http的GET指令获取云端info文件然后从文件里面获取服务器里面的固件程序版本和固件程序下载地址等信息如果与自身版本号对比不一致,就把固件程序下载地址写入flash,然后设置更新标志,重启,重启执行BootLoader以后,BootLoader程
前言 偶然发现U8G2这个图像库,发现这个库能实现许多好玩有趣的动画,因此花了一晚上时间将其移植到STM32中,趁着还有些印象记录一下。准备 1、U8G2源码下载:https://github.com/olikraus/u8g2下载压缩包 2、准备一个可以运行的代码,功能不需要复杂移植 将压缩包解压之后,打开csrc文件夹,其中包含了许多驱动文件,我们只需要保留我们使用屏幕的驱动代码即可,我使用的是一般的0.96寸的OLED屏幕,保留u8x8_d_ssd1306_128x64_noname.c文件即可 删减之后,将csrc文件夹重命名为U8g2,复制到你准备的工程