-
Thread
ARM: kompliziert?
Wert legt, es gibt auch Befehle mit 1 Byte Länge. Das sind zum Beispiel kurze Verzweigungen oder auch NOP oder RTS. Die ARMs (M3/M4) sind schnell mit 1,25 DMIPS/MHz, wobei die mir vorliegenden Zahlen dem M0 nur 0,9 DMIPS/MHz zubilligen.
m.n. schrieb im Beitrag #2856059: > Die ARMs (M3/M4) sind schnell mit 1,25 DMIPS/MHz, wobei die mir > vorliegenden Zahlen dem M0 nur 0,9 DMIPS/MHz zubilligen. > Die RX sind mit 1,56 DMIPS/MHz schneller
-
Thread
Sehr kompaktes AVR/PIC Eval Board gesucht
aber dsPIC. Kann mit beidem umgehen. Habe dieses Board http://www.ebay.de/itm/Leonardo-Pro-Micro-ATmega32U4-Arduino-5V-16MHz-Bootloader-Micro-USB-Pro-mini/381813793804?_trksid=p2047675.c100011.m1850&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20140107083420%26meid%3D56cfcd3fe360490e9febc3d0a585c952%
Pollin hat so etwas auch im Angebot: http://www.pollin.de/shop/dt/MzM2OTgxOTk-/Bauelemente_Bauteile/Entwicklerboards/Atmel/Entwicklungsboard_ATMEL_ATmega168PA.html
-
Thread
Welcher Microcontroller für i2c-Display
ATtiny nehmen, der > in der Liste Wer hat dir den Floh mit den ATtinys in den Kopf gesetzt? Ein ATmega168 als fertig aufgebautes Modul kostet über eBay 1,50€ oder ein ATmega328 mit USB-Wandler vielleicht 2,50€
Schaltung nicht um. Innerhalb der AVR-Klasse sind die Rechenleistungen alle ziemlich gleich. Ein Atmega328p ist nicht schneller oder langsamer als ein Atmega88 oder Atmega1284p, und auch nur geringfügig schneller als ein Attiny (dank HW-Multiplizierer). Einen anderen Mikrocontroller-Typen (z.B. ARM
-
Thread
Schaltplan Kontrolle
Wegen der LCD Beleuchtung stehen Folgende Infos im Datenblatt: Forward Voltage Typ. 2,9V Max. 3,1V Forward Current Typ. 18mA Da ich jetzt mit 3,0V Gerechnet habe dann komme ich auf 120 Ohm Schaltung ändere Ich jetzt mal um und ändere auch den Controller durch einen Atmega32.
meisten Taster brauchen halt mehr als 55uA um ihre Kontakte zu putzen auch Goldkontakte. Aber ob nun 0.1mA oder 1mA steht ja nicht im Datenblatt. Man riskiert bei 55uA dass es nach 10 Jahren halt erst unzuverlässig und dann nicht mehr geht. Manche Leute können aber nicht 10 Jahre weit denken.
-
Thread
DCC Decoder
1 0 0 CK*2 (=PCK/8) ; 0 1 0 1 CK für PWM mit 6125 Hz ; 0 1 1 0 CK/2 ; 0 1 1 1 CK/4 ; 1 0 0 0 CK/8 ; 1 0 0 1 CK/16 ; 1 0 1 0 CK/32 ; 1 0 1
2004 CadSoft Electrical Rule Check für E:/AVR/FORUM/DCC/Saueressig_1044009_DccDecoder_RailCom_ATmega8.sch am 23.02.2009 11:16:17 WARNUNG: Seite 1/2: Nicht angeschlossener Pin: D6 - WARNUNG: Seite 1/2: Nicht angeschlossener Pin: D6 + WARNUNG: Seite 1/2: Nicht angeschlossener Pin: D7 - WARNUNG
-
Thread
ATMega8 ADC Interrupt - lesen mehrerer Eingänge liefert Schrott
REFS1 REFS0 ADLAR – MUX3 MUX2 MUX1 MUX0 ADMUX Karsten M. schrieb im Beitrag #6148525: > ADMUX = (ADMUX & ~(0x1F)) | (CurADC & 0x1F); Hm... Oliver
((0 << ADPS2) | (1 << ADPS1) | (1 << ADPS0)) //! ADC clock prescaler 16 setting. #define ADC_PRESCALER_16 ((1 << ADPS2) | (0 << ADPS1) | (0 << ADPS0)) //! ADC clock prescaler 64 setting. #define ADC_PRESCALER
-
Thread
ARDUINO ATMEGA328PB Bord erste Erfahrungen
Wilhelm M. schrieb im Beitrag #4871008: > mir 16k RAM wünschen ... Ich interpretiere das als ein (noch) nicht existierender 1284PB;-) Das ist mein liebster AVR.
> eingebaut. Die Reset Threshold Spannung beim ATMEGA328P ist bei 5V Vdd = etwas mehr als 2.1V. Beim 328P reicht es noch einigermaßen. Beim 328PB sind es nur rund 1.55V. Der 3.3V DTR Pulse kann also die Spannung am RESET Pin bestenfalls auf rund 1.7V
-
Thread
16bit-Software-Timer mit 8bit-Hardware-Timer
> ATmega1284 mit Timer3. Hab ich was verpasst? Der ATMega644 bietet Timer 0, 1 und 2, wovon nur Timer 1 die gewünschten 16bit bietet (brauche ich für andere Zwecke). Der ATMega1284 hat laut Datenblatt
sc schrieb im Beitrag #5651597: >> ATmega1284 mit Timer3. > > Hab ich was verpasst? Der ATMega644 bietet Timer 0, 1 und 2, wovon nur > Timer 1 die gewünschten 16bit bietet (brauche ich für andere Zwecke). > > Der ATMega1284 hat laut
-
Thread
direkter Zugriff auf Low/High Byte von 16bit-Werten
include <inttypes.h> #define F_CPU 8000000LU //CPU Takt typedef union { uint16_t _w; uint8_t _a[2]; } tBuffer16; #if 1 #define HI8(w) (((tBuffer16*)(&w))->_a[1]) #define LO8(w) (((tBuffer16*)(&w))->_a[0]) #else #define HI8(w) ((w) >> 8) #define LO8(w) ((w) & 0xFF)
Auch wenn zwischenzeitlich ähnliches geschrieben wurde, hier noch mein 'Senf' dazu: Frank M. schrieb im Beitrag #2343677: > Ich habs ausprobiert für einen ATmega168 mit dem avr-gcc 4.3.3: ... [c]> typedef union > { > uint16_t _w; > uint8_t _a[2]; > } tBuffer16; > > #define HI8
-
Thread
Decodierung von 6 Quadratur(Drehgerber)Signalen - extern zur Entlastung des PIC
... Ich vermute optische Drehgeber mit 16 Imp./U. Bei 4-fach Auswertung wären ca. 1000 (16*4*1000 / 60) prellfreie Flankenwechsel/s zu verarbeiten. Da es nicht um manuelle Drehgeber geht, würde ich konservativ pro Kanal einen ATmega48 einsetzen
m.n. schrieb im Beitrag #2576662: > Aus Spaß habe ich mal die max. Geschwindigkeit simuliert, die ein ATmega > für 4 Kanäle brauchen würde, womit ein 8-bit Port belegt würde. interessant! danke dir
-
Thread
40 PortPins beschalten
Billige LEDs sind mit 20mA so hell wie gute LEDs mit <1mA. Bei 40 LEDs musst Du aufpassen, den Gesamtstrom nicht zu überschreiten, also den Strom, der durch die Vcc-Pins reinfließt, um die LEDs zu treiben. Also 3 Schritte
spess53 schrieb im Beitrag #7211266: > Aber nur 200mA für VCC und GND. Ergo 200mA/32LED = 6mA pro LED. Reicht mit aktuellen LED locker aus für eine Weihnachtsfunzel. Ganz Schlaue würden 16 der 32 LED von Vcc an einen Portpin schalten und die anderen
-
Thread
Taster am AD Wandler plus WakeUp - wie?
T.Baumbach schrieb im Beitrag #3674588: > 16 Tasten ein 4x4 Keypad an 4 Zeilen / 4 > Spalten nehme Warum willst Du 16 Tasten nehmen, wenn Du nur vier brauchst? Die Stromaufnahme steht im Datenblatt und liegt unter 1µA, wenn man den µC richtig
Hallo m.n., danke nochmal, die Schaltung mit den 4 Tastern war (eigentlich) zum 'lernen' gedacht. In meiner finalen Schaltung brauche ich aber 16 Taster. Macht es hinsichtlich Stromaufnahme dann eher Sinn
-
Thread
Welcher Rail to Rail OPAMP?
Als µC steht der ATMega16M1 fest, da ich die 36 Temperaturwerte über CAN übertragen möchte und dann kommen noch mehrere 74HC4067 16:1 Multiplexer zum Einsatz. die PT1000 Sensoren sind so kleine Filmwiderstände ca. 1x1mm
Thomas O. schrieb im Beitrag #5731097: > Als µC steht der ATMega16M1 fest, Thomas O. schrieb im Beitrag #5731097: > Differentiell heißt ich messe zw. den festen 2,5V und den 2,5-2,9V und > Verstärke das dann mit dem internen Verstärker, aber leider bietet
-
Thread
ARM Cortex gegen AVR
M4 am Pin 1_25 in Assembler (ok in C sind es nur 4 Zeilen): MOV R0, #1 LSL R0, R0, #25 ; R0=bit_25 ADR R1, FIO1DIR LDR R1, [R1] ; R1=&
Lothar schrieb im Beitrag #3032357: > Völlig richtig! An das Displacement könnte ich mich aber in 1 Jahr nicht > mehr erinnern. Ausserdem kann beim Wechsel von einem M3 auf einen M4 das > Displacement auch anders sein. Lass den Assembler das ausrechnen. Sinngemäss: LDR R0, =FIO1BASE ..
-
Thread
MegaLoad für avr-gcc
Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o main.o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaMaaaa.s: Assembler messages: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaMaaaa.s:497: Error: illegal opcode jmp for mcu atmega8 make: *** [main.o] Error 1 Jemand eine Idee ?
ich den mega8 so aktiviert, d.h. auskommentiert: # MCU name # BootLoader mega8(5x5) 512 bytes => 0x1E00 = (0x1000words<<1)-0x200bytes BOOTSTRT = 0x1E00 MCU = atmega8 Heist das, mein Programm ist zu gross? Ich verstehe auch ehrlich gesagt nicht den Zusammenhang von BOOTSTRT = 0x1E00 zur CPU,
-
Thread
ZAtmel: ein minimalistisches Z80-System
Joe G. schrieb im Beitrag #3915867: > Steffen S. schrieb im Beitrag #3915650: >> Aber schade, 1 Port mehr wäre wirklich schön... > > Vielleicht ein ATMEGA1281 ? leider nur 16 MHz (und 8 kByte RAM)
abarbeiten kann. Schaut man sich den .asm Quelltext Zeilen 239 bis 278 an, wird deutlich das im ATMEGA-Code lediglich Z80-M1 und Speicherbuszyklen anhand einer "harten" Memory-Map implementiert sind, aber keine Z80-IO-Zyklen oder Interrupthandling. Bei der Unterscheidung zwischen Speicherlesen und
-
Thread
ATMEGA16 - Transistor - LED - Problem
bei 5V Betrieben. ---------------------------------------------------------- Bauteile : R1 : 150 Ohm = Vorwiderstand LED R2 : 6,8 k Ohm = Basisvorwiederstand V1: BC556 --- NPN Transistor --- hFE = 100 Rote Standart LED die mit 2V - 20 mA leuchten soll uC : ATMEGA 16 --------------
leuchten kurz, dann leuchtet die andere, dann wieder die andere, ..... Und so weiter. Wofür kann der ATMEGA denn 16 Mhz :D
-
Thread
ATmega 128 langsam?
= Pinb.6 In16 = Pinb.7 'Werte ausgeben Portc.0 = In1 Portc.1 = In2 Portc.2 = In3 Portc.3 = In4 Portc.4 = In5 Portc.5 = In6 Portc.6 = In7 Portc.7 = In8 Portd.0 = In9 Portd.1 = In10 Portd.2 = In11 Portd
abzubilden, braucht im günstigsten Fall der mir einfällt 19 Takte. Dazu müssen aber die Positionen als "1" Bits in verschiedenen Registern (z.B. r16-r23) bereitliegen: [avrasm] in XL,inport ;1 clr XH ;1 sbrc XL,0 ;1/2 or XH,r16 ;1 Ausgangskonfiguration
-
Thread
ATmega8l 8AU wie viel kb passen rein
ungewöhnlich. Abgesehen davon ist die höchste Speicheradresse in der Datei 41FF, der Speicher des ATMega8 geht aber nur bis 1FFF (Byte-Adressen). Also kann es schonmal nicht für einen ATMega8 sein.
Autsch, hatte das File im Editor mit der Einstellung ATMega16 geöffnet. Dann ist natürlich klar, dass er nur bis 41FF anzeigt...
-
Thread
Brauche Projektidee und Hardwareempfehlung für erstes μC Projekt
>Zunächst zum μC, ich denke auf einem AVR zu bleiben macht Sinn, aber der >atmega16 scheint etwas wenig RAM zu haben, was würdet ihr mir hier >Empfehlen? Ein AVR-NET-IO. Den ATMega32 gleich rausschmeissen und einen ATMega1284 einsetzen. Dann noch die diversen Verbesserungen
dem was auf dem ATMega1284 verfügbar ist, benötigt. Wenn ich einen Treiber für einen PHY schreiben muss, werde ich vermutlich noch 1,5K für eine Inputframes benötigen, die 2te Output-frame kann ich vermutlich vermeiden.
-
Thread
Gibt es den Atmega1284 auch eine Nummer größer?
Uwe D. schrieb: > Also der PC ist ebenfalls 16Bit breit, den Rest würde ich teilen... Arduino Fanboy D. schrieb im Beitrag #5755301: > Beim ATMega2560? 24Bit breit! Zitat aus dem Datenblatt: "The ATmega640/1280/1281/2560/2561 Program Counter
und geöffnet habe ist von Mai 2015 (ST32F103xF STM32F103xG). Das ist in etwa vergleichbar mit ATMEGA8 / ATMEGA16 zu ATMEGA88PA / ATMEGA164PA. Kann man machen, aber irgendwie legt man sich damit nur Steine in den Weg. Stefanus F. schrieb im Beitrag #5755243: > Es gibt da einige, die von der Komplexität
-
Thread
Echo HC-SR04 auswerten
Genauigkeit brauche ich am Ende des Tages und wie groß soll der Messbereich sein. Denn Du hast bei einem Atmega 32 maximal einen 16 Bit Zähler. Wenn deine MCU mit 16 Mhz rennt und du einen prescaler von 1 wählst, dann wird dein gerade mal 65535 counts fassender TIMERCONTER alle 0,0625µs um 1 Hochgezählt. Und
Wenn FalingEdge: 1. An Anfang zwischengespeicherten 16Bit Wert für Faling ( aus ICR1L und ICR1H) z.B. im SRAM speichern. 2. Ein StsusBit für FalingCaptureDone setzen 3. Umschalten auf RisingEdgeCapture. After a change
-
Thread
Ports am ATmega 16
Ich verwende das STK500 In dem board ist ein Atmega16.
Ist der atmega 16 auch im richtigen Sockel? SCKT3100A3
-
Thread
Arduino mit Pt1000 und 400°C Schaltung
m.n. schrieb im Beitrag #7116473: > Einfach ist diese Schaltung: > Beitrag "PT1000, einfache Auswertung mit AVR (ATmega328)" Aber vielleicht doch an einen "Spannungsfolger" anschließen. Dann belastet
die Dellen sehr deutlich. Habe hier: CPUID -> '0x410cc601' 41 ARM 0 Revision 0 c ARMv6-M architecture c60 Cortex-M0+ 1 Patch 1
-
Thread
Mikrocontroller-Umgebung für Anfänger
die man durch Flachbandkabel mit den Ports verbinden kann. IMHO wird inzwischen beim STK500 ein ATmega16 und ein ATmega8515 (kann auch der 8535) mitgeliefert. Sollte ich mit meiner Annahme danebenliegen, sollte man mein Post einfach überlesen...
Warum willst du dich eigentlich mit so Kleinkram wie Mega8 oder Mega16 befassen, wo du doch Mega128 gewöhnt bist?? Einen Mega128 auf Adapterplatine bekommst du auch recht preiswert: http://cgi.ebay.de/Adapter-mit-ATMega128L-2-x-RS232_W0QQitemZ9712319524QQcategoryZ10662QQcmdZViewItem
-
Thread
RFM01/02 Basics
den habe ich leider nicht! hätte da nochmal ne frage zu meinen messungen.... habe am rfm01 mit atmega8 an sck,mosi,miso und ss gemessen und bekomme überall meine 16 Nutzdatenbytes angezeigt, bei sck 15x 1 byte immer mit 9 impulsen...denke da ist immer ein stopbit dabei...aber das 16. mit 21 impulsen
Count = 1 To 16 Bitwait Nirq , Reset 'While Nirq = 1 'Wend Spiin Fifo(1) , 3 Rx(count) = Fifo(3) Next ......... war das so gemeint? Max schrieb im Beitrag #2562798: >>es wurden 16 zeichen
-
Thread
Zeitkritisch ?
benötigt. Ich takte einen Schrittmotor und berechne zu jedem Schritt den neuen Matchwert des Timer1 16 Bit im fast PWM-Modus. Bei größter Winkelgeschwindigkeit hätte ich zwischen jeden Interrupt ca. 800 Takte in denen er alles neu berechnet und noch einige andere Sachen macht. Atmega8 16MHz Inhalt
einer Geschwindigkeit V auf 0 zu verzögern //m entspricht der Schritt in dem V = 0 sein soll Cn=Cn-1 - ((2 * Cn-1)/( 4 * (n - m) + 1)); //ICR1 ist der Zählwert des Timer1 ICR1 = Cn; } else //Endesequenz einleiten }
-
Thread
Mechanische stabilität von Quarzen?
16Mhz Takt für einen Atmega2560
Danke für den Tipp So etwas? http://de.farnell.com/ael-crystals/c16m000000l003/resonator-ztt-16mhz/dp/1448129 http://de.farnell.com/murata/csalf16m0x55-b0/resonator-16-00mhz/dp/1161701 Wenn ja, muss ich noch auf die Resonanzimpedanz achten?
-
Thread
Problem mit UART RX und Atmega32
leider aber keine finde. Vorhaben: Ich möchte eine serielle Kommunikation zwischen meinem Atmega32 und meinem PC (senden und empfangen) realisieren. Konfiguration: uC: Atmega32 Spannung: 5V DC ext. Quarz: 16 MHz (Reichelt Art.-Nr. OSZI 16,000000) RS232-Treiber: MAX232CPE Baut: 19200
ich diesen dann jetzt auch noch? MAX PIN 15 -> "-Pol ELKO (C1)" -> "+Pol ELKO (C1)" -> PIN 16 Vielen Dank Gruß Sebastian
-
Thread
Elm-Chans FFT-Routinen verstehen?
-----------------*/ /* Capture waveform */ void capture_wave (int16_t *buffer, uint16_t count) { ADMUX = _BV(REFS0)|_BV(ADLAR)|_BV(MUX2)|_BV(MUX1)|_BV(MUX0); // channel do { ADCSRA = _BV(ADEN)|_BV(ADSC)|_BV(ADFR)|_BV(ADIF)|_BV(ADPS2)|_BV(ADPS1); while
*/ /* Online Monitor via an ISP cable */ int main (void) { char *cp; uint16_t m, n, s; uint16_t t1,t2,t3; DDRE = 0b00000010; /* PE1:<conout>, PE0:<conin> in N81 38.4kbps */ TCCR1B = 3; /* clk/64 */ xmitstr(PSTR("\r\nFFT sample program\r\n")); for(;;)
-
Thread
Atmega88 Timer Problem Assembler
im 1s Takt zu blinken. Taktfrequenz des MC: 1 MHz */ .CSEG // Richtung der IO Ports definieren LDI R16, 0b11111111 // 1=Output, 0=Input OUT DDRB, R16 OUT DDRC, R16 OUT DDRD, R16
des Bereichs liegen, LDS und STS. Jetzt funktioniert alles bestens :). [avrasm] .include "m88def.inc" .CSEG // Richtung der IO Ports definieren LDI R16, 0b11111111 // 1=Output, 0=Input OUT DDRB, R16 OUT DDRC, R16 OUT DDRD, R16 // Stackpointer initialisieren LDI
-
Thread
Arduino->WS2812B-> Arduino
Stefan ⛄ F. schrieb im Beitrag #6882765: > Ich true das einem Atmega locker zu. Ja, das kann er (angenommener Systemtakt 16Mhz). Aber es wird eng. Wenn nebenbei noch was anderes interruptgesteuert laufen soll (was in der konkreten Anwendung, soweit beschrieben, allerdings
(dazu müssten sie die Daten buffern), sondern nur die beiden Zeiten T0H und T1H. Die Zykluszeit hat hingegen weitgehend derjenigen unter Kontrolle, der den Kram ansteuert, so lange er nur weit genug weg bleibt von Trst. D.h.: das Konzept von Mario M. geht grundsätzlich und
-
Thread
UART GCC-AVR ?
)|(1<<UCSZ0); // Asynchron 8N1 UBRRH = UBRR_VAL >> 8; UBRRL = UBRR_VAL & 0xFF; } int main (void) { // bei neueren AVRs steht der Status in UCSRA/UCSR0A/UCSR1A, hier z. B. fuer ATmega16
an das ich das brauche /* UART-Init Bsp. ATmega16 */ void uart_init(void) { UCSRB |= (1<<TXEN); // UART TX einschalten UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // Asynchron 8N1 UBRRH = UBRR_VAL >> 8; UBRRL = UBRR_VAL & 0xFF
-
Thread
gebräuchlichste Standard-AVRs?
ATMEGA16 und ATMEGA32. Hast du erstmal den ATMEGA8 gelernt und verstanden, ist der Umstieg auf z.b. den ATMEGA88 eine Sache von 5 Minuten.
ISP-Prog. 4-Stellige jeweils gleich bzgl. ISP-Prog. ###### PDIP 28 ATtiny48 ATtiny88 ATmega8 ATmega48/88 ATmega168/328 Alle gleich bzgl. ISP-Prog. ###### PDIP 40 ATmega16 ATmega32 ATmega164/324/644/1284 Alle gleich bzgl. ISP-Prog.
-
Thread
Relais an Atmega, Kontrolle Bauteile
> BTW1: die 20mA in einer heutigen LED brennen dir das Augenlicht weg. ;-) Laut Datenblatt haben diese Tatsächlich 20mA :D > BTW2: das "Gewölle" an grünen Leitungen über dem RE2 sieht eigenartig > "
Gerechnet, wenn U= 24V DC ist, und die Dinger eine Durchlassspannung 2,1V haben mit R als Vorwiderstand von 1kO, dass das Hinhaut. Wieviel Kleiner kann ich denn Gehen? > Kevin X. schrieb: >> die 24mA Reichen also für die Ansteuerung. > > Rund 24 mA sind der Strom
-
Thread
[AVR] Unerwarteter Compilerfehler mit constexpr
Anhang. Testbedingung: Compiler Gnu avr-c++ unter win10 Getestete Versionen: 5.4 7.3 8.2 9.1 Einstellung gnu++11 oder höher Sowohl mit Arduino IDE, als auch mit Atmel Studio. Die Kompilation läuft mit allen Compilerversionen für den ATMega328P und ATMega32U4 sauber durch, und funktioniert
Rigó M. schrieb im Beitrag #6037866: > Im Endeffekt kann man so etwas machen:using PinName = Pin<PortB, 1>; > Statische Polymorphie und damit Compilezeit-Instanziierungen (template-Instanziierungen) statt
-
Thread
Frage zu CCL-Einheit in neueren AVR-Controllern
großen > Erfolge feiert. Da, wofür sie geeignet ist. > Also speziell nochmal für Dich: Es sind 16MHz OMG. Dann darfst du meine Angaben zu den verfügbaren Takten durch 1,5 teilen und die Angabe zu der Auslastung, die sowas verursachen darf, mit 1,5 multiplizieren. An der grundsätzliche Aussage
Wilhelm M. schrieb im Beitrag #7251422: > Wahrscheinlich sollte 8N1@9600 nun der Standard sein? Die Konfiguration der Baudrate hatte ich doch ausdrücklich erwähnt. Das langt dann aber vollkommen. Auch als
-
Thread
ATtiny12: Assembler in Atmel Studio 7
auch keine Interrupttabelle. Probier mal: [code] .include "tn12def.inc" .cseg .org 0x00 ldi r16,0b00011001 out DDRB,r16 ldi r16,0b00011001 out PORTB,r16 hang: rjmp hang [/code]
meistens über ein Registerladen geht, und somit dann hier für einen Vorgang oft zwei Befehle (also 2x 16-Bit) benötigt werden, was die Anzahl an maximal möglichen 512 Befehlen in einem 1KB-Speicher immer signifikant reduzieren wird. Möchte man Subroutinen im Code haben, für z.B. verschiedene Delays und
-
Thread
SDRAM mit Atmega328P
Betrieb von SDRAM aufgrund der hohen Frequenzen und Timings in der Regel ein Mikrocontroller wie der Atmega328P nicht ausreicht, was natürlich logisch ist. Ich möchte den Chip daher langsamer takten. Im Datenblatt (https://zentel-europe.com/datasheets/A3V64S40GTP_v1.3_Zentel.pdf) habe ich dazu keine Informationen
Vor Jahren hab ich mal mit Kameras am ATMega32 experimentiert, mehrere Bilder sollten im RAM abgelegt werden und verarbeitet werden. Hab dem Mega32 n ollen EDO-RAM-Riegel verpasst und gut war, 1MB. Also warum nicht, bleib dran und mach einfach
-
Thread
6-9V auf 12V booster
dem unteren Widerstand liegt. Aber 2V2 kann ATMega sehr genau messen. Du kannst R5 auch kleiner nehmen, damit du interne Vref von ATMega (ca. 1V1) benutzen kannst, Messspannung darf Vref nicht überschreiten.
Beitrag #6513605: > dazu andere (bessere) Alternative Wirklich bessere? "PALO Neue AA Batterie 2800mWh Akku Lithium-1,5 V AA Batterie" Das bedeutet 2800/1,5 =~ 1867 mA*St. Das ist schlechter als bei Ni-MH und bei AA-Batterien. Li-System gibt deutlich mehr als 1,5 Volt, d.h. drin steht ein Wandler,
-
Thread
Schneller Mikrocontroller
für Mega328 sicherlich etwas extrem. Übrigens habe die mittlerweile einen Hybrid aus einem Cortex-M3 mit 1MB Flash sowie einem von deren Cores im Anmarsch.
noch nennenswert komfortabler > von der Hand geht als 1990... ich hatte durch die Wahl des CortexM3 gegenüber dem Atmega nur Vorteile. - Ich musste mich nicht mehr um effiziente Programmierung kümmern und konnte alle Regelgleichungen 1:1 mit 32bit Float hinschreiben, ohne auf Bitshifts oder Tabellen
-
Thread
ATmega328 lässt sich nicht programmieren
expected signature for ATmega328P is 1E 95 0F double check chip or use -F to override this check avrdude done. Thank you. Failed programming: uploading error: exit status 1 [/c]
: Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions avrdude: device signature = 0x00ffe0 avrdude main() error: expected signature for ATmega328P is 1E 95 0F double check
-
Thread
Bootloader für ATmega 2560 wird immer überschrieben
Bootloader nicht zu überschreiben. Oder wenn ich direkt über avrdude downloade "z.B. avrdude –c stk500v1 –P\\.\COM4 –p m2560 –U flash:w:filename.hex" dann sollte ja auch nichts passieren mit dem Bootloader. Es müsste doch aber auch möglich sein mit den lock bits den Bootloader resistent im Chip zu belassen
avrdude: Device signature = 0x1e9801 (probably m2560) avrdude: reading input file "0xd0" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.01s avrdude: 1 bytes of hfuse
-
Thread
Komisches Verhalten bei CPU-Frequenz und UART
sein, oder seh ich den Wald vor lauter Baeumen nicht? Beispiel: F_CPU=1000000L ((1000000)/((4800)*16l)-1)=12.020833 F_CPU=8000000L ((8000000)/((4800)*16l)-1)=103.166
denn auch an diese Adresse? Oder sprechen diese die Adresse 0x09 an, wo zum Beispiel UBRR vom ATmega16 und anderen ATmegas liegt?
-
Thread
Auslesen des Beschl.-Sensors ADXL202
////////////////////////////////////////////////////////////////////////////////////////// uint16_t sample_ADC( uint8_t adc_channel, uint8_t noumber_of_samples) // 1x-->(1/8000000)*32*13*32-->3,33ms { // 1/fCK* DivFactor* ConvCykl* j uint8_t adc_l, adc_h, j ; uint16_t adc_conv
UploadedFiles/Data_Sheets/567227477ADXL202E_a.pdf) Siehe S.8 . @IchUndNichtDu Versuchs mal mit RSet=1M ( T=Rset/125M) was einer Periodendauer von T=8ms entsprechen sollte. Dann hängst Du einen der "Duty Cycle" Ausgangänge des Sensors an PD2 (INT0) des Atmega8. Hier ein kleines Programm (mit Interrupts
-
Thread
Pollin LCD ohne Datenblatt
bei Displays. Bruno ich hab vor einiger ziet schonmal das Pinning unterm Mikroskop nachverfolgt. 1 D0 2 D1 3 D2 4 D3 5 CL2/FPSHIFT 6 DISPOFF 7 CL/FPLINE 8 VCC 9 M/MOD 10 V6 11 V3 12 V4 13 V5 14 VEE 15 V1 16 GND 17 DI/FRAME Sieht auf den ersten Blick deiner Erkenntnisse
Hallo Wigbert, danke für den Tip. Ich arbeite ohne Controller, nur per Software mit dem ATMega8. M kann ich sicherlich schneller machen, aber was bedeutet DC frei? Bruno
-
Thread
Problem bei Verstärkung von XR2206 Ausgangssignal
berauschend. Mit dem TL082 geht noch was bis 2MHz für den Sinus, da bleiben allerdings nur noch 754mV übrig. Mit nur einem TL081, habe ich aus dem XR2206 sogar über 4MHz mit sauberen Sinus hin bekommen, obwohl der Tl081 nur eine Bandbreite von 4MHz und eine Slewrate von 16V/µs hat. Ich habe mal
XR2206 eine Sinusausgangsspannung von 2.2 Volt PeakToPeak bezogen auf GND gemessen und mit dem DMM 9mA. Für diesen Test brauche ich eine Stromstärke von 1A im Emitterzweig, um in etwa auf die 10 Watt zu kommen, und frage mich wie ich das erreichen kann. Vielleicht kann mir jemand einen Tip für
-
Thread
Arduino Pro Mini: Analog-Referenz 1,1V verschiebt sich bei kleiner Last?
darf das dann ja eigentlich nicht liegen. Oder doch? Aber dann offiziell gerade nicht mehr mit 16MHz, siehe Datenblatt 29.3, "Speed Grades". Sollte aber trotzdem noch gehen. Aber wie kommst Du auf 3.6V??? Andreas F. schrieb im Beitrag #3810265: > Habe eben noch einen 1mF auf das Board geklemmt
Hallo Andreas, Ich hab bis jetzt folgendes verstanden: 1. Du benutzt ebay: 281422104702 (5V Atmega328P 16MHz). Leider gibt es zu genau diesem Board wohl keinen Schaltplan, oder? 2. Dieses Board hat einen RAW-Eingang (5V-12V) und einen VCC-Ein/Ausgang (das
-
Thread
Flash CRC Berechnung optimieren/schneller
. The following is the equivalent functionality written in C. \code uint16_t crc16_update(uint16_t crc, uint8_t a) { int i; crc ^= a; for (i = 0; i < 8; ++i) { if (crc & 1) crc = (crc >> 1) ^ 0xA001; else crc = (crc >> 1); } return crc; } \endcode */ static __inline__ uint16_t _crc16_update(uint16_t __crc, uint8_t __data) { uint8_t __tmp; uint16_t __ret; __asm__ __volatile__ ( "eor %A0,%2" "\n\t" "mov %1,%A0" "\n\t" "swap %1" "\n\t" "eor
-
Thread
Problem: Digitalservo mit AVR BOARD steuern
ATmega 32/16 Fmax. 16MHz steht in der chipbeschreibung.
Michael Baage schrieb im Beitrag #2186440: > ATmega 32/16 Den CHip kann man auf fixe Taktfrequenzen 1 Mhz 2 Mhz 4 Mhz 8 Mhz einstellen. Und natürlich auch auf jede andere Taktfrequenz, wenn man einen Quarz für diese Frequenz hat.