stm32程序是用什么语言写的?

STM32程序主要使用 C语言 编写,这是绝对的主流。在某些关键场景下会嵌套汇编语言,也有一些新兴的替代方案。

一、核心语言:C语言

为什么是C语言?它平衡了性能和开发效率,既能直接操作硬件寄存器,又有足够高的可读性和移植性。无论你用标准外设库还是HAL库,底层逻辑都是用C语言实现的。即便是你之前可能接触过的Arduino,其底层也是C语言。

二、特殊场景:汇编语言

汇编语言不会用来写整个工程,但在两种场景下必不可少:

· 启动代码:芯片复位后,需要一段汇编代码来初始化堆栈指针、准备C语言运行环境,最后再跳转到 main() 函数。

· 精确控制/性能优化:在操作系统中实现任务切换(需精确操作寄存器),或编写对时间要求极严的底层驱动时,可能会内嵌汇编。

三、现代选择:其他语言

· C++:可以用,但开启异常和RTTI会显著增加代码体积,在资源有限的STM32F103C8T6上需要谨慎配置。

· MicroPython:一种在STM32上跑Python解释器的玩法。语法简单,适合快速验证,但实时性和运行效率不如C语言。

· Rust:一种强调内存安全的现代语言,在嵌入式领域发展很快,但学习曲线较陡,资料也不如C丰富。

总结

· 入门首选:C语言。资料最多,库最全,是探索STM32世界的钥匙。

· 学习建议:C语言基础(特别是指针和位操作)需要熟练掌握,这是看懂寄存器配置的关键。

相关推荐
aaaffaewrerewrwer12 小时前
免费在线 AVIF 转 WebP 工具推荐(支持批量转换 + 浏览器本地处理 + 无需上传)
安全·个人开发
AI thought14 小时前
【转】C语言中 -> 是什么意思?
c语言·位移运算符·右移赋值·无符号整数·算术右移
普中科技15 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 45 章 FSMC-外扩 SRAM 实验
stm32·单片机·嵌入式硬件·fsmc·普中科技·外扩sram·is62wv51216
会Tk矩阵群控的小木15 小时前
安卓群控系统对于游戏工作室实战教程
android·运维·游戏·adb·开源软件·个人开发
qeen8716 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
xiaoyuchidayuma17 小时前
永磁同步发电机的线电压和直流母线电压的关系
嵌入式硬件
潜创微科技17 小时前
4K60 over IP 方案简介
网络·嵌入式硬件·网络协议·tcp/ip·音视频
rit843249917 小时前
基于C#的USB HID设备读取测试软件
嵌入式硬件
三佛科技-1873661339718 小时前
FT32F103C8AT7兼容GD32F103C8T632 位通用微控制器MCU,替代性分析
单片机·嵌入式硬件
iCxhust18 小时前
8086汇编 word ptr
汇编·单片机·嵌入式硬件·微机原理·8088单板机