EEPW论坛
网站首页
首页
特色版块
企业专区
电子DIY
活动通道
最新帖
技术SOS
签到
首页
STM32
电源与模拟
物联网技术
OpenVINO生态社区
Xilinx
STM32
GD32
ADI
TI
Linear
Microchip
Renesas
Cypress
Mouser
Burnon
我的四轴 DIY
键盘 DIY
树莓派DIY
功放 DIY
3D打印 DIY
智能车DIY
LightCube DIY
QuadCopter DIY
51 DIY
MCU DIY
FPGA DIY
ARM DIY
CPLD DIY
DSP DIY
拆解+DIY
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界
»
论坛首页
»
嵌入式开发
»
MCU
»
关于单片机的N多问题
共6条 1/1
1
跳转至
页
626364
关于单片机的N多问题
Melinda
工程师
2008-07-08 09:12:58
打赏
只看楼主
1楼
1. C语言和汇编语言在开发单片机时各有哪些优缺点?
回复
收藏
0
关键词:
关于
单片机
问题
626365
Melinda
工程师
2008-07-08 09:13:35
打赏
2楼
答
:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
评论
626366
Melinda
工程师
2008-07-08 09:13:53
打赏
3楼
2. C或汇编语言可以用于单片机,C++能吗?
评论
626367
Melinda
工程师
2008-07-08 09:14:06
打赏
4楼
答
:在单片机开发中,主要是汇编和C,没有用C++的。
评论
626368
Melinda
工程师
2008-07-08 09:14:21
打赏
5楼
3. 搞单片机开发,一定要会C吗?
评论
626374
Melinda
工程师
2008-07-08 09:32:29
打赏
6楼
答
:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。
评论
共6条 1/1
1
跳转至
页
回复
匿名不能发帖!请先 [
登陆
注册
]
发新帖
每日签到
有奖活动
2024齐鲁国际银龄产业博览会
请大声喊出:我要开发板!
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流!
奖!发布技术笔记,技术评测贴换取您心仪的礼品
打赏帖
【分享评测,赢取加热台】实际测试MCX-N947——PWM(Ctimer)
被打赏
50分
【分享评测,赢取加热台】MCX-N947PWM功能全方位解析
被打赏
20分
【换取手持数字示波器】红外触摸框及各类红外设备的工作原理
被打赏
20分
【换取手持数字示波器】+精英板驱动两相四线步进电机
被打赏
10分
【换取手持数字示波器】+精英板红外人体感应
被打赏
10分
【换取手持数字示波器】旋钮原理及代码实现
被打赏
5分
【换取手持数字示波器】电容式触摸按键工作原理及设计要点
被打赏
10分
【换取手持数字示波器】变阻器及各类类变阻器的工作原理介绍
被打赏
5分
【分享评测,赢取加热台】+ESP8266+Arduino驱动数码管模块显示
被打赏
30分
【分享评测,赢取加热台】+STC51单片机驱动240*240SPI显示屏
被打赏
30分
热门分类
STM32
MCU
通讯及无线技术
物联网技术
电子DIY
板卡试用
基础知识
软件与操作系统
我爱生活
小e食堂