Questions tagged «atmega328»

ATMega328是Arduino Uno的核心芯片。它也很受欢迎,可以用作创建自己的电路板的芯片。由于它具有通孔版本,因此可以轻松地将其放置在电路板上的电路板上。


4
我的Arduino死了还是仅仅是它的处理器?
我的Arduino有问题。我无法向其上载任何草图(这会给我带来错误avrdude: verification error; content mismatch),但是LED仍在闪烁。您是否认为整个Arduino已经死了,还是仅仅是芯片? 编辑:我尝试了另一条USB电缆,但没有改变。 编辑:这是上传时详细模式的输出: Taille binaire du croquis : 1 084 octets (d'un max de 32 256 octets) /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/cu.usbmodem641 -b115200 -D -Uflash:w:/var/folders/56/7b6d3xm14n31kjrw8609ywjw0000gn/T/build1168987322216849272.tmp/Blink.cpp.hex:i avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright …

4
对ATMega328P进行编程并在没有Arduino板的情况下使用
我想在我的项目中使用ATMega328P,但希望在没有Arduino板的情况下进行操作。 我知道我可以使用Arduino IDE和Arduino开发板对微控制器进行编程。但是,一旦我使用Arduino IDE + Arduino板对程序进行了编程和调试,是否有可能从Arduino板上拆下微控制器并单独使用ATMega328P,而无需使用该板? 如果是,我应该对ATMega328P做哪些其他配置才能在面包板上正常工作?

2
将ATmega328置于非常深的睡眠中并收听串行信号?
我研究了ATmega328的睡眠选项,并阅读了一些有关它的文章,我想了解是否还有更多选项。 因此,我希望获得尽可能低的电流,以便任何小于100uA的电流都是好的-只要我能听醒uart和中断即可。 我正在使用带有ATmega328p的定制PCB(不是UNO)。 将芯片设置为深度睡眠: set_sleep_mode (SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_cpu (); 根据与串行通信不会唤醒它,这个。 您需要将其置于IDLE模式下以侦听串行,但这会消耗几个mA -bad。 我找到了此链接,您可以在其中将该硬件串行连接到中断-这很危险,因此您可能会丢失数据,此外,我需要这两个中断引脚。 我还阅读了Gammon的这篇文章,您可以在其中禁用某些功能,以便以较低的功耗获得IDLE睡眠-但他没有提及您从中得到的准确程度: power_adc_disable(); power_spi_disable(); power_timer0_disable(); power_timer1_disable(); power_timer2_disable(); power_twi_disable(); 那么,最重要的是,在没有任何硬件操纵的情况下,是否有任何选择,至少可以获得小于0.25mA的电流,并且还可以监听串行端口?例如,唤醒长串行数据输入?

2
我得到了一个错误的ATmega328-PU。我该如何解决?
过去的某个时候,我使用Arduino IDE 在新一批的四个ATmega328-PU上刻录引导程序(注意328之后没有P-这是MCU的非微功耗版本,价格稍便宜,不要与ATmega328P-混淆)PU带有P),并且对来自avrdude的以下消息感到惊讶: avrdude: Device signature = 0x1e950F avrdude: Expected signature for ATMEGA328 is 1E 95 14 Double check chip, or use -F to override this check. 这意味着avrdude认为该芯片不是其标签上所说的。然后,我将Arduino IDE上的芯片类型更改为ATmega328P-PU,而avrdude毫无抱怨地烧掉了引导加载程序。这意味着该芯片被标记为一个MCU,而在内部它被标记为另一个,略有不同。 我想知道的是: 此事件有多罕见?有没有人有过类似的经历?(原始问题,题外) 有可能解决这个问题吗?如何修复签名,以便avrdude正确识别芯片? 这是EE.SE的交叉文章。我在这里发布了这个问题,但是并没有引起太多关注,所以我想看看我们社区中是否有人有类似的经历。
12 atmega328 


3
ATMega328P-PU和328P-AU
我打算基于Arduino PRO mini进行自己的arduino设计。我之所以选择此板而不是UNO,主要是因为与USB相比,它比UNO更简单,因为缺少了USB转串口部分。众所周知,MINI使用的是328P的SMD版本的328P-AU,但是由于AU版本对我来说太小,我想改用PU(UNO的芯片)。从数据表来看,唯一的不同是引脚位置的微小变化。一百万美元的问题是:这两个芯片有什么区别吗?如果我尝试仅将相同的设计用于PU模型,它将起作用吗?



2
带存储器的超轻型低功耗微控制器?
我已经使用arduino构建了几个项目。对于一个新项目,我想记录皮肤表面温度与时间的关系(每天可能只记录几次),以及其他容易获得的信息,例如电压。 我需要将所有东西都做得尽可能小巧轻便(因为这将测量小型哺乳动物的皮肤温度),即低于5克,如果可能的话,更轻,最好是3克(包括电池),以免使50- 100g动物太多。 我读到有可能通过摆脱电压调节器来改变arduino pro mini以使用更少的电流吗?但是也许完全改变并学习编程某人可能会推荐的另一种类型的微控制器更为明智?可能需要使用轻巧的纽扣电池或类似的轻巧电池直接操作它。(我也不确定如何为arduino pro mini找到重量轻的3.3V电池,我想它们已经存在,但到目前为止我只能找到3V电池)。如果它具有每隔几个小时即可保存温度的板载内存,可以稍后再下载,那将是理想的选择(如果有人对内存提出建议,我也很感兴趣)。我知道有可能购买“ Ibutton”

2
在Arduino系统上以8 MHz和3.3 V运行ATmega328P的含义是什么?
我正在研究一种自定义arduino,它将在3.3 V电压下运行,没有稳压器或USB芯片(用于功耗)。我听说以16 MHz / 3.3 V对芯片进行超频通常是可以的,但是无论如何我都希望保持在规格范围内。 第一:要以8 MHz的频率运行,我是否需要更换晶体?还是我还有什么需要做的? 第二:我是否需要进行任何代码更改以反映新速度?我在这个项目中使用串行,SPI和I2C连接,以及NilRTOS操作系统和millis / delay函数。这些都会被打破吗?代码运行会明显变慢吗? 第三:如何编程芯片?可以在Arduino Uno上以16 MHz进行编程,然后将其移植到自定义的arduino吗? 第四:功耗会在8 MHz时变化吗? 谢谢!
8 atmega328 

2
使用I2C刻录草图
确实不是一个纯粹的Arduino问题。我实际上正在使用独立的ATmega168。到目前为止,我一直在使用AVR-ISP编程器(在AVR Studio中工作)对芯片进行编程。完成所有操作后,芯片将被覆盖,我将只能访问I2C引脚。MISO,MOSI等引脚将无法连接。 我只是想知道是否有一种方法可以使用I2C引脚来更新芯片上刻录的程序。我不需要再次刻录引导加载程序,而仅在需要时更新程序。

1
我可以在5v板上编程3.3v芯片吗?
我前一阵子买了一个Gertboard,它具有的功能之一是ATMega328(DIP)。但是,由于Gertboard是为与Raspberry Pi一起使用而设计的,因此它只能在3.3v电压下运行,因此时钟速度被限制在〜12MHz。 但是,通过Raspberry Pi对其进行编程非常麻烦。相反,我想将芯片转移到Arduino Uno板上,以便可以从台式机上载草图。然后,我将其传输回Gertboard以进行正常操作。 问题是我的Uno工作在更典型的5v / 16MHz。 尝试这样做安全吗?我是否需要在IDE中进行任何配置更改以告知它考虑不同的时钟速度?

2
AVR-GCC的基本Makefile
我想制作一个用于为arduino编译c程序的makefile。我对make有点熟悉,但从未将其与avr-gcc一起使用。将命令放在makefile中的最简单方法是什么? $ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o led.o led.c $ avr-gcc -mmcu=atmega328p led.o -o led $ avr-objcopy -O ihex -R .eeprom led led.hex $ avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:led.hex
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.