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

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

Read more »

使用PMOS完成常用的电路保护

在如今的电路设计之中,无论是DC-DC开关电源还是LDO都有完善的反馈特性能够完成很好的压控设计目标,在一些场景之中为了防止反接常常使用一些物理防呆接口——但是俗话说的好:防呆不防傻,大力出奇迹。所以对于过高的电压、反接电源烧毁电路还是需要注意,这时候我们可以使用P沟道MOSFET非常轻松的完成这些电路,实现很好的效果。

Read more »

构建理想二极管组成ORing切换电路

在嵌入式系统和电路设计之中,我们经常会见到多路供电的状况,例如USB供电和系统内自带电池同时存在,例如DC-DC开关电源和USB直流供电同时存在,亦或者为了保证系统的可靠性使用多个相同供电结构组成的冗余电源(Redundant Power Supply)。这时候将多路电源的输入直接通过传输线相连显然是不明智的,这时候就要用到ORing电路。

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 »