Questions tagged «avr»

AVR是Atmel开发的8位和32位微控制器内核。AVR被选为流行的Arduino SBC的微控制器。

3
从PIC切换到AVR [关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我已经与PIC16和PIC18一起工作了三年多,并且也想了解AVR。我没有特定的项目,但想尝试使用不同的体系结构。我想获得有关PIC和AVR的兼容性报告。 uC的软件 我熟悉PIC16和PIC18的Assembly和C。AVR微控制器的Assembly和C变体与PIC变体有何不同?有很多区别吗? PC的软件 我需要为AVR芯片编译和组装程序的什么软件?它是免费的,我可以在哪里下载? 编程硬件 我已经使用VOTI的Wisp648对PIC进行编程,但是该板无法对AVR进行编程。我是否必须购买程序员,或者网络上有任何我可以自行构建的电路? uC的硬件 对于PIC,我已经使用了很多PIC18F4620。我正在寻找具有类似功能的AVR。我喜欢的功能有: 内部振荡器 计时器 5V和3.3V版本 ADC 具有I2C和SPI支持的MSSP (E)USART 脉宽调制 许多I / O针脚 > = 32kB程序存储器,> = 2kB RAM DIP包装 哪种AVR芯片具有相同的功能?该软件包是一个交易突破者,我真的想要DIP,PDIP或SPDIP。具有类似功能的AVR是什么? SPI和I2C变种 有人告诉我Microchip在SPI和I2C协议上有自己的变种。我经常将微芯片的SPI和I2C从器件与PIC结合使用。我可以将这些芯片(23K256,RTC,ENC28J60等)与AVR结合使用吗?除此之外,是否可以使用I2C或SPI链接AVR和PIC芯片?

4
AVR SEI指令
AVR SEI指令(http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_SEI.html)在允许中断之前等待下一条指令完成。 如果我使用另一条指令在SREG中设置I标志,这还会等待1条指令吗? 换句话说:等待是SEI指令或状态寄存器的功能吗? 如果它是SEI指令的功能,那么在执行SEI的周期中或与下一条指令一起在哪一点实际设置该标志?

3
非制造商的微控制器选择地点?
我正在寻找一个可以输入所需微控制器特性的站点。我已经找到了制造商的网站...但是那些只会显示他们的微控制器。 IE有一个用于PICS的站点和一个用于AVR的站点,但是我正在寻找一个可以从所有制造商那里选择可能性的站点,除了它只是在黑暗中运行...


4
从深度睡眠模式中唤醒
大多数微控制器(例如AVR,MSP430,PIC等)都支持许多不同的睡眠模式。“最深”的睡眠模式声称功耗最低(例如“掉电”,“关闭”),但是所有时钟系统通常都在这些模式下停止运行,在我看来,唯一的方法是“ “唤醒”是通过外部刺激(例如,引脚更改中断,芯片复位)。我想念什么吗?是否有极低功耗的方法为MCU生成定期唤醒信号? 假设我的目标是最大程度地降低功耗(即,尽可能长时间地睡眠,尽可能短时间保持清醒),同时定期唤醒执行功能,实现这种行为的常用方法是什么?为了进一步简化问题,让我们假设我的函数是无状态的(执行该函数,我不必记住过去的任何内容)。 我在MSP430上使用WDT取得了一些成功。我只是以我的主要例程为函数,最后一行使看门狗定时器在一定时间后到期,并进入LPM4.5或称为“深度睡眠”模式的任何内容。最终结果是执行了该功能,MCU进入睡眠状态,WDT到期,并且芯片复位,令人作呕。似乎可以正常工作,只是想知道是否有“更好”,“更优雅”或“更节能”的方式来获得这种行为? 我还没有在AVR上尝试过这种方法,但是我认为WDT在AVR中比在MSP430上更“耗电”,因此对于低功耗工作可能没有吸引力。也许没有一种“通用”的低功耗方法,您必须使用给定产品线提供的工具吗?我知道新的picoPower系列具有许多事件处理系统和睡眠行走等超凡脱俗的功能,在某些情况下,如果您可以使应用程序适合该结构,则几乎不需要CPU处于唤醒状态。 够我流浪了,在这里让您不得不说:) 编辑 说明技术的具体示例也很酷!

4
哈佛架构如何提供帮助?
我在读关于arduino和AVR架构的文章时,被困在一个问题上,即如何通过AVR中的哈佛架构引入来解决管道停顿或冒泡的问题。我的意思是哈佛所做的只是为数据存储器和程序存储器提供不同的存储位置。可以在没有操作员的情况下加载程序,但是如何解决上述问题呢?

6
在嵌入式系统中使用中断时避免全局变量
对于避免全局变量的嵌入式系统,是否有一种在ISR与程序其余部分之间实现通信的好方法? 似乎一般的模式是要有一个在ISR和程序的其余部分之间共享并用作标志的全局变量,但是这种全局变量的使用对我而言是不利的。我提供了一个使用avr-libc样式ISR的简单示例: volatile uint8_t flag; int main() { ... if (flag == 1) { ... } ... } ISR(...) { ... flag = 1; ... } 我看不到本质上是一个范围界定问题。当然,ISR和程序其余部分都可以访问的任何变量必须固有地是全局的?尽管如此,我经常看到人们说的是“全局变量是实现ISR与程序其余部分之间通信的一种方式 ”(强调我的意思),这似乎暗示着还有其他方法。如果还有其他方法,那是什么?

3
突然断开Arduino电源安全吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 去年关闭。 如果我有Arduino,可以在不破坏电源的情况下突然打开和关闭电源吗?如果我要设计一个带有开/关开关的产品,我是否需要在关闭电源之前加入一个延时,以便微控制器可以进行某种干净的关闭?还是仅将SPST开关连接到Arduino的电源线就可以了吗? (通过设计产品,我的意思是在带有其他组件的定制板上独立使用带有Arduino代码的ATmega。) 编辑:通过Arduino,我只是想刷新Arduino引导加载程序,以便可以在Arduino而不是AVR中进行编程。我要使用的芯片是Atmel atmega328P,我不需要使用任何EEPROM。
12 arduino  power  avr 


6
批评我的第一个原理图?
为了练习设计原理图(并可能制作原理图),我已经设计了一个基于AVR的简单闪光灯,并假设它已经预先编程。原理图在这里: 我已经看到了许多类似Atmega / arduino的原理图,它们都有很大的不同,有些将去耦电容器分开放置(我试图查看它的外观),将晶体放下,因为我必须更容易地定义电容器,甚至将其分离到网在一起。 在这种情况下,这里的电池是电池座,它们具有自己定义的pcb尺寸。 我的主要问题是:对于该领域的专业人员来说,我的原理图是什么样的?忽略可能很细微的东西(PE不是GND?但是看起来唯一的符号是难闻的东西),它看起来像是可发布的示意图吗? 我已经考虑过将去耦盖放在电池盒的右侧,尽管不确定是否要从中取下(4列组件!)或只是添加它,因为这非常简单。你的批评是什么? 更新资料 我已经完成了电源,并清理了许多文本和连接(可能是缩略图,您可以直接查看图像以放大图像。) 我相信我已经修复了一些简单的问题,例如上拉电阻。 我不确定该文本是否应该在任何特定的地方(我已将其放置在“ info”层中,以防止变绿并放置在适当的位置),并且我相信标记电源只是主板的必要条件很明显。 我可能需要尝试设置网络,以便将电源连接到+ 5V导轨,但是PCB视图中可能已经存在许多ERC / DRC错误,因此我将在下一个内容中进行探讨。 我还发现可以将其导出为单色图像,并且它消除了所有位置指示器/网格和其他噪音。我很满意 有什么突出的吗?
12 avr  schematics 

2
将以太网连接到AVR
我对微控制器非常熟悉,现在想将其连接到互联网。微控制器能够做到这一点的最低要求是什么,如果可能的话,特别是AVR。其次,还需要什么?我读到有关以太网控制器的信息,但是我不确定到底是做什么的以及如何与micocontroller接口。 使微型控制器在线(没有Arduino防护板)需要哪些组件?
12 avr  ethernet 

2
我的该AVR的理论功耗是否正确?
受到基于ATMEGA 168的简单黑暗警报的启发,该警报在使用睡眠模式的电池上理论上的使用寿命为3年,我决定做出与自己类似的事情(唤醒警报,使用振荡器的精度大致不错,而不是光) 我的困惑在于电池寿命的计算方式(请参阅“电池实时时间计算”部分),因此我决定自己计算。 掉电模式下的AVR显然为1.8V,消耗0.1µA电流。在活动模式下,假设外部振荡器为1MHz,则为250µA(此处为数据表)。 现在,一些(也许是理想的)AA电池将具有1200 mAh,因此 1200 / 0.001 / 24 / 365 = ~137 years standby life time 1200 / 0.250 / 24 / 365 = ~0.5 years active life time 假设我的压电蜂鸣器+ 10k串联电阻总共需要5 mA,我可以按小时平均计算电流使用量 5mA * 10 (second alarm)? / 6 (intervals of 10) / 60 (in to hours) …
12 power  avr  batteries  timer 

5
“超频” AVR
在“ AVR数据表”的“电气特性”部分下,您通常会找到如下图(此图来自ATMega328): 我见过的设计似乎可以“工作”,但可以在阴影包围的信封之外工作。具体来说,我看过3.3V(Arduino)设计可通过外部16MHz晶振运行时钟。显然,这是不合规格的。在这个范围之外奔跑会带来哪些实际的负面后果?

8
Arduino有装配体吗?
自从我涉足微处理业务以来,由于可用资源众多,我决定选择Atmel AVR。而且Arduino似乎也有很多,更不用说他们的入门套件似乎更“像我一样” 问题是我想先在Assembly中学习它,然后去C / C ++或带Arduino的用途,但是我听说Arduino不接受AVR组装?这是真的?他们有什么办法吗? 谢谢 编辑:我会去与ATMEL STK500,但是..第一次看它看起来很复杂吗?有什么原因使我不能仅仅获得8位AVR并将其放在试验板上并以这种方式进行试验?(我想我必须弄清楚如何将它们作为接口...) edit2:这就是我的想法 http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193
12 arduino  avr  assembly 

3
我如何计划AVR的电路编程?
我对AVR进行重新编程的常用方法(到目前为止仅限于ATtiny13和ATtiny2313)是将芯片与主机电路断开连接,将其插入所有ICSP连接器就位的另一面包板上,进行编程,然后进行更换。但是,我不断听到有人可以对芯片进行编程(据我了解,这是ICSP的全部内容)。 在对芯片进行原位编程之前,是否需要考虑任何特殊的硬件考虑?例如,我担心ICSP过程可能会损坏连接到用于ICSP的相同AVR引脚的电路组件。是否偶尔需要添加二极管或其他某种缓冲来保护这些组件? 我知道这个问题听起来很模糊,但我想是的-但由于我对更一般的经验法则感兴趣,因此我没有提供特定电路的详细信息。即,您不必担心这一点,还是答案真的取决于MCU所属于的特定电路?
12 avr  isp 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.