找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
1001#
ID:180919 发表于 2020-11-12 23:24 | 只看该作者
还是喜欢用C好些。
回复

使用道具 举报

1002#
ID:57657 发表于 2021-8-6 12:43 | 只看该作者
必须C语言,可移植性强,比如浮点小数、三角函数计算,C语言1行,汇编几百上千行。
回复

使用道具 举报

1003#
ID:887202 发表于 2021-8-6 16:11 | 只看该作者
建议学习C吧,汇编确实由他的优势,快速,内存利用率高,执行效率高,但是随着单片机这个行业的发展,单片机的功能越来越强大,实现的功能越来越复杂,不可能都去用汇编写代码,开发效率上面太低下了,除了一些低端的8位单片机可能还会用汇编意外,高端的单片机的开发基本的模式会变成官方提供一个SDK给你,你调用写好接口就可以实现功能,不用具体去查看寄存器这些东西。看看STM32 为什么这么多人用,除了本身功能强大意外,官方的各种支持各种库让开发门槛大大降低,开发周期大大缩短,现在的32位单片机缺那么一点存储空间?时钟基本都是32M起步,缺那一点执行的时间?正式这些原因STM32才能大量的占领市场,拥有大量的开发人员,同样一个功能,用官方SDK一个星期就能开发完,汇编都不知道写到什么时候去了,C语言才是更好的选择

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

1004#
ID:684171 发表于 2021-8-6 18:07 | 只看该作者
汇编虽然是底层相对更节约资源,特殊情况下也有一些特殊妙用,但是实际也没有这么多精细的应用。再说说实际设计中,硬件的配置往往都优先向硬件的软件设计妥协的,这年头没人会为了那点资源死扣
回复

使用道具 举报

1005#
ID:190577 发表于 2021-8-10 16:22 | 只看该作者

c语言,通用,可移植度高,不同单片机稍改程序就可以使用,,汇编就不行了,每种单片机指令都要学一遍,太难了。
回复

使用道具 举报

1006#
ID:767526 发表于 2021-8-11 11:44 | 只看该作者
C语言好,基础语言,通用用好,学好了C语言其他得也不在话下
回复

使用道具 举报

1007#
ID:891941 发表于 2021-8-11 12:26 | 只看该作者
个人觉得如果项目很大 C或者面向对象的编程语言肯定是必须的,如果是想要理解内部原理肯定是汇编解释得更清楚,以后遇到需要特别优化的底层算法也是需要汇编来编写的,比如傅里叶变换,很多官方的函数底层就是汇编写的,为了加快运算速度
回复

使用道具 举报

1008#
ID:285416 发表于 2021-8-27 09:03 来自手机 | 只看该作者
hays1107 发表于 2018-11-15 08:54
建议是学C好,汇编应用不广,而且学C以后转其他语言也好转

我感觉就像库户函数和寄存器一样。需要什么时候,用什么,当然了,你最好是都要懂
回复

使用道具 举报

1009#
ID:476415 发表于 2021-8-27 19:18 来自手机 | 只看该作者
两个都学有那么难么?
回复

使用道具 举报

1010#
ID:962719 发表于 2021-8-28 11:00 | 只看该作者
最先学的c语言,感觉挺好用的而且c语言的兼容性更强一些
回复

使用道具 举报

1011#
ID:624769 发表于 2021-8-28 15:11 | 只看该作者
没法讨论好坏,初学C,易上手,上手以后要学会C语言&汇编混合编写。中断里的、时序要求高的、底层调用的这些要学会用汇编写,接口,和其他人共同开发部分要会用C写。
回复

使用道具 举报

1012#
ID:640104 发表于 2021-9-2 22:40 | 只看该作者
c吧,感觉c语言适用范围更广,但是某些情况下汇编语言确实也更好用,主要还是看自己吧
回复

使用道具 举报

1013#
ID:963967 发表于 2021-9-3 22:21 | 只看该作者
一般都是用C的吧,汇编现在好像淘汰不少了,已经没什么开发是需要汇编,最底层都是C来完成的
回复

使用道具 举报

1014#
ID:267932 发表于 2021-9-12 13:49 | 只看该作者
C开发效率高,速度快,可移植性强,模块编程思路清晰。
回复

使用道具 举报

1015#
ID:881715 发表于 2021-9-12 16:46 来自手机 | 只看该作者
有的时候一个程序两种语言全需要用,这叫混合编程
回复

使用道具 举报

1016#
ID:965702 发表于 2021-9-13 08:29 | 只看该作者
这没有好坏之分,无论学哪一个学精通之后就好。
回复

使用道具 举报

1017#
ID:965909 发表于 2021-9-13 23:20 | 只看该作者
相互依托的,比如要求开发速度,我们可以尽量用c或c++,因为它们都比用汇编完成任务速度要快。比如要求执行速度,我们必须考虑使用汇编,因为汇编的速度大体要比c或c++快5%~15%,另外我们还可以考虑用c或c++来嵌套汇编完成
回复

使用道具 举报

1018#
ID:966227 发表于 2021-9-15 11:51 | 只看该作者
低成本单片机几乎都是用汇编,如果不是低成本都是用C语言
回复

使用道具 举报

1019#
ID:824490 发表于 2021-9-16 11:48 | 只看该作者
无论C或A,都只是工具而已。关键是你会什么?你精通什么?把A运用到极致,能把C甩开2条街不止。

A 是佛跳墙,完整的一道菜做下来,要花费一周时间,没有3、5年的工夫,别说你会了。C就是啃的鸡,5分钟出一份鸡翅,3天学会。
快速成形、早点圈钱就用C,精致深加工还要上A。
回复

使用道具 举报

1020#
ID:966680 发表于 2021-9-17 09:40 | 只看该作者
学习C语言比较好
回复

使用道具 举报

1021#
ID:961087 发表于 2021-9-24 10:00 | 只看该作者
先学c,汇编大致了解一下就可以了
1、对于普通的项目,只要学好c就行了,但不是足够了。
2、现在流行的单片机开发编程语言有汇编、c、c++。
3、它们是可以相互依托的,比如要求开发速度,我们可以尽量用c或c++,因为它们都比用汇编完成任务速度要快。比如要求执行速度,我们必须考虑使用汇编,因为汇编的速度大体要比c或c++快5%~15%,另外我们还可以考虑用c或c++来嵌套汇编完成。
4、通过以上说明,只会c是不够的,有空还是要看看汇编和c++的。
回复

使用道具 举报

1022#
ID:967910 发表于 2021-9-24 10:19 | 只看该作者
还是学C好吧,应用范围广
回复

使用道具 举报

1023#
ID:342954 发表于 2021-9-24 10:43 | 只看该作者
c比较大众,如果不随大众,好果遇到问题,别人也没有办法帮你,你想帮别人,你也搞不定
回复

使用道具 举报

1024#
ID:967978 发表于 2021-9-24 15:31 | 只看该作者
建议用C易读性强
回复

使用道具 举报

1025#
ID:982413 发表于 2021-11-19 08:13 | 只看该作者
对于这个问题确实是仁者见仁的问题,两种语言无所谓好坏。主要考虑开发者的熟练程度以及对单片机内部结构的熟悉程度。所以我个人认为做单片机编程,应当是汇编和C都会才是最好的,次一点的是会C,且能大致看懂汇编,可以帮助优化C程序, 只会汇编,一个程序开发下来,得花几周到几个月,开发成本太高了,不值得 只会C完全不懂汇编,那也是很难做出高质量的单片机程序的
回复

使用道具 举报

1026#
ID:862309 发表于 2021-11-19 09:32 | 只看该作者
汇编难,因为太不直观了,很乱脑子。 汇编的作用相对于c来说也小,如果不是搞os或硬件相关,不学也完全可以。 c本身就比较好用,而且学会的话再学别的语言就很轻松了,建议先学c。绝对是汇编比C难, C还算是低级语言,而汇编基本就是机器语言了! c比汇编难学,但是用起来要比它容易。
回复

使用道具 举报

1027#
ID:862309 发表于 2021-11-19 09:34 | 只看该作者
先学c,汇编大致了解一下就可以了。
1、对于普通的项目,只要学好c就行了,但不是足够了。
2、现在流行的单片机开发编程语言有汇编、c、c++。
3、它们是可以相互依托的,比如要求开发速度,我们可以尽量用c或c++,因为它们都比用汇编完成任务速度要快。比如要求执行速度,我们必须考虑使用汇编,因为汇编的速度大体要比c或c++快5%~15%,另外我们还可以考虑用c或c++来嵌套汇编完成。
4、通过以上说明,只会c是不够的,有空还是要看看汇编和c++的。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
回复

使用道具 举报

1028#
ID:382728 发表于 2021-11-19 09:52 | 只看该作者
汇编虽然逻辑简单,但是没有C语言简练,初学简单的可以用汇编,但是编写一些复杂一点的还是用C比较方便
回复

使用道具 举报

1029#
ID:977059 发表于 2021-11-20 15:29 | 只看该作者
汇编只能写简单的小程序,C 适合复杂的程序  
回复

使用道具 举报

1030#
ID:982799 发表于 2021-11-20 17:37 | 只看该作者
建议用c
回复

使用道具 举报

1031#
ID:983456 发表于 2021-11-22 17:40 | 只看该作者
汇编虽然逻辑简单,但是没有C语言简练,初学简单的可以用汇编,但是编写一些复杂一点的还是用C比较方便,而且汇编初学太难了
回复

使用道具 举报

1032#
ID:983456 发表于 2021-11-22 17:41 | 只看该作者

汇编虽然逻辑简单,但是没有C语言简练,初学简单的可以用汇编,但是编写一些复杂一点的还是用C比较方便,而且汇编初学太难了
回复

使用道具 举报

1033#
ID:983972 发表于 2021-11-23 22:06 | 只看该作者
两者各有各的优缺点。汇编语言是低级语言,是仅次于机器语言和硬件联系最紧密的语言;而C语言只能算是半个高级语言。其次,汇编语言的实时性非常好,但可读性差,可移植性不强;相反,C语言的可读性强,可移植性高,但实时性比较差
回复

使用道具 举报

1034#
ID:984069 发表于 2021-11-23 23:38 | 只看该作者
确切的说,汇编是低级语言(面向硬件的),C是中级语言(可操作部分硬件)、C++等是高级语言(跟硬件无关)。个人倾向先学C语言。入门简单,可以学到许多主要的编程思想。汇编非常强大,但是比C、C++入门起来难,毕竟是涉及操作硬件的编程,对不同的硬件,指令系统,机器字长等很多东西都会存在差异。但是汇编是最低层的编程语言,也就有了其他高级语言没有的优势,即直接操作硬件,执行效率高,资源利用率高,对程序的优化(如在C语言中嵌入一段汇编指令)非常有帮助。而且,汇编能够让我们更好的去理解一个程序在机器上运行的整个过程。所以建议用C语言入门,汇编跟进。
回复

使用道具 举报

1035#
ID:517951 发表于 2021-11-24 08:13 | 只看该作者
毫无疑问是C语言好,现代的单片机不差那一点点code空间,时钟频率也高,总体来说c优点多过汇编。
回复

使用道具 举报

1036#
ID:770223 发表于 2021-11-24 16:26 | 只看该作者
先学习C语言在去学习汇编语言,这样容易上手
回复

使用道具 举报

1037#
ID:82491 发表于 2022-1-26 15:09 | 只看该作者
简易C,效率和可阅读性和可移植性都更好。
回复

使用道具 举报

1038#
ID:378108 发表于 2022-1-28 23:12 | 只看该作者
kmsj 发表于 2018-11-19 12:32
这个话题按好坏之分讨论下去毫无意义,汇编语言和C语言不存在好坏之分,而是各有优点。汇编语言是基础,没 ...

说c效率低的,那是和高手的汇编比,我用汇编是比不过c的,
回复

使用道具 举报

1039#
ID:378108 发表于 2022-1-28 23:14 | 只看该作者
酶SSS 发表于 2018-11-27 16:51
汇编语言属低级语言,而C语言是高级语言,所谓高级语言就是更容易被人们理解的语言,其实汇编语言能实现的 ...

c也是可以直接控制硬件的
回复

使用道具 举报

1040#
ID:342822 发表于 2022-1-29 08:21 | 只看该作者
最好是汇编和C优势互补,需要时在高级语言中嵌入汇编。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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