STM32
文章平均质量分 75
STM32系列32位闪存微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗与低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。
XinLiBK
记录学习和工作~
展开
-
STM32F4(用SysTick实现Delay函数)
STM32F4(用SysTick实现Delay函数)1,开发环境 1,适用芯片:STM32F4全部芯片 2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK5172,驱动源码 Delay.h文件/**************************************原创 2017-03-05 15:10:46 · 5499 阅读 · 0 评论 -
STM32F1(Flash 读保护)
STM32F1(Flash 读保护)1,目的 在实际的产品发布中,如果不对储存在单片机 Flash 中的程序做一些保护的话,就有可能被一些不法公司,通过仿真器(J-Link,ST-Link 等)把 Flash 中的程序读取回来,得到 bin 文件或 hex 文件,然后去...原创 2018-12-16 13:40:55 · 2388 阅读 · 0 评论 -
STM32F4(PVD)
STM32F4(PVD)GitHub 仓库:https://github.com/XinLiGH/STM32F4xx_PVD_ExamplePS:博文不再更新,后续更新会在 GitHub 仓库进行。 在实际的产品需求中,常常需要产品在断电时保存一些参数或做一些断电保护,这就需要 MCU 能够检测到断电的过程,STM32 片上有电源电压检测器(PVD)给工程师的开发提供了方便,可以比较简单...原创 2018-06-01 00:32:05 · 2647 阅读 · 0 评论 -
ARM CMSIS Driver 学习 之 USART
ARM CMSIS Driver 学习 之 USART 最近把 MDK 升级到了 V5.25 ,发现 Managing Run-Time Environment 中已经有好多好多的库。相比之前已经好了太多太多,从底层驱动,到上层协议栈,常用的有不常用的也有。发现 ARM 对这套系统的更新速度加快了一些,觉得有必要学习一下。从驱动开始学起,先学 USART API 详细介绍见 CMSIS...原创 2018-04-06 20:01:07 · 3838 阅读 · 0 评论 -
STM32F4 C++ 封装库 之 EXTI
STM32F4 C++ 封装库 之 EXTI 这几天看了下 mbed 的源码,给上层应用调用的接口封装的还是不错的。代码质量比较高,注释也很详细,文档和例程比较全。但是驱动层的程序全是 C 语言编写的,代码质量就没有那么高了,注释比较少而且不规范,比较怀疑 mbed 的稳定性。mbed 的实时内核是用的 RTX5 ,文件系统用的 FatFs ,还有一些开源的协议栈,整套系统比较繁杂。m...原创 2018-04-04 20:34:23 · 770 阅读 · 0 评论 -
KEIL MDK RTE 介绍
KEIL MDK RTE 介绍 RTE 是 MDK V5.0 之后加入的运行时环境,里面包含了常用外设的驱动(UART、I2C、SPI、USB等),还有常用的实时操作系统(RTX、FreeRTOS、RTT等),常用的一些库和协议栈(FatFs、Jansson、MQTT、mbed TLS等),可以基本满足产品开发的需求。ARM 公司敢把这些东西集成到 MDK 中肯定代码的安全性是可以保证的...原创 2018-04-16 21:09:41 · 15522 阅读 · 0 评论 -
ARM CMSIS Driver 学习 之 SPI
ARM CMSIS Driver 学习 之 SPI CMSIS Driver 都有着相似的 API 函数和相似的调用方法,它是在 ST HAL 库的基础上又进一步的封装,使用和配置起来都要比 ST HAL 库要方便和简单许多,并且还是跨平台的,非常有学习和使用的价值。今天学习 SPI API 的使用,详细介绍见 CMSIS Driver SPI APISPI 发送与接收/** **...原创 2018-04-14 18:16:56 · 5360 阅读 · 0 评论 -
STM32F4 C++ 封装库 之 GPIO
STM32F4 C++ 封装库 之 GPIO 一直有一个想法就是用 C++ 去做 STM32 的开发,但是很少有这方面的资料。经过一段时间的思考,决定在官方的 ll 库的基础上做一层 C++ 的简单封装。因为官方的库基本实现了全系列的 MCU 都是相同的 API 接口,所以 C++ 封装后的库也有很好的移植性。原理性的东西就不讲理了,直接上代码。stm32f4xx_xgpio.h 文件...原创 2018-04-01 15:03:40 · 1397 阅读 · 0 评论 -
STM32F4(Flash读保护)
STM32F4(Flash读保护)1,目的在实际的产品发布中,如果不对储存在单片机Flash中的程序做一些保护的话,就有可能被一些不法公司,通过仿真器(J-Link,ST-Link等)把Flash中的程序读取回来,得到bin文件或hex文件,然后去山寨产品。所以我们需要对程序进行保护,一种比较简单可靠的方法就是把Flash设置成读保护。2,开发环境 1,适用芯原创 2017-02-21 21:03:39 · 8251 阅读 · 7 评论 -
STM32F4(SRAM调试)
STM32F4(SRAM调试)1,目的 由于STM32的FLASH擦写的次数是有限的,所以为了保护我们的FLASH,延长MCU的使用时间,我们可以在SRAM上进行调试,SRAM是暂存器,掉电后里面的内容会丢失的,它跟我们PC上的内存条有同样的功能。如果STM32的FLASH被设置成了读保护,以至于不能烧写程序,可以通过从SRAM中启动程序,把FLASH读保护解除。原创 2017-03-26 13:32:45 · 5722 阅读 · 0 评论 -
STM32F4(读取芯片ID)
STM32F4(读取芯片ID)唯一设备标识符适合:● 用作序列号(例如 USB 字符串序列号或其它终端应用程序)● 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性● 激活安全自举过程等96 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远不能改变这些位。96 位原创 2018-01-14 21:07:31 · 9627 阅读 · 1 评论 -
STM32F4(BUZZ)
STM32F4(BUZZ)GitHub仓库:https://github.com/XinLiGitHub/STM32F4xx_BUZZ_ExamplePS:博文不再更新,后续更新会在GitHub仓库进行。 在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免原创 2018-01-10 23:35:23 · 11205 阅读 · 0 评论 -
STM32F4(KEY)
STM32F4(KEY)GitHub仓库:https://github.com/XinLiGitHub/STM32F4xx_KEY_ExamplePS:博文不再更新,后续更新会在GitHub仓库进行。 在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免或减原创 2018-01-10 22:52:23 · 657 阅读 · 0 评论 -
STM32F4(LED)
STM32F4(LED)GitHub仓库:https://github.com/XinLiGitHub/STM32F4xx_LED_ExamplePS:博文不再更新,后续更新会在GitHub仓库进行。 在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免或减少重原创 2018-01-10 20:47:20 · 623 阅读 · 2 评论 -
STM32F4(用SysTick实现精确测量程序运行的时间)
STM32F4(用SysTick实现精确测量程序运行的时间)GitHub仓库:https://github.com/XinLiGitHub/STM32F4xx_MeasureTime_ExamplePS:博文不再更新,后续更新会在GitHub仓库进行。 在实际的项目开发过程中,常常遇到需要得到一段代码的运行时间,通常的方法是用示波器来测量,这篇博文将用SysTick来原创 2017-11-12 21:49:15 · 6098 阅读 · 10 评论 -
STM32F4(CAN)
STM32F4(CAN)1,开发环境 1,适用芯片:STM32F4部分芯片 2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK5172,驱动源码 CAN.h文件/******************************************************原创 2017-03-23 16:33:33 · 2317 阅读 · 0 评论 -
STM32F4(USART+DMA+动态内存)
STM32F4(USART+DMA+动态内存)1,开发环境 1,适用芯片:STM32F4全部芯片 2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK5172,驱动源码 USART.h文件/*********************************原创 2017-02-19 14:15:39 · 1906 阅读 · 0 评论 -
STM32F4(USART+DMA+静态内存)
STM32F4(USART+DMA+静态内存)1,开发环境 1,适用芯片:STM32F4全部芯片 2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK5172,驱动源码 USART.h文件/*****************************************原创 2017-03-23 15:38:59 · 1233 阅读 · 0 评论 -
STM32F1(CAN)
STM32F1(CAN)GitHub 仓库:https://github.com/XinLiGH/STM32F1xx_CAN_ExamplePS:博文不再更新,后续更新会在 GitHub 仓库进行。1,开发环境1,固件库:STM32F10x_StdPeriph_Lib_V3.5.02,编译...原创 2019-07-08 09:04:50 · 1308 阅读 · 0 评论