草庐IT

STM32CubeMX

全部标签

单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)

单片机嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)KeilKEI官网:www.keil.com        Keil与MDK(MicrocontrollerDevelopmentKit)是同一个软件开发工具套件的不同名称。        Keil是一家德国公司,而MDK是他们开发的一款集成开发环境(IDE),通常称为KeilMDK,用于嵌入式系统的软件开发。        因此,当人们提到Keil或MDK时,通常是指同一个软件开发工具套件。除了KeilMDK,Keil还提供其他工具和软件库,如KeilC51(用于8051系列微控制器的开

STM32两轮平衡小车原理详解(开源)

一、引言关于STM32两轮平衡车的设计,我想在读者阅读本文之前应该已经有所了解,所以本文的重点是代码的分享和分析。至于具体的原理,我觉得读者不必阅读长篇大论的文章,只需按照本文分享的代码自己亲手制作一辆平衡车,其原理并不言而喻了。源完整代码工程在文章末尾百度网盘链接,请需要的读者自行下载即可。另外,由于平衡车的精髓在于PID算法的运用,有需要了解PID算法的读者可以参考以下两篇文章:PID算法详解(代码详解篇),位置式PID、增量式PID(通用)_pid代码-CSDN博客PID算法详解(精华知识汇总)_小小_扫地僧的博客-CSDN博客二、所需材料1、STM32F03C8T62、MPU60503

STM32+2.9inch微雪墨水屏(电子纸)实现显示

本篇文章从硬件原理以及嵌入式编程等角度完整的介绍了墨水屏驱动过程,本例涉及的墨水屏为2.9inche-PaperV2,它采用的是“微胶囊电泳显示”技术进行图像显示,其基本原理是悬浮在液体中的带电纳米粒子受到电场作用而产生迁移,从而改变显示屏各像素点的颜色。墨水屏的原理决定了它具有很好的稳定性,如果电场不改变,粒子就不再运动,也不需要耗电,即使断电,墨水屏的画面也能保留,这个特性使其能作为电子铭牌或价签等重复使用。电子纸显示屏是靠反射环境光来显示图案的,不需要背光,在环境光下,电子纸显示屏清晰可视,可视角度几乎达到了180°。再加上低功耗的特性,电子纸非常适合作为Kindle等电子书阅读器的显示

【STM32】HAL库配置PWM功能

在STM32中HAL库使用PWM功能需要配置什么函数HAL_TIM_PWM_Init():初始化PWM定时器。HAL_TIM_PWM_ConfigChannel():配置PWM输出通道的参数,如通道号、极性、占空比等。HAL_TIM_PWM_Start():开始PWM输出。HAL_TIM_PWM_Stop():停止PWM输出。同时,还需要配置GPIO引脚的功能,将其配置为对应的PWM输出模式。__HAL_TIM_SET_COMPARE(__HANDLE__,__CHANNEL__,__COMPARE__):修改占空比__HAL_TIM_SET_PRESCALER(__HANDLE__,__PR

c++ - 实现 C++ Win32 启动画面的最快方法

实现C++Win32程序以...的简单方法是什么?-显示800x600x24未压缩位图图像-在没有边框的窗口中(唯一可见的是图像)-十秒后关闭-并且不使用MFC 最佳答案 如果您的目标是现代版本的Windows(Windows2000)及更高版本,您可以使用UpdateLayeredWindow显示任何位图的函数(如果需要,包括带有alphachannel的位图)。我bloggedafour-partseries关于如何编写执行此操作的C++Win32应用程序。如果您需要恰好等待10秒来关闭初始屏幕(而不是等到主窗口准备就绪),您将

STM32 CAN快速配置(HAL库版本)

STM32CAN快速配置(HAL库版本)目录STM32CAN快速配置(HAL库版本)前言1软件编程1.1初始化1.1.1引脚设置1.1.2CAN参数设置1.1.3CAN滤波器设置1.2CAN发送1.3CAN接收2运行测试结束语前言控制器局域网总线(CAN,ControllerAreaNetwork)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/

c++ - Visual Studio 2017 c++ win32 控制台项目模板

我使用的是VisualStudioCommunity2017v.15.3.1,我似乎找不到Win32控制台应用程序或Win32项目。仍然有空的c++项目模板和Windows控制台应用程序模板。在开始页面上,我仍然有可用的win32控制台项目,但如果我单击它,Igetapromptaboutremovingitfromthelist编辑:我目前安装了以下工作负载:通用Windows平台网络桌面开发使用C++进行桌面开发使用C++开发游戏VisualStudio扩展开发除了添加一些额外的组件外,我没有对工作负载配置进行任何更改。我已经摆弄了一段时间的安装程序,但无法弄清楚我需要哪个包。有什

【单片机】基于STM32的UART串口通信

基于STM32的UART串口通信一、前言二、UART相关知识1、UART简介2、UART通信协议3、UART功能说明(1)正常USART模式下,通过这些引脚以帧的形式发送和接收串行数据:(2)在同步模式下连接时需要以下引脚:4、UART工作原理(1)发送接收(2)波特率产生(3)数据收发(4)中断控制(5)FIFO操作(6)回环操作三、STM32CubeMx配置四、UART发送1、初始化说明2、HAL库函数说明3、代码实现UART发送(1)直接发送(2)字符串发送五、UART接收1、初始化说明2、函数说明(1)CubeMx生成的UART中断处理函数(在stm32f1xx_it.c中)(2)HA

c++ - s[i]^=32 是如何将大写转换为小写的?

intmain(){strings;cout>s;for(inti=0;i我在stackoverflow上看到这段将大写字母转换为小写字母的代码。但是我不明白s[i]=s[i]^32这行。它是如何工作的? 最佳答案 ^=是exclusive-or赋值运算符。32在二进制中是100000,因此^=32切换目标中的第五位。在ASCII中,大小写字母相隔32个位置,因此这会将小写字母转换为大写字母,反之亦然。但它仅适用于ASCII,不适用于Unicode,并且仅适用于字母。要编写可移植的C++,你不应该假设字符编码是ASCII,所以请不要

STM32滴答定时器SysTick精准延时,兼容HAL库和标准库

STM32手册资料下载:STM32资料Github链接;STM32资料Gitee链接;注意:Github是国外的,要翻墙,Gitee是国内的,无需翻墙。目录滴答定时器的功能模块化思想什么叫做模块化如何利用keil实现模块化第一步,准备工程文件第二步,建立delay.c和delay.h文件第三步,将sys加入工程第四步 ,加入路径代码.c文件 .h文件HAL库标准库今后如何将delay模块加入其他工程main.c调用初始化实现软件PWM Delay_us()实验Delay_ms()实验代码讲解Delay_Init()代码滴答定时器寄存器介绍 Delay_Init()函数介绍 Delay_us()