9831|28

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于初学者使用C语言还是汇编语言 [复制链接]

严格来讲430的C是ANSI C的一个子集,与汇编的差别主要有:
1、C有if、(do)while、switch等流程控制语句
2、C有有限的数据格式,如char、int、float、dou××e等
3、对430最有特色的R0--R15的使用,C不如汇编
4、430的C不易进行RAM管理
5、430各版本的C,互相之间存在差异,好象C在430上还不成熟
6、C的优点是在PC或PDA上,也就是在有操作系统的平台上,C的优点才会表现出来,但那已经不是430的C了,而是C++,它有丰富的数据类型,如结构、对象等
7、汇编的缺点,基本上就是C的优点,而汇编的优点基本上都是C的缺点
8、搜索本论坛,关于C的提问非常多,看来不少使用者走了弯路
欢迎各位参加讨论,以便给初学者一个正确的指引,真正体现本论坛的宗旨!

最新回复

如题,针对msp 430的  详情 回复 发表于 2011-12-11 16:34
 
点赞 关注

回复
举报

88

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
支持
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
C的4K限制,也是个不容忽视的问题,IAR昂贵,EW430巨费
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
是啊
学430一个多月
一直都是用C
发现编制简单的程序倒没啥
稍微复杂点的
程序只要结果不太对
就死活查不出问题所在!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
之前的帖子,很多都是关于C的技巧的。就象想要穿一件兄弟民族的服装,目的只是想穿上感受一下,或只是为了保暖、漂亮,可就是不知道怎么穿到身上!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
是的,我也有这种感觉,C430不成熟,不象C51
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
不过还是很多人是用C写的

太爽了
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

9
 
其实汇编和c的使用都是差不多,最主要的是编程思路和对mcu的内部结果的熟悉,及合理利用硬件资源的能力,这些事体现水瓶好坏的参考。

建议先用汇编,由于对硬件的操作更加直观灵活,有利于对430内部结构的熟悉和熟悉编程思路。

等你掌握的430的开发技能,又熟悉了系统的合理分配资源和组织资源时再学习用c,那将使你进步

最快的时候,因为c对程序的结构和调度真得很理想!
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(初级)

10
 
其实我个人认为,430的汇编指令已经很简单,结构也很象C语言了
单对430来讲,从开发的速度和难度来讲,C占不了多大的便宜,唯一一点就是C的移植性好。
如果认准了430做,汇编可能可以编出来更好的程序

C虽然容易上手,但是想编出来高性能的程序,需要对C语言的基础掌握的非常的好,而且要对IAR的编译器非常了解,这样才能知道自己编写的C生成的代码是最优化的。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

11
 
听了楼上几位的高见,鄙人真是获益匪浅哪!

C函数有类型限定的形参和返回值以及强制类型转换,还有格式化输出,发挥C的这些特长,再结合结构化程序设计技术,容易编出思路清晰、结构灵活、可移值性比较强的程序。汇编也可以满足上述要求,但相对来讲要复杂些。就象9、10楼的兄弟说的那样,如果开发者对MCU的硬件结构非常熟悉,汇编固有的与硬件结合紧密,且指令开销较小的长处将得会到充分体现。

如果在用汇编编程时养成多写注释的习惯,我想是很有益处的。

我还有一点关于汇编的看法,不知各位可否认同,那就是汇编的源代码隐藏性比较好,安全哪!

至于C430与汇编的代码效率这个问题,不知各位有何高见,还望不吝赐教喔!
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

12
 
到底是使用C或汇编,我想应该取决于项目要求的偏重点,以充分发挥二者的优势。比如项目中需要大量涉及到流程控制和浮点运算等,使用C要方便的多。但对存储空间紧张,对底层硬件操作频繁、复杂,同时对代码运行效率和实时行要求高的项目则适宜采用汇编。
另外,有的项目要求开发时限很短的话,同时开发者有一定C语言基础的话,还是用C来得快。
至于“汇编的源代码隐藏性比较好”我有不同看法,直接使用汇编进行编程,第三方通过反汇编容易解读。但用C写的程序编译后再反汇编,乱七八糟的很难读懂
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

13
 
搬凳子
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

14
 
写得不错啊,顶一下!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用:

到底是使用C或汇编,我想应该取决于项目要求的偏重点,以充分发挥二者的优势。比如项目中需要大量涉及到流程控制和浮点运算等,使用C要方便的多。但对存储空间紧张,对底层硬件操作频繁、复杂,同时对代码运行效率和实时行要求高的项目则适宜采用汇编。
另外,有的项目要求开发时限很短的话,同时开发者有一定C语言基础的话,还是用C来得快。
至于“汇编的源代码隐藏性比较好”我有不同看法,直接使用汇编进行编程,第三方通过反汇编容易解读。但用C写的程序编译后再反汇编,乱七八糟的很难读懂
呵呵,我说“汇编的源代码隐藏性比较好”,意思是对开发过程中防止代码被盗,或是项目结束后与老板打交道... ...
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

16
 
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

17
 
晕,上午写了好多,结果点回复,居然数据库错误!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

18
 
再写!
其实写东东的过程也是对知识的巩固过程
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

19
 
我在学MSP430F149芯片

还有一个问题是我是刚学430刚才见到这个帖子。第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片undefined机都是这样。

想按这个思路来练习。但是我有这样的问题。就是比如我想学练I/O端口。我是不是需要外接一个面包板从430FET上面接下线来这样组成电路,用MSP430F149和C语言来练习呢。?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

20
 
简单灌下水!
汇编写的代码执行效率比C高,比如430里执行16X16乘法运算,用C写要60多个时钟周期,而用汇编写30多个,少了一半。但C易上手,开发周期比汇编短。写的代码也容易读懂,易移植,在嵌入式领域现在大部分的程序都是用C写的,而且这是一个趋势。如果就初学者而论,我也是初学者,如果一开始就要我去学汇编,我肯定搞不懂。学了C,再看汇编,就好多了。以前用C写的程序为什么运行不对?看看汇编代码,就有种豁然开朗的感觉。我觉得要真正掌握C,就要懂汇编。C里难一点的申明,指针,看看生成的汇编代码,就容易掌握了。先学C,自然就想学汇编了。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表