Questions tagged «avr»

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

3
更快的处理器/时钟可以执行更多代码吗?
我正在编写一个程序,以在以16Mhz运行的ATmega 328上运行(如果您知道的话,它是Arduino Duemilanove,它是AVR芯片)。 我有一个中断进程每100微秒运行一次。我想说,不可能计算出可以在100微秒的一个循环中执行多少“代码”(我正在用C编写,想必它会转换为汇编然后转换为二进制图像?)。 同样,这将取决于代码的复杂性(例如,一根巨大的衬板的运行速度可能比几条短线慢)。 我的理解是正确的,因为我的时钟速率为16Mhz的处理器每秒执行1600万个周期(这意味着每微秒16个周期为16,000,000 / 1,000 / 1,000);因此,如果我想在100微秒的循环中做更多的事情,那么购买更快的模型(例如72Mhz版本)会给我每微秒72个周期(72,000,000 / 1,000 / 1,000)? 目前,它的运行速度有点太慢,也就是说,它花费了不到100微秒的时间来完成循环(确切地说很难说多长时间,但是逐渐落后了),我希望它做得更多。这是获得更快芯片的理智方法,还是我发疯了?

2
AVR微控制器以及如何开始编写init或main循环或计时器或中断的代码
几年来,我一直在修改AVR和PIC微控制器的代码以进行工作,但从未从头开始编写任何东西,我非常了解。 我现在开始编写自己的代码,开始上手也很麻烦。我想知道其他人是如何开始编写代码的,是否有人推荐这本书或教程。 您是从编写初始化函数开始,然后是中断,然后是计时器,然后是主要的while(1)循环吗?我想知道最好的入门方法是什么。 谢谢
9 avr  pic 

5
ATTiny13 — avr-gcc Hello World使用超过100个字节吗?
我正在尝试为ATTiny13编写程序。我的问题是它具有巨大的尺寸约束。好了,制作我的第一个Hello World程序时,只花了100个字节的程序空间就可以打开和关闭灯!我可以给avr-gcc提供任何选择来缩小此大小吗?另外,crt0中包含什么?我不太喜欢AVR组装,所以我不太了解。 我不想为这个项目而去组装。

5
从带有ATmega32的嵌入式C(ATmega AVR系列)开始
我周围有一块ATmega32板,我认为从微控制器开始是完美的。我曾经在嵌入式C中做过些小事(那是在我获得此板时),但是由于某些原因,流程停止了。现在我有两个问题: 对于AVR系列,以C开始的最佳免费资源是什么。我知道AVR-GCC,但正在寻找一些入门指南或免费书籍。 我应该直接跳到C还是先通过ASM?我看到周围有很多asm书。那么什么是更好的选择? 在Internet上搜索时,我在http://retrointerface.com/?p=30上找到了ATmega32的Arduino引导加载程序,但问题是我不愿对保险丝位和所有器件进行修补。这样做安全吗?
9 avr  atmega  books  c 

3
在AVR / Arduino上保护代码并交付更新
保护闪存到任何基于AVR的设备的代码免受逆向工程的最佳方法是什么? 有什么简单的方法可以向最终用户提供更新,使其自己闪烁而不公开代码?(它是使用引导加载程序来解密加密的映像吗?) 不要因为推广DRM而惹怒我,我赞成开放平台-我只是很好奇这将如何工作。

1
易于控制的彩色LCD,用于爱好项目?
我正在寻找一些不太昂贵,易于控制的彩色图形LCD,将来可以与AVR微控制器或ARM一起用于各种爱好项目。越便宜越好,但是我希望能够通过串行连接或低速并行连接来控制它。有些LCD需要多个MHz并行控制信号才能单独驱动每个像素,我可能无法通过单个AVR来解决这一问题。不幸的是,这排除了诸如替换Nintendo DS LCD之类的超廉价LCD或其他产品。您个人使用过和喜欢的LCD上的建议将特别受到赞赏。谢谢。
9 avr  lcd  display 

5
用Arduino控制75个LED的最佳方法
我需要控制25组3个LED或25个RGB LED。每组将被从uC解散最多20厘米(约8英寸)。20厘米是非常安全的假设,但我认为它将不超过10厘米。 但是,我认为即使是5厘米,也很难以矩阵方式创建,因此我认为使用MAX7219 likie IC(http://www.arduino.cc/playground/Main/MAX72XXHardware)并不是最好的主意。 我可能会使用移位寄存器(http://www.arduino.cc/en/Tutorial/ShiftOut)。我可以连接多个74HC595或使用STP16C596之类的东西。 我更喜欢STP16C596,但它们已过时。我找到了SCT2026(http://zefiryn.tme.pl/dok/a04/sct2026.pdf),但我不确定这是正确的选择。 还有一张便条。我当前的项目只需要对每个组进行“ 2位控制”(3个LED熄灭,或者只选择并打开其中的一个LED),但是我认为这不会使我的项目变得更容易或更便宜,也可以通过单独控制每个LED来实现。更改时具有更大的灵活性。 哪种解决方案最适合我的要求。 如果零件可以在这家商店中买到,那就太好了-http://www.tme.eu/en/katalog/?&page = 1,20#main或http://eu.mouser.com/(但我更喜欢第一)。
9 arduino  led  driver  avr 

2
如何重新设计电路以使用电流吸收IC而不是电流源IC
作为hexapod机器人项目的一部分,我正在构建一个串行伺服控制器以了解电子学和汇编语言。相当早的时候,我决定需要比当时支持的ATTiny2313更多的I / O通道,因此我研究了一些3-8线解复用器芯片(CD74HCT238E),这些芯片使我能够创建64通道PWM伺服器控制器只有8个I / O引脚用于PWM通道和3条地址线。 无论如何。我还购买了一些CD74HCT138E,它们的低电平有效而不是高电平CD74HCT238E。我原则上理解我正在使用的电流源芯片和电流吸收芯片之间的差异,但是我真的不知道如何调整电路以使用电流源芯片代替电流源芯片。 高电平有源芯片的原理图如下: 将CD74HCT238E换成CD74HCT138E,我需要更改什么? 请注意,提出这个问题的原因是我错误地购买了一管低电压有源IC,并且我对使用它们所需的原理图和电路设计要复杂得多感到好奇。

2
PIC12F675 GP4不起作用
我正在为一个项目使用PIC12F675,除一件事情外,其他所有东西都工作正常。GP4不能用作数字IO。我已经看了很多配置和代码,但是找不到任何东西。 配置: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF 码: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

3
读取端口和PIN的区别
读PORTA和PINA有什么区别?端口与其引脚之间的关系是什么?我真的很困惑!!! 读取端口的示例:(读取引脚在这里没有用) 装配f = 1MHZ ATmega8我需要每1ms对PORTB进行一次补充(占空比= 50%) LDI R16,$FF OUT DDRB,R16 MAIN: LDI R16,00 DELAY:CPI R16,200 BREQ LOOP INC R16 RJMP DELAY loop:IN R17,PORTB COM R17 OUT PORTB,R17 OUT R17,PORTB RJMP MAIN

2
ATtiny13A-无法使用CTC模式生成软件PWM
我正在尝试使用ATtiny13A制作遥控RGB LED灯。 我知道ATtiny85更适合于此目的,并且我知道我最终可能无法适应整个代码,但是现在我主要关心的是使用CTC模式下的中断生成软件PWM。 我不能在任何其它模式中操作(除了用快速PWM OCR0A作为TOP这基本上是相同的东西),因为我使用的IR接收器的代码需要它产生使用四氯化碳和38 kHz的频率OCR0A=122。 因此,我试图(并且我已经在互联网上看到人们提到了这一点)使用Output Compare A和Output Compare B中断来生成软件PWM。 OCR0A,IR代码也使用,它确定频率,我不在乎。并且OCR0B,确定将用于更改LED颜色的PWM的占空比。 我期待能够通过改变来获得具有0-100%占空比的PWM OCR0B从价值0到OCR0A。这是我对应该发生的事情的理解: 但是实际上是这样的(这是来自Proteus ISIS仿真): 正如您在下面看到的那样,我能够获得大约25%-75%的占空比,但是对于〜0-25%和〜75-100%,波形只是被卡住了并且不会改变。 黄线:硬件PWM 红线:具有固定占空比的软件PWM 绿线:占空比变化的软件PWM 这是我的代码: #ifndef F_CPU #define F_CPU (9600000UL) // 9.6 MHz #endif #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> int main(void) { cli(); TCCR0A = 0x00; // Init to zero TCCR0B = 0x00; …
8 avr  pwm  interrupts  attiny 


6
有一个带有16MB Ram的微控制器吗?
这是我的情况: 作为个人项目,我希望为在AVR上运行的Sega Megadrive(Sega Genesis)编写一个模拟器。因此,我一直在寻找一种具有与MegaDrive随附的Motorola 68k相似的特性的微控制器。但是,我注意到68k的规格与大多数业余爱好者的micros相比。我选择AVR而不是ARM,因为我喜欢该体系结构,并认为这将是一个很好的挑战。 M68K: 32-bit CPU 16-bit data bus Up to 20 MHz 16 MB RAM No I/O ports 这是Arduino Leonardo的规格: Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 20 PWM Channels 7 Analog Input Channels 12 DC Current per I/O Pin 40 mA DC …
8 avr  design 

1
AVR:超频ADC
这是来自ATmega32数据表的报价: By default, the successive approximation circuitry requires an input clock frequency between 50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate. 我打算使用8位ADC。问题是:我能走到200kHz以上多少?我在数据表中找不到有关此的任何信息。是否可以使用64或32的预分频器,从而在uC以16MHz运行时分别以250kHz或500kHz运行ADC而没有转换错误?超出规范的ADC可能带来什么后果?

1
PWM模式:居中对齐和左对齐
我正在使用Atmel AT32UC3C2512C,并在数据表中查找了两种PWM模式:居中对齐和左对齐。 我想知道何时应该使用这些模式中的每一种,以及它们的优缺点。
8 avr  pwm  atmel 

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.