找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: wangcaidao
打印 上一主题 下一主题
收起左侧

学习单片机用汇编还是C比较好

  [复制链接]
1121#
ID:1138967 发表于 2024-12-14 00:09 | 只看该作者
学习单片机时,选择汇编还是C取决于你的学习目标和需求。汇编语言能帮助你深入理解硬件操作和底层细节,适合那些希望精通微控制器内部工作原理的初学者。它对资源有限的应用(如实时性要求高的系统)尤其有用。然而,C语言更为高效、易学,且更具可移植性,是开发实际项目时的主流选择。对于大多数现代单片机开发,C语言提供了良好的抽象,能够提高开发效率并减少出错机会。总的来说,初学者可以先从C语言入手,再根据需要逐步学习汇编。
回复

使用道具 举报

1122#
ID:1139833 发表于 2024-12-15 17:32 | 只看该作者
C语言可以极大减少学习单片机指令集的难度。即使你对具体的硬件知识不甚了解,也能编写出高质量的单片机程序。其次,C语言提供了丰富的数据类型和存储类型选项,可以有效利用有限的RAM空间。同时,它还具有很高的程序坚固性,能够避免运行中的数据破坏。此外,C语言的编译模式能够根据不同的存储器需求进行调整,以适应不同的硬件环境。 在单片机开发中,C语言还提供了大量的标准库函数,可以简化编程过程,提高开发效率。通过头文件,可以定义宏、说明复杂数据类型和函数原型,有利于程序的移植和单片机系列产品的开发。同时,C语言具有严格的语法检查机制,能够帮助开发者快速发现并修正错误。
回复

使用道具 举报

1123#
ID:1140002 发表于 2024-12-16 17:14 | 只看该作者
不考虑应用场景,语言优缺无任何意义。
回复

使用道具 举报

1124#
ID:1140133 发表于 2024-12-17 16:59 | 只看该作者
在学习单片机时用C语言是比较好的,C语言和汇编语言两者各有优劣,如果在开发方式上来看C语言用处比较广泛,且具有一定的普适性和灵活性,而汇编语言只应用于一定的环境,需要考虑的参数过多,不利于开发
回复

使用道具 举报

1125#
ID:1140183 发表于 2024-12-17 18:50 | 只看该作者
江科大的32是c的,汇编上课讲的我现在还是不太理解
回复

使用道具 举报

1126#
ID:221871 发表于 2024-12-18 13:02 | 只看该作者
当然是用C编写单片机程序好
回复

使用道具 举报

1127#
ID:1140282 发表于 2024-12-18 13:04 | 只看该作者
对于没有任何基础的人来说,我建议直接从汇编入手去学习开发单片机,因为省掉了C语言的语法学习研究,更高效。 对于有C语言基础的人来说,开发单片机还是选用c语言,  学了汇编,再去学C,觉得C好麻烦,太繁琐。 学了C之后再去学汇编,我个人觉得还是汇编写起来舒服。 可能我目前的C和汇编都学得不是很好,才有这样的体会,等我后面再回过头来看吧,或许又是一个体会了。  时间充足,都学肯定是好的,同时一起学,也不是特别费时间,反而能更好的去理解寄存器。 时间不充足,选C吧。
回复

使用道具 举报

1128#
ID:1140733 发表于 2024-12-21 19:48 | 只看该作者
如果你的目标是深入理解单片机的底层工作原理以及掌握硬件控制,学习汇编语言是有帮助的;但如果你希望快速开发应用,提升编程效率,那么C语言是更好的选择。
回复

使用道具 举报

1129#
ID:1130054 发表于 2024-12-23 18:05 来自手机 | 只看该作者
各有优势。
回复

使用道具 举报

1130#
ID:613800 发表于 2024-12-26 15:51 | 只看该作者
如果从事嵌入式之类行业有限c语言,汇编了解了解就行,如果是从事比较便宜空间很小的芯片开发最好学会汇编能编译更小的代码通常可以省不少成本,c也需要会一些;总结就是搞单片机c和汇编都要学,如果非要一个优先级c优先
回复

使用道具 举报

1131#
ID:1120828 发表于 2024-12-26 17:55 | 只看该作者
c语言逻辑性强好学
回复

使用道具 举报

1132#
ID:1132182 发表于 2025-1-4 09:51 | 只看该作者
angmall 发表于 2018-11-14 06:25
我也是喜欢用汇编。但是也要会C语言,最起码要能读的懂。
汇编语言的优势在于程序简洁,占用内存少,效率 ...

给你来个几千行的c语言的代码就老实了
回复

使用道具 举报

1133#
ID:949647 发表于 2025-1-4 16:45 | 只看该作者
个人认为对于初学者,可以先学习C语言入门,但是汇编的学习仍然是必不可少的
回复

使用道具 举报

1134#
ID:1142487 发表于 2025-1-5 19:57 | 只看该作者
汇编和c其实不存在谁好谁坏的区别,不过新手上路建议先学C,然后逐渐熟悉之后建议还是得学习汇编,只有学习了汇编才真正懂得底层的东西
回复

使用道具 举报

1135#
ID:146782 发表于 2025-1-5 21:06 | 只看该作者
C容易入门
回复

使用道具 举报

1136#
ID:1141914 发表于 2025-1-6 01:54 | 只看该作者
一定要选的话,学C呀,适用性很广,会C的话不止对单片机有用,很多其他的地方也可以用到。
回复

使用道具 举报

1137#
ID:283954 发表于 2025-1-31 14:49 | 只看该作者
这个问题讨论了好久了,最新的一个事实是:AI模型为了取得最快最好的结果,绕过的CUDA语言,直接用内层的语言,相当于不用C语言,直接用汇编了,所以C语言和汇编都要学,在极端情况下,用汇编才能取得突破。

附录:
△ DeepSeek-V3 Technical Report

这种操作是用英伟达的PTX(Parallel Thread Execution)语言实现的,而不是CUDA。

PTX在接近汇编语言的层级运行,允许进行细粒度的优化,如寄存器分配和Thread/Warp级别的调整。

这种编程非常复杂且难以维护,所以行业通用的做法是使用CUDA这样的高级编程语言。

换句话说,他们把优化做到了极致。

REF: 雷阵雨​​CUDA(Compute Unified Device Architecture)是NVIDIA开发的并行计算平台和编程模型,允许开发者使用NVIDIA GPU进行通用计算。它扩展了C/C++等编程语言,使开发者能够利用GPU的强大计算能力加速应用程序。
回复

使用道具 举报

1138#
ID:1143252 发表于 2025-2-3 17:23 | 只看该作者
学习单片机编程时,选择汇编语言还是C语言,应综合考虑您的学习目标、项目需求和个人偏好。汇编语言因其高效性和对硬件的精细控制而适用于特定的实时性要求场合,同时,学习汇编有助于深入理解计算机工作原理,但其复杂性和可读性差使得学习和代码维护较为困难。相比之下,C语言更易学,且在保持较高运行效率的同时,提供了良好的开发效率和可移植性,适合大多数单片机编程场景。因此,对于初学者而言,从C语言开始是更为合适的选择;而对于追求极致效率和精细控制的开发者,汇编语言的学习则不可或缺。在实际工作中,许多专业开发者会根据具体情况,将汇编和C语言结合使用,以实现效率与开发速度的最佳平衡。
回复

使用道具 举报

1139#
ID:1143585 发表于 2025-2-7 11:53 | 只看该作者
汇编语言是我们学51单片机时候学的,但是做项目都是用c语言
回复

使用道具 举报

1140#
ID:1143717 发表于 2025-2-11 09:00 | 只看该作者
汇编靠近底层但是语法、语义不好理解。就目前而言项目中汇编之出现在启动代码中或者少部分和c混用。个人建议从C开始
回复

使用道具 举报

1141#
ID:554603 发表于 2025-2-11 15:44 | 只看该作者
当然是C了,做大项目时候效率高
回复

使用道具 举报

1142#
ID:1138682 发表于 2025-2-12 16:05 | 只看该作者
支持汇编,当年玩Z80就用汇编,后来玩51,也是汇编,指令集只有100多条基本指令
回复

使用道具 举报

1143#
ID:227818 发表于 2025-2-13 15:35 | 只看该作者
既然说到是学单片机,我以为还是汇编好,学会后干活当然是C好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表