2.3 边写代码时应同时边写注释,修改代码时应同时修改注释,保证代码和注释的一致性,注释内容应清楚,避免缩写 1. 注释内容应放于代码上方相邻处,或者放在代码右方,放在代码右方时应保证注释对齐,如/* */,//。 2. 对于一些变量命名不能够做到自注释,如果这些变量含有物理意义或数学意义等,此外,这些变量如果跨文件...
用C++写STM32代码(一) 为什么要用C++?1.面向对象的好处太多了,这点我就不用细说了2.现在的主流单片机有很大一部分是ARM内核,(其中最重要的是STM32和NXP的LPC系列),而ARM对C++的支持还是非常给力的,最新版本可以支持到C++14,而且还有一点,Keil最近的大幅度更新(Keil早已被Arm收购,可以说Keil是Cortex-M系列的...
在学习编程之前,让我们先来了解一下STM32的内部结构。 STM32晶振 每一款芯片都有晶振,晶振又称为是MCU的“心脏”,不是通上电MCU就可以正常运行了,是晶振推动程序的执行的,这一点大家要注意,STM32不响51单片机只有一个晶振,我选的这一款芯片有5个时钟源,为什么它需要这么多时钟源呢?是为了适应自带的一些设备,...
字符串常量和define定义的常量也有可能存放在代码区。 二、STM32存储器分配 1. 随机存储器—RAM RAM是与CPU直接交换数据的内部存储器,也叫主存(内存)。 它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。 当电源关闭时RAM不能保留数据(掉电数据消失哦)如果需要保存数据,就...
条件编译在HAL库里面是用得很多,在stm32mp1xx_hal_conf.h这个头文件中经常会看到这样的语句: #if!defined (HSE_VALUE) #defineHSE_VALUE 24000000U #endif 如果没有定义HSE_VALUE这个宏,则定义HSE_VALUE宏,并且HSE_VALUE的值为24000000U。条件编译也是C语言的基础知识...
导读 C 语言是单片机开发中的必备基础知识。我们这里就列举部分STM32学习中会遇见的C 语言基础知识点 1.位操作 下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持如下6中位操作: (图1:六种位操作) 下面我们想着重讲解位操作在单片机开发中的一些实用技巧。
STM32中int占32位,若要使用16位数据可用short类型;且long与unsigned long也占了32位与int一样,若...
STM32内部里有一个叫总线的东西有APB1,APB2,APB3,AHB1,AHB2总线,总线也是有地址的,固件库是怎么利用总线的地址来寻到每个寄存器呢? 1#definePERIPH_BASE ((uint32_t)0x40000000)2#defineAPB1PERIPH_BASE PERIPH_BASE3#defineAPB2PERIPH_BASE (PERIPH_BASE + 0x00010000)4#defineAHB1PERIPH_BASE (PERIPH_BAS...
C语言在STM32中的内存分配 01、前言 不说废话,先上示例代码 uint8_t num_byte[4]; uint32_t num_word;constuint32_t num_word_const =0x1234; uint32_t*point_heap;intmain(void) { uint8_t num_byte_stack;staticuint8_t num_byte_static;...
STM32 在生产的时候会首先烧录一段程序,可以称它为 Bootloader 程序,这个程序在一般情况下是不会运行的,需要通过设置一些引脚(BOOTx)的状态去激活它。一旦这段代码运行起来了,就会一直检测其中一个串口的状态信息,一旦识别到了需要下载的条件,就会按照它自己的通信协议完成数据的传输,最终将整个文件代码保存在单片机...