Questions tagged «avr»

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

8
建议使用小型方便的连接器进行在线编程?
我有许多使用SMD封装的AVR的PCB,并且由于我经常更改原型板上的固件,因此我试图提供最佳的解决方案,以快速,轻松地对AVR进行编程。 第一种方法是在板上有一个标准接头(2x5针,.1“),但是由于它们很庞大(对于我要处理的板的尺寸),我开始只接触孔而无需焊接头,然后用钳子弯曲头的针脚,这样我就可以将其“插入”板子了,虽然不是最佳解决方案,但它确实有效。 下一步是使用金手指(例如,板的一个边缘将暴露一些接触,就像那些旧的ISA板一样,但是当然只有几个接触)。问题是董事会成本增加,并且仍然使用大量的“房地产”。 关于小型+廉价+清洁替代品的任何建议?理想情况下,无需在板上焊接任何东西(如金手指)。我在考虑的是板上的一些小触点,也许还有两个对齐孔,如果有一个可以安装在其中的连接器,并且在编程完成后以某种方式保持在原位。 顺便说一句,尽管标准连接器有10个插针,但仅需要6个插针。
21 pcb  avr  connector 

5
ATMega8:为什么必须连接VCC和AVCC?
我经常读到,将VCC与AVCC连接是一种好习惯。即使在ATMega8数据表中也是如此: AVCC是A / D转换器,端口C(3..0)和ADC(7..6)的电源电压引脚。即使不使用ADC,它也应从外部连接到VCC。如果使用ADC,则应通过低通滤波器将其连接到VCC。请注意,端口C(5..4)使用数字电源电压VCC。 但是我无处可寻地解释为什么必须将它们连接起来。无需连接VCC和AVCC即可使LED闪烁的简单电路。 我只需要接受它,还是有充分的理由?
20 avr  atmega  basic 


5
如何在ATmega16上读取数字输入?
要读取ATmega16上的数字输入(按钮),我该怎么办?我必须启用上拉电阻还是可以使用10 kohm电阻?一些简单的代码是什么?只需简单的“在按下时打开LED指示灯”即可。 有初学者的教程吗?我曾尝试使用谷歌搜索和AVR Freaks,但是所有事情都演变成一场战斗,我没有得到答案。我真的还没有找到关于这些东西的任何教程。大量的特定信息,但是关于我的AVR微控制器却并非如此简单...
18 avr  atmega 

9
理想的WiFi到串行(或SPI)桥接器?
关于理想的WiFi到串行网桥有哪些建议?我的理想品质是: 简单的连接,SPI或串行 合理的快速速度,理想情况下至少为1mbit / sec(尽管可能并不总是需要那么快) 价格不贵,我想不到50美元 低功耗-如果我们可以将其降低到20或30ma甚至更低,它应该最多使用100mA。 内置协议栈-我希望它处理WiFi协议以及DHCP,TCP / IP,DNS等,因此我要做的就是告诉它要连接的IP /端口,然后处理数据自己。 如果可能的话,可以使用5V耐压I / O,以便轻松连接到我们老式的微控制器。 到目前为止,我发现: 火柴盒b / g Rovingnetworks Wi-Fi模块 任何人都有其他可能性的经验吗?
18 serial  avr  pic  wifi  wireless 

6
将ATMega328与内部振荡器一起使用?
我有一个我认为最适合ATMega328P的项目。但是,在我见过的每个简单项目中,人们总是连接一个16MHz的外部振荡器。从我所看到的,它应该有一个8MHz的内部振荡器。我的项目不需要大量的处理能力,时序也不需要非常精确(除了UART和I2C)。我也有一个程序员,所以我不必担心引导程序。 我是否有理由使用外部振荡器?
18 avr  atmega  oscillator  clock 

3
像普通的ISR一样使用AVR看门狗
我试图把头放在ATTinyX5系列的看门狗定时器上。因此,我读过的东西似乎使您可以使用它使程序在N秒内执行特定的操作,但从未真正展示过如何执行。其他人则认为它只会重置芯片,除非同时进行代码重置(这似乎是“正常”用法)。 有没有像TIMER1_COMPA_vect或类似方法那样使用WDT的方法。我注意到它有一个1秒的超时模式,我真的很想能够使用它使代码中的每1秒发生一次(并且最好在两者之间休眠)。 有什么想法吗? * 更新:*自从被询问以来,我指的是ATTinyX5数据表的 8.4节。不是我完全理解它,这是我的问题...
17 avr  attiny  watchdog 

1
AVR 1.1V内部ADC参考过压
如果我对ADC使用内部1.1V基准电压,而我的模拟输入超过1.1V(比如说2.5V),这对我的微控制器有害吗?还是将ADC值简单地在1.1V时钳位(至0x3FF)? 为方便起见,我附上了ATMega328数据表的摘录框图。

3
从C到汇编
假设对于avr-8bit,我们具有以下C代码: int v1=1; int v2=2; v2=v2+v1; 我期望以下拆卸 ldi r18, 1; ldi r19, 2; add r19, r18; 但是我跑了之后: avr-gcc -mmcu=atmega2560 Test.c -o Test.elf 和 avr-objdump -S Test.elf > Test.lss 我得到以下拆卸 ldi r24, 0x01 ; 1 ldi r25, 0x00 ; 0 std Y+2, r25 ; 0x02 std Y+1, r24 ; 0x01 ldi …
16 avr  c  assembly 

4
是否可以使用AVR ISP编程器对PIC芯片进行编程?
我想尝试对PIC芯片进行编程,然后看它与AVR相比有多少不同。我有一个AVRtinyISP,想知道是否可以使用它来对PIC芯片进行编程?这样做会限制我什么? 当今的AVR和PIC芯片都具有用于程序上传的ICSP接口,并使用显然兼容的引脚分配进行编程(PIC曾经需要提供更高的电压来对其进行编程,但较新的芯片不再需要它了)。 所以我的问题是:是否可以使用AVR ISP编程器(例如AVRtinyISP或AVR ISP MkII)对PIC芯片进行远程编程? 有没有人尝试过? 如果不可能或太难,那么有什么局限性?使用的协议是什么,引脚排列不完全匹配,电压/电流额定值等等?反之亦然,例如使用PICKit克隆对AVR芯片编程是否有可能?要使所有这些变为可能需要进行哪些修改?
16 avr  pic  programmer  isp  pickit 

2
为什么ATtiny26的VCC / GND引脚不对齐?
在下面的ATtiny26微控制器20引脚IC的引脚排列图中: VCC / AVCC和GND引脚未对齐。毫无疑问,PCB设计通过直通而不是必须交叉(需要过孔,第二层或复杂的布线)将它们连接起来会更容易。 为什么这些引脚会这样切换?
15 avr  routing  pinout 

2
防止AVR闪存通过ISP读取?
我正在尝试保护整个闪存免于通过ISP读取。它具有引导程序,能够自编程应用程序部分。 将锁定字节设置为: LB1/LB2 不会让用户使用引导加载程序上传新固件。 BLB12/BLB11BLB01&BLB02如果我没有记错的话,也不会阻止通过ISP读取闪存。 因此,有没有办法让用户通过自定义引导加载程序更新固件并保护闪存不被同时读取?
15 avr  atmega  protection 

2
AVR复位引脚隔离应使用哪些电阻和电容值?
背景... 我是AVR应用程序的新手。我最近建立了两个基于ATTINY13的电路(发光的LED指示灯),这些电路在面包板上正确(独立地)工作。当我将它们结合在具有共享电源的焊料挡板上时,事情就一团糟了。经过大量调查,看来他们一直在重置。 我没有连接每个微型的引脚1(复位)。我研究了处理复位引脚的正确方法,并从中实现了以下内容: 在电源上并联了一个100uF电解电容器,以帮助吸收任何潜在的电流,电源将太“慢”以致无法处理。 增加了一个4.7K电阻从VCC到RESET 加入0.1uF的陶瓷电容器从GND至RESET 这些步骤完全解决了问题。 问题: 我上面链接的页面正在提供我尚未做的ISP(系统内编程)时的建议。(我正在分别对微控制器进行编程,而没有其他组件与其连接。) 我已经看到电容器(10nF,0.1uF等)和电阻(4.7K,10K等)的几个不同值,并且不确定是什么因素改变了这些值。谁能阐明复位引脚隔离的工作原理以及如何计算要使用的组件值?如果没有系统内编程标头,您能解释使用哪些值?
15 avr  isolation  reset 

1
V-USB如何固定ATmega328p的内置SPI?
我正在研究一个V-USB项目,该项目使用ATmega328p显示为键盘。USB部分运行良好(这不是我的第一个V-USB项目),但是当我使用来启动V-USB堆栈后usbInit(),对SD卡库的所有调用都会失败。如果我之前调用过相同的函数usbInit(),那么一切都将完美运行。 我使用了一个名为Diavolino的Arduino克隆,但没有Arduino /接线框架。我将USB连接到数字I / O 2和3,将SD卡连接到10-13(内置SPI线)。 我浏览了SD卡库,发现除了之外没有使用任何中断或寄存器的迹象SPxx。我也grep想过V-USB代码,但它甚至没有触及SPxx寄存器。 问题的第一个迹象是当设备应该访问SD卡时断开连接时。然后,我将usbPoll()其wdt_reset()调用到所有SD卡处理循环中,发现在写入的情况下,卡发送完最后两个字节(CRC-16)后将永远等待卡的确认。 我使用的SD卡库是sd_rawRoland Riegel提供的。
14 avr  atmega  spi  usb-device  sd 

3
8位MCU的C整数提升
以avr-gcc为例,将int类型指定为16位宽。在C中对8位操作数执行运算会导致由于C中的整数提升而将这些操作数转换为16位int类型。这是否意味着如果用C编写,则AVR上的所有8位算术运算都将比在C中编写的时间长得多。是否由于C的整数提升而以汇编形式编写?
14 microcontroller  avr  c 

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.