STM32单片机开发中的RTOS


很多STM32单片机初学者都是从裸机开始的,裸机确实也能开发出好的产品。但是,作为一个嵌入式软件工程师,况且用的并不是51那种低端单片机,如果只会用裸机开发产品,那肯定是不够的。
单片机(Microcontroller, MCU)是一种集成了计算机功能的微型计算机,通常由一个微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口、定时器/计数器等功能模块集成在同一芯片上。单片机是一种常用于嵌入式系统中的控制器,它被广泛应用于家电、汽车、工业自动化、医疗设备、消费电子、物联网(IoT)设备等多个领域。
很多STM32单片机初学者都是从裸机开始的,裸机确实也能开发出好的产品。但是,作为一个嵌入式软件工程师,况且用的并不是51那种低端单片机,如果只会用裸机开发产品,那肯定是不够的。
单片机是嵌入式系统的核心元件,使用单片机的电路要复杂得多,但在更改和添加新功能时,带有单片机的电路更加容易实现,这也正是电器设备使用单片机的原因。
片内RAM区和特殊功能寄存器的数据传送,包括MOV指令、堆栈操作指令(PUSH、POP)和交换指令(SWAP、XCH和XCHD)。
单片机的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。
本文章主要是说明串口的重要性,用来调试程序很方便。
单片机在复杂的应用中,片内的资源往往不能满足实际需求,需要扩充较大的存储容量和较多的 I/O 接口。
UART串口是嵌入式开发常见的一种通信方式,但还是有不少人不知道怎么使用串口。
本文以STM32F103C8T6单片机为例创建演示工程,分为app和bootloader两个工程。即将mcu的Flash分为“app”和“bootloader”两个区域, bootloader放在0x8000000为起始的24KB区域内,app放在0x8006000为起始的后续区域。bootloader完成对app的Flash数据修改。
以STM32F103单片机为例,在输出电压特性表可以看到,STM32F103的I/O输出高电平的电压在VDD-0.4V至VDD,以3.3V供电的话,那么I/O口的高电平电压在2.9V至3.3V之间。
单片机开发过程中通常会用到“消息队列”,一般实现的方法有多种。本文给大家分享一下队列实现的原理和机制。