
STM32系列
文章平均质量分 84
STM32相关文章
AI+程序员在路上
技术分享,互学共进~
展开
-
STM32Fxx读写eeprom(AT24C16)
STM32Fxx读写eeprom(AT24C16)1.AT24C16概述AT24c16 一共16Kbit,也就是2K Byte;每页大小16byte,一共128页。2.AT24C16读写(1)AT24C16不用外部硬件引脚控制A2 A1 A0;全部由软件控制(2)软件内需要设置8个地址,每个地址内可以读写256个byte的数据原创 2024-11-04 21:19:32 · 1335 阅读 · 0 评论 -
STM32读写内部flash
STM32读写内部flash在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行;除了使用外部的工具(如下载器)读写内部 FLASH 外,STM32 芯片在运行的时候,也能对自身的内部 FLASH 进行读写。原创 2024-09-13 21:05:32 · 1625 阅读 · 0 评论 -
MDK编译过程、文件及_attribute__关键字
MDK编译过程、文件及_attribute__关键字在工程的编译提示输出信息中有一个语句“Program Size:Code=xx RO-data=xx RW-data=xx ZIdata=xx”,它说明了程序各个域的大小,编译后,应用程序中所有具有同一性质的数据 (包括代码) 被归到一个域,程序在存储或运行的时候,不同的域会呈现不同的状态。在程序中,当需要指定某个变量的内存地址时,MDK 提供了一个关键字“__attribute__”实现该功能,这种用法通常也是为了把变量指定到外部扩展的存储器。原创 2024-09-11 20:18:09 · 701 阅读 · 0 评论 -
STM32 SPI方式读写Flash
STM32 SPI方式读写FlashNOR flash与Nand flash区别NOR 的地址线和数据线分开,它可以按“字节”读写数据,符合 CPU 的指令译码执行要求,所以假如 NOR 上存储了代码指令,CPU 给 NOR 一个地址,NOR 就能向 CPU 返回一个数据让CPU执行,中间不需要额外的处理操作。因此可以用 NOR Flash 直接作为嵌入式 MCU 的程序存储空间。flash缺点一是 Flash 的使用寿命,另一个是可能的位反转。原创 2024-09-09 20:01:48 · 1610 阅读 · 0 评论 -
原码、反码、补码及用途
原码、反码、补码及用途反码(Ones' Complement)概念:反码是通过对原码的数值部分逐位取反(0变1,1变0)得到的。正数的反码和原码相同。负数的反码是其原码除符号位外所有位取反。补码(Two's Complement)概念:补码是反码加1得到的。正数的补码和原码相同。负数的补码是其反码加1。原创 2024-09-06 20:28:12 · 1768 阅读 · 0 评论 -
Stm32串口中断中用printf打印遇到的问题及分析
Stm32串口中断中用printf打印遇到的问题及分析不要在单片机中断函数中加入printf函数,如果加入会导致不可预知的错误,解决方法就是把printf函数放到中断函数外面即可。 做嵌入式软件及驱动开发要切记一条铁律:中断服务程序里,不能调用printf, malloc 函数。原创 2024-08-26 19:59:02 · 1107 阅读 · 0 评论 -
C语言中异或的应用
C语言中异或的应用在C语言中,异或(XOR)是一种二进制运算,它对两个数字的对应位进行比较,如果这两个位不同,则结果为1;如果这两个位相同,则结果为0。异或运算符在C语言中是^。1.异或运算有几个有趣的性质:交换律:a ^ b = b ^ a结合律:(a ^ b) ^ c = a ^ (b ^ c)任何数与0异或都等于其本身:a ^ 0 = a任何数与自身异或都等于0:a ^ a = 0异或运算对同一个数进行两次,结果仍为原数:a ^ b ^ b = a(因为b ^ b = 0,然后a ^原创 2024-08-09 19:54:14 · 1492 阅读 · 0 评论 -
STM32F429外部中断用法
STM32F429外部中断用法 STM32F429外部中断/事件控制器 (EXTI) 管理了控制器的 23 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。原创 2024-07-19 09:30:51 · 851 阅读 · 0 评论 -
STM32F429高级定时器输出PWM
STM32F429高级定时器输出PWM一.STM32F429定时器介绍STM32F429 一共有14个定时器,其中有 2 个高级定时器(TIM1 和 TIM8)二.高级定时器输出指定个数PWM1.输出PWM原理 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。原创 2024-07-17 09:25:38 · 1681 阅读 · 0 评论 -
STM32外扩SRAM及用法
STM32外扩SRAM及用法一般单片机有片内的RAM,但都不多,比如:STM32F407ZGT6 自带了 192K 字节的 RAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合,比如做华丽效果的 GUI,处理大量数据的应用等,STM32 自带的这些内存就可能不太够用了。好在嵌入式方案提供了扩展芯片 RAM 的方法,使用 SRAM 芯片,并驱动这个外部 SRAM 提供程序需要的一部分RAM 空间即可。原创 2024-07-05 20:02:04 · 4108 阅读 · 0 评论 -
STM32基础知识
STM32基础知识一.STM32概述第一款STM32单片机发布的时间为2007年6月11日。由意法半导体(ST)公司推出,是STM32系列中的首款产品,具体型号为STM32F1,它是一款基于Cortex-M内核的32位微控制器(MCU)。STM32F1的推出标志着STM32系列产品的诞生,也开启了32位MCU在市场上的广泛应用。此后,ST公司不断推出新的STM32产品系列,包括STM32L1(全球第一款超低功耗系列)、STM32F2(基于90纳米工艺、120 MHz的高性能系列)等原创 2024-07-05 19:57:18 · 627 阅读 · 0 评论 -
STM32基本定时器、通用定时器、高级定时器区别
一.STM32基本定时器、通用定时器、高级定时器区别STM32系列微控制器中的定时器资源分为基本定时器(Basic Timer)、通用定时器(General Purpose Timer)和高级定时器(Advanced Timer)三类,它们在功能和复杂性上有所不同。基本定时器主要用于实现简单的定时功能,没有外部IO接口,是内部资源。通用定时器除了基本的定时功能外,还支持输入捕获、输出比较、PWM生成等多种功能。高级定时器包含基本定时器和通用定时器的所有功能,并增加了更高级的功能。原创 2024-07-03 19:53:57 · 2503 阅读 · 0 评论 -
keil软件的一些使用技巧
keil软件的一些使用技巧头文件包含的技巧keil编译stm32有hal库的工程为何编译很慢解决快速注释与快速消注释原创 2024-06-29 11:52:06 · 1089 阅读 · 1 评论 -
步进电机及其驱动芯片介绍
步进电机及其驱动芯片介绍一.步进电机介绍1.定义别名:脉冲电动机、步进器。步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。这种电机不需要使用位置传感器,通过开环控制即可实现准确的定位,广泛应用于需要定位的设备中。原创 2024-06-29 11:48:58 · 1825 阅读 · 0 评论 -
STM32单片机实现串口IAP升级
STM32单片机实现串口IAP升级1.要实现串口IAP升级,首先要编写一个bootloader程序,然后再写支持IAP的app程序;2.keil下bootloader的程序rom和ram设置3.app程序要用bin文件注:本文以STM32H743举例,其他stm32单片机IAP升级原理类似。原创 2024-06-27 19:55:48 · 3011 阅读 · 0 评论 -
STM32烧写hex及bin文件的五种方法
STM32烧写hex及bin文件的五种方法1.STVP是ST早期的一款下载编程工具,支持早期的ST早期的芯片(比如ST7系列),也支持STM8、 STM32。2.ST-LINK Utility3.STM32CubeProg 这款工具,是 ST 继前面两款工具之后新推出的一款工具,是目前主推的一款下载编程工具。4.CoFlash 软件的最新版本是 CoFlash V1.5.1,发布时间为 2019 年 4 月 4 日;5.keil直接烧写hex文件原创 2024-06-23 11:48:25 · 4264 阅读 · 0 评论 -
Keil MDK生成LIB库以及使用LIB库
Keil MDK生成LIB库以及使用LIB库一.keil下lib静态库的使用具有以下优点:1.封装源代码,对外不开放,提高保密性。2.将标准功能函数封装成库,提高代码的复用性。3.使用库开发,简化开发流程,提高开发效率。4.系统调用库函数,提高执行效率。原创 2024-06-22 09:55:01 · 3063 阅读 · 0 评论 -
STM32三种调试工具CMSIS-DAP、J-Link和ST-Link
STM32三种调试工具CMSIS-DAP、J-Link和ST-LinkMSIS-DAP、J-Link和ST-Link均是嵌入式处理器的开发调试工具。CMSIS-DAP是一种轻量级调试接口,旨在实现开源的开发调试。它的优点是使用方便、通用性好、成本低,还支持固件的在线升级。J-Link是一款由德国公司SEGGER Microcontroller开发的高性能调试工具。但是价格较高。ST-Link是由意法半导体公司开发的专为ST微控制器设计的工具。ST-Link使用简便,价格也比较亲民原创 2024-06-22 09:43:59 · 3754 阅读 · 0 评论 -
如何用 STM32CubeMX 创建项目并导入 Keil5
如何用 STM32CubeMX 创建项目并导入 Keil5STM32CubeMX在“Project”菜单中,你需要设定项目的名称和存储位置。同时,在“Project Settings”部分,你可以选择目标编译器/IDE。对于此教程,我们选择“MDK-ARM”,即Keil5。打开Keil uVision5,选择“Project” -> “Open Project”导航至你的项目文件(通常是一个带有.uvprojx扩展名的文件)。打开后,Keil5将加载项目结构和配置,你可以看到已经生成的源代码文件。原创 2024-06-21 09:34:43 · 2644 阅读 · 0 评论 -
STM32多种开发环境及生成hex及bin文件介绍
STM32多种开发环境及生成hex及bin文件介绍keil5 STM32CubeIDE EWARM如果不考虑商业应用keil的比较好,如果考虑商业付费用STM32CubeIDE更好一些,毕竟是免费的。原创 2024-06-21 09:32:05 · 1733 阅读 · 0 评论 -
STM32单片机选型方法
一.STM32单片机选型方法1.首先要确定需求:性能需求:根据应用的复杂度和性能要求,选择合适的CPU性能和主频。内存需求:确定所需的内存大小,包括RAM和Flash存储空间。外设需求:根据应用所需的功能,选择具有相应外设的单片机,如USB、CAN、ADC、DAC、I2C、SPI等。电源需求:考虑单片机的电源电压范围和功耗要求。2.需求确定后就可以到官网进行选型(1)网址:https://www.stmcu.com.cn/Product/pro_detail/PR原创 2024-06-15 09:43:30 · 2672 阅读 · 0 评论 -
电机及FOC算法介绍
电机及FOC介绍电机是一种可以在电能和机械能的之间相互转换的设备,其中发电机是将机械能转换为电能,电动机是将电能转换为机械能。发电机的主要用于产生电能,用途单一,但是电动机主要用于产生机械能,用途极其广泛。原创 2024-05-13 20:42:28 · 1148 阅读 · 0 评论 -
编码器介绍与应用
编码器介绍编码器,是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。其可和电机组装到一起用,反馈电机方向、转换角度的,然后电机根据反馈再动作纠偏,提升精度。原创 2024-05-13 20:34:09 · 1480 阅读 · 0 评论