Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >atmega32的优势

atmega32的优势
EN

Stack Overflow用户
提问于 2010-05-10 18:33:15
回答 6查看 10.6K关注 0票数 6

与其他微控制器相比,使用ATmega32有什么优势?它是否比PICARM8051更好

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-10 18:40:30

这要看情况。首先,你必须知道你想从微处理器得到什么。

一般而言:

图片:

  • 旧架构。这意味着它要么昂贵,要么速度慢
  • 只针对低端市场(<几兆赫)
  • 有很多为它编写的代码

手臂

  • Scalable
  • Fast/cheap

Atmega介于两者之间

票数 4
EN

Stack Overflow用户

发布于 2010-05-10 18:45:05

优势

  1. 仍然运行在5 V,所以传统的5 V填充接口更干净
  2. 即使它支持5 V,新的部件可以运行到1.8 V。
  3. 很好的指令集,非常好的指令吞吐量相比其他处理器(HCS08,PIC12/16/18).
  4. High质量的GCC端口(没有专有的劣质compilers!)
  5. "PA“变体有很好的睡眠模式能力,在micro-amperes.
  6. Well四舍五入的外围设备集
  7. QTouch

<代码>G217

Disadvantages

  1. 仍然是8位的。ARM是一个16/32位的主力,它将以比任何8位都高得多的时钟速度推送大量的数据。
  2. 成本。与HCS08或其他便宜的8位processors.
  3. GCC工具链相比可能很贵,但它有一些怪癖,比如分割内存模型和有限的16位pointers.
  4. Atmel不是地球上最好的供应商(至少它们不是Maxim...)

简而言之,他们是一个非常干净,易于与8位微控制器一起工作。

8051是传统的:工具是可以通过的,架构是奇怪的(idata?扩展数据?默认情况下,大多数编译器中的不可重入函数?)

PIC24之前的PIC也是奇怪的(寄存器存储)和糟糕的时钟->指令吞吐量。也没有一流的开源C编译器。

PIC32正在与ARM7TDMI和ARM Cortex-M3竞争,它们基于经过调整的MIPS核,并且有一个GCC端口(非主线)。

AVR32正在与Cortex-M3竞争,它提供了相当好的价值,特别是在低功耗领域。

MSP430是超低功耗设备的王者,并且有一个还可以通过的GCC端口(如果你的目标不是430X)。

HCS08非常便宜,但指令吞吐量很低。外围设备变化很大。

ARM曾经是一个成本较高的入门级产品,但随着Cortex-M3架构的引入,与8位相比,价格一直在下降。例如,LPC13xx系列在许多方面可以与ATmega32相媲美。Luminary (TI)拥有一套相当不错的外围设备。

票数 13
EN

Stack Overflow用户

发布于 2010-05-10 22:44:29

我发现PIC家族(在MIPS版本之前)拥有最痛苦的指令集,这意味着如果你想节省空间,获得性能,拥有控制权,汇编语言是首选语言。

8051没有那么痛苦,寄存器更多,但仍然需要几条指令才能做任何有用的事情(这意味着从MHz的角度来看,你不能将这些芯片与其他芯片进行比较)。我喜欢AVR在很多方面,他们拥抱自制和开发人员社区,或者如果不是直接的,有一个比竞争对手更好的开发人员家庭。我不喜欢这个指令集,但它比PIC和8051领先了几十年。我很喜欢MSP430指令集,它是最好的汇编指令集之一,虽然TI对开发人员不太友好,但它可能是一项艰巨的任务。eZ430是在正确的道路上,但goodfet更好,因为你不会让它无法在所有其他内核版本中工作。

就我而言,MSP430和ARM拥有最好的指令集,这导致了好的汇编器和好的编译器工具。你可以找到上述所有的商业工具,当然也可以找到8051、MSP430和ARM免费工具(MSP430和ARM可以使用GCC,8051不能,查找SDCC)。目前,mspgcc4.sf.net和CodeSourcery是用于MSP430和ARM的基于GCC的工具的位置。LLVM两者都支持,我能够让LLVM27在dhrystone test中击败最新的GCC,但这只是一个测试,LLVM在性能上落后了,但正在改进。

至于寻找和创建免费的交叉编译器,我认为LLVM已经是最容易获得和使用的了,未来它有望变得更好。遗憾的是,LLVM的MSP430端口只是我在下午的PowerPoint演示文稿中可以做的事情,而不是一个严肃的端口。

我的回答是,这取决于你在做什么,我建议你尝试所有这些方法。这些天,评估板在低于50美元的范围内,有些在低于30美元的范围内。甚至在ARM系列(ST、Atmel、Stellaris、LPC等)中也是如此有各种各样的功能和怪癖,只有当你尝试它们的时候才会发现。避免使用LPCexpresso、mbed2和STM32引物。一般情况下避免使用LPC,避免使用Cortex-M3,直到你在ARM7上剔除牙齿。看看Olimex和其他主板的SparkFun吧。虽然可能是LPC,但ARMmite PROArduino Pro是不错的选择。eZ430是一个好的MSP430开始,我不记得是谁制造了8051,Renasys (sp?),8051并不都是平等的,寄存器空间从一个到另一个不同,你必须为此做好准备。如果你想玩8051,我可能会找一个8051模拟器。

我看到AVT和ARM继续占据主导地位,我希望看到MSP430不仅仅是用于超低功耗。有了ARM、AVR和MSP430,你现在和将来都可以使用和习惯GCC的工具,这有很多好处即使GCC不是世界上最好的编译器,它也是迄今为止支持最好的编译器。我会避免专有的编译器和工具。我会寻找具有非专有编程接口的设备,这些接口是现场可编程的,JTAG是好的,但例如Cortex-M3上的新SWD JTAG就不好。TI MSP因此而受到伤害,但一些黑客已经解决了这个问题,至少目前是这样。关于PIC,我真的没什么好说的,也不会去尝试。一个重要的问题是粘合逻辑,部件或系列是否有SPII2C或您想要使用的任何总线,您是否需要内部上拉或布线或输入?

有些芯片就是没有这个选项,你必须添加外部硬件。你需要一个有条件的中断吗?ARM倾向于在这一点上获胜,因为它是许多人使用的核心,所以每个ARM供应商都提供了自己的I/O,所以您仍然可以生活在ARM世界中,有很多选择,相比之下,AVR和MSP将非常有限。有了ARM,这些工具将是最先进的,ARM是目前使用最多的处理器。AVR和MSP是特殊的项目插件,不太受广泛支持,也很脆弱。虽然ARM在SBC或计算机平台上与英特尔相比功耗较低,但它的功耗可能不如自动取款机或微处理器那么低。你真的需要看看你的项目,为这项工作选择合适的处理器,我不会也不会将自己限制在一个家庭。由于评估板很便宜,而且几乎所有的评估板都可以使用免费的工具,所以只需花几个晚上或周末来学习每个工具即可。我建议学习多个AVR,学习多个微处理器。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2805383

复制
相关文章
Ngnix如何处理http请求
nginx首先确定哪个服务器应处理该请求。让我们从一个简单的配置开始,其中所有三个虚拟服务器都在端口*:80上侦听:
星哥玩云
2022/08/08
9470
测试中如何处理 Http 请求?
不知道大家平时写单测时是怎么处理 网络请求 的,可能有的人会说:“把请求函数 Mock ,返回 Mock 结果就行了呀”。
写代码的海怪
2022/08/31
1.3K0
[CodeIgniter4]概述-处理 HTTP 请求
为了充分地使用 CodeIgniter,你需要对 HTTP 请求和响应的工作方式有基本的了解。对于所有想要成功的开发者来说, 理解 HTTP 背后的概念是 必须 的。
landv
2020/03/05
1.9K0
Http请求处理流程
我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net。他们耐心、细致地告诉你如何一步步拖放控件、设置控件属性、编写CodeBehind代码,以实现某个特定的功能。
张子阳
2018/09/27
1.3K0
Http请求处理流程
如何使用Java处理HTTP请求和响应?
Java中有许多成熟的HTTP框架可以使用,例如Spring、Netty等。这些框架提供了各种HTTP处理器和工具类,使得HTTP请求和响应处理变得更加容易和高效。下面是一个简单的Java代码示例,演示如何使用Java处理HTTP请求和响应:
用户1289394
2023/08/22
6540
如何使用Java处理HTTP请求和响应?
图解 Spring:HTTP 请求的处理流程与机制【1】
2003 年,老兵哥初到中兴开始研究生实习,Spring 就是那年诞生的,2004 年 3 月发布了 1.0 版本,到现在已经超过 15 年了。从单体式分层架构到云原生微服务架构,它稳坐在 JAVA 应用框架的头把交椅上从未被撼动,它给我们带来了巨大的价值,不仅可以降低开发难度,同时还可以提升开发效率。但时间这把杀猪刀不仅改变了老兵哥,也同样没放过 Spring,我们都变得越来越强大了。
IT老兵哥
2020/01/15
1K0
图解 Spring:HTTP 请求的处理流程与机制【1】
RxJS 处理多个Http请求
有时候进入某个页面时,我们需要从多个 API 获取数据然后进行页面显示。管理多个异步数据请求会比较困难,但我们可以借助 Angular Http 服务和 RxJS 库提供的功能来实现上述的功能。处理多个请求有多种方式,使用串行或并行的方式。
阿宝哥
2019/11/05
5.8K0
NodeJS源码解析--Node如何处理HTTP请求
看过我之前的写的文章的朋友们应该会知道,使用NodeJS创建一个HTTP服务器是非常简单的。我们写的一个个API中使用req来接收请求,使用res来响应请求。那么req/res参数从何而来?http的头部信息是如何进行创建呢?接下来我们来从源码角度分析:NodeJS究竟是如何处理一个HTTP请求。
创译科技
2019/07/10
2.2K0
NodeJS源码解析--Node如何处理HTTP请求
HTTP请求与响应处理
客户端向服务器端发送请求时,有时需要携带一些客户信息,客户信息需要通过请求参数的形式传递到服务器端,比如登录操作。
Qwe7
2022/04/22
8690
HTTP请求与响应处理
客户端向服务器端发送请求时,有时需要携带一些客户信息, 客户信息需要通过请求参数的形式传递到服务器端,比如登录操作。
清出于兰
2020/10/29
9490
HTTP请求与响应处理
Influxdb的Http请求处理流程
3.4 关键函数之s.serverTCP(),使用之前初始化的listener和handler启动真正的http服务
扫帚的影子
2018/12/13
1.1K0
HTTP跨域请求后台处理
字面意思就是从Y域中去Http请求X域的后台,但是请求反馈的资源的Http头中没有包含'Access-Control-Allow-Origin'内容,什么意思呢?
Cloudox
2021/11/23
7850
【http 请求返回状态码 500 】 Spring Boot 模拟http请求「建议收藏」
最近弄的项目中要求给另外一个服务器传送数据,预定是用http的方式,在开始动手之前我打算用Spring Boot模拟下服务器之间的请求
全栈程序员站长
2022/08/31
3.3K0
【http 请求返回状态码 500 】 Spring Boot 模拟http请求「建议收藏」
面试官:tomcat是如何处理http请求的?
因为tomcat实现了Servlet规范,所以我们得掌握什么是Servlet?什么是Servlet规范? 什么是Servlet呢? Servlet是JavaEE规范的一种,主要是为了扩展Java作为W
田维常
2021/01/28
9000
Fiddler怎么抓取Net程序内部的Http请求包
(Fiddler是通过在本机计算器添加一个默认的代理服务器来实现的抓包数据的,端口号为:8888)
西柚dzh
2022/06/09
9260
Fiddler怎么抓取Net程序内部的Http请求包
python 3 处理HTTP 请求的包
http: https://docs.python.org/3/library/http.html
py3study
2020/01/03
1.2K0
Python处理HTTP请求之requests指北
如果你需要在Python中进行HTTP请求的处理,有很多种方式可以使用。比较原始的有Python的内置库urllib、也有比较高级一点的第三方模块aiohttp。
州的先生
2020/09/16
3.7K0
Python处理HTTP请求之requests指北
4 OpenResty & Lua 处理各类Http请求
测试有不同的结果,form-data数据是混乱的,x-www-form-urlencoded才是正常的!
收心
2022/08/24
1.9K0
4 OpenResty & Lua 处理各类Http请求
HTTP请求的11个处理阶段
摘自 陶辉 深入理解Nginx 几乎所以有关Nginx书只要是讲深入点的就会讲到Nginx请求的11个处理阶段,要记住这些真是不易,人脑特别不擅长记住各种东西,只能做些索引罢了,能做到知道这个知识点在哪儿能找到不就行了,可是你去面试还是问这些理论,所以这里汇总下记录如下 ngx_http_phases阶段定义 typedef enum { // 在接收到完整的HTTP头部后处理的HTTP阶段 NGX_HTTP_POST_READ_PHASE = 0, /*在将请求的URI与l
三杯水Plus
2019/03/14
5960
点击加载更多

相似问题

如何在Spring中处理HTTP选项请求?

31

用tomcat和spring异步处理http请求

12

Spring boot同时处理http和HTTPS请求

20

如何在Spring中分析复杂的http请求处理?

30

Spring Boot Web:停止当前http请求处理

1163
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文