单片机c语言必背代码_stm32单片机编程用库函数好还是寄存器好?

本文探讨了在单片机编程中使用库函数和直接寄存器操作的优缺点。库函数简化了开发过程,方便移植,但效率较低;而寄存器操作效率高,但需要深入了解硬件细节。真正的高手通常会结合两者,以在功能实现和性能之间找到平衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库函数和寄存操作到底哪个好,这个不好说,只能说根据个人情况和应用场合吧。比如说我,虽然说我一直用的是标准库函数,但是我也不只是用标准库,偶尔在需要的时候会用寄存器操作,因为寄存器操作的效率更高。

库函数和寄存器操作的区别可能和 C 语言与汇编语言的区别差不多吧,都是跟效率有关,但有时候效率并不是唯一指标。

我们都知道 C 语言的效率要比汇编低,但是现在绝大多数嵌入式开发人员用的还是 C 语言!为什么,因为它简单易学,容易跨平台,移植性好,这是很大的优势,而汇编就不同了,它针对的是某一款内核进行开发,比如51汇编语言、ARM汇编语言,一旦内核变了,如果你的代码采用纯汇编写的代码,那几乎所有的代码都不适用了。但是使用 C 语言编写代码就不同,你在 51 单片机写的代码也能在 STM32 单片机中使用,你要做的工作就是把涉及到底层硬件的代码稍微修改一下就可以了,这种工作量很少,你的代码写得足够好的话,是很容易的,这称之为移植。那为什么 C 语言可以做到跨平台呢?我们知道单片机最终还是要通过汇编语言执行的,所有的 C 语言其实都会通过编译器进行转化的,也就是说你写的 C 语言程序会经过一种称为编译器的东西转为对应的汇编语言,比如说你的 C 语言程序要运行在 51 单片机上,你就要用对应的编译器编译,如果要运行在 STM32 上,你也要用另一个对应的编译器才行,这就是 C 语言能跨平台的秘密!跨平台的工作是交给了编译器,而不是说 C 语言真的能直接在各种单片机上运行!

但是真正的单片机程序并不是只有 C语言的,在进入 C 的世界之前,其实是有一段代码的,这称之为启动代码&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值