ESP32使用CLion+IDF无痛起步指南

Espressif,乐鑫,是近年来崛起的优秀国产MCU品牌,它们的产品线比较狭窄,只包括MCU级别的产品,但是不得不说他们在嵌入式AI、嵌入式IoT以及无线技术方面确实给开发者提供了许许多多的的便利。ESP32早年从ESP8266起家的时候首先支持的Arduino的开发框架,然而在较深入和较复杂的开发之中这个框架的灵活度、易用性、可扩展性都展示出了许许多多的不足之处,所以笔者决定抛弃ESP-Arduino转而使用ESP-IDF进行开发,本文旨在探索一种合适笔者的开发环境。

Read more »

FATFS接口与移植详解——嵌入式FATFS[2]

在上一篇文章中我们已经明确了FATFS的基础概念和逻辑组织形式,那么现在就来到了实际调动代码完成功能和完善逻辑访问接口的部分了。非常幸运,FATFS官方提供了使用ANSI C编译的可移植的代码库,所以我们的任务就简化成了分析模块接口并且完成模块在具体工程之中的移植问题。

Read more »

FATFS详解——嵌入式FATFS[1]

经常从事嵌入式开发的同学们应当会频繁触碰到一个痛点:数据持久化(掉电存储),最常见的应用场景就是配置信息或者控制器参数的保存和读取——依赖于便写固件时一次性的将PID参数写死而造成的后续调参体验真的太糟糕了。我们首先需要分析FATFS底层的逻辑组织形式!

Read more »

STM32 HAL库NVIC使用与中断原理

——STM32 HAL库开发系列<4>

本章主要设计NVIC,Nested Vector Interrupt Controller也就是嵌套向量中断控制器的使用与其原理解构,将会以一种通俗易懂的方式讲述什么是中断以及展示中断这一十分重要的功能在单片机嵌入式开发中的简单实用,最后将以一个按钮的驱动代码作为例子。

Read more »

关于在CLion环境中开发STM32无法加载CMake的BUG解决方案

解决了一个CLion+STM32CubeMX开发环境中不大不小的BUG,虽然无伤大雅,但是真的膈应人,本质就是工程文件中缺失了对于CMake的识别。

Read more »

STM32 HAL库GPIO使用与相关电路原理

——STM32 HAL库开发系列<3> GPIO
也就是General Purpose Input /Output,通用型输入输出的简称,其功能引脚可以按照使用者编写的程序配合相应硬件电路自由使用,即可以作为输入引脚又可以作为输出引脚,同样的可以配置为上拉或者下拉电阻模式使用,拥有极大的灵活性,是单片机功能中最基础、最常用、最具有普适性的重要功能。

Read more »

STM32 HAL工程结构详解与建立和调试

——STM32 HAL库开发系列<2> 在前面两篇教程中我们已经完成了对于STM32CubeMx+CLion的开发环境搭建和对于STM32F1系列芯片硬件结构的了解和嵌入式系统开发学习路线的确定,本文主要的内容和目的就是详细了解相关工程文件的结构和IDE的使用方法。

Read more »

STM32 F1(ARM Cortex-M3)开发绪论

——STM32 HAL库开发系列<1> 有很多同学寻求在STM32单片机开发或者ARM开发以及嵌入式开发这条路上快速入门,但是却被繁多的开发平台和晦涩难懂的专业名字搞得头昏脑胀,继而老虎啃天无法下嘴导致劝退。本文将通过对单片机的介绍、对ARM核心的介绍、对嵌入式开发的介绍以及对STM32系列的讲解和一个最小系统的实例来粗浅的介绍一个学习路线和入门途径。

Read more »

STM32HAL库+CLion 开发环境搭建与详解

——STM32 HAL库开发系列<0>本文介绍一种使用STM32官方推出的芯片基础代码配置工具STM32CubeMX与JetBrains开发的CLion联合搭建的开发环境。本开发环境可以应用于Windows平台和MacOS平台,Linux平台笔者并未测试,理论上是可以按照相同的方法进行搭建的。

Read more »