一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: sunny20
收起左侧

[avr] 初学AVR单片机有感

[复制链接]
发表于 2014-10-12 13:45 | 显示全部楼层
大家都是高手只有我还是菜鸟一名
发表于 2014-10-12 15:11 | 显示全部楼层
写汇编比较耗精力,除非不得已才用。如果C效率足够的话,就没有必要用汇编。而且你汇编还得写的好才行
 楼主| 发表于 2014-10-12 16:00 | 显示全部楼层
文句子 发表于 2014-4-29 12:12
代码员很像装修工的:汇编是木柄小榔头,
C之类的就是电锤,

那木柄和电锤哪个贵?还有,电锤没电了看你怎么锤

点评

欲善其事必先利其器,放着好好的工具为什么不用?吃米饭是不是非得要先研究下如何种植水稻及水稻的分子结构?  发表于 2014-10-12 17:56
真幽默  发表于 2014-10-12 17:19
发表于 2014-10-12 17:43 | 显示全部楼层
不是人人都只想做把椅子的,这才是重点

这个杠抬得很无聊……,
你说没电就没电,你以为自己是谁啊
发表于 2014-10-13 20:55 | 显示全部楼层
51和AVR都是8位单片机,8位的MCU学了一遍又一遍有意思吗,真不知道为什么还要学习AVR,现在做项目谁还用AVR。
发表于 2014-10-13 23:44 | 显示全部楼层
gcc,移植,懂得这两个的意义,
换单片机,换编译器,换ide界面,都没什么关系。

老是说汇编,你在txt上敲的汇编并不是硬件cpu的最终机器实行代码。这个都是用编译器转换的。
代码思路是一样的,跟硬件无关,靠的是编译器转换机器代码,所以gcc,c++是通用的。靠编译器转成java也行。

你们总以为,for xxxx to 的代码比不上用汇编,其实是编译器的问题,而且普通的通用汇编指令,并不是特定cpu硬件里面最高效的运行指令。最高效的机器指令在官方的编译器里面吧。

不然你敲汇编出来,请你在64位cpu,8核/16线程,12核/24线程,gpu图行处理器,苹果的a7,a8处理器,运行四则运算看看。真的运行得起来?

Intel就有文档指出,用c++语言,使用Intel自己的编译器,可以转换成非常高效率的机器代码(类似汇编),最大效率执行cpu,连amd的cpu(没有Intel cpu的硬件指令)都可以提升一个档次,

发表于 2014-10-13 23:54 | 显示全部楼层
举例,用相同c++代码,编写运算代码,用普通编译器,在单核,n核,32/64位,cpu运算效率也许基本一样。但是用了Intel的增强编译器,可以识别出cpu的一级缓存,二级缓存,多线程,多核,这样,不同的cpu运算相同的c++代码,效率不一样。连在amd的cpu上效率都变得不一样....

如果你是用所谓的汇编机器代码,各种cpu的效率机器代码都不一样的,但运算思路一样,表现出c++代码是一模一样的,效率问题就交给编译器了。

如果你的c++代码思路可靠,编译后放在什么cpu上都可以运行,用不同的编译器效率不一样,如果是用汇编,说实话我没有试过。
发表于 2014-10-14 07:30 | 显示全部楼层
狗狗百里游 发表于 2014-10-13 23:54
举例,用相同c++代码,编写运算代码,用普通编译器,在单核,n核,32/64位,cpu运算效率也许基本一样。但是 ...

扯的远了,这里讨论单片机而非PC的MCU

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-21 17:53 , Processed in 0.051119 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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