-
Thread
SDCARD Am Software SPI???
ist #define SPI_SS 5 //Nicht Benutz muß aber definiert werden #endif #if defined (__AVR_ATmega32__) #define SPI_DI 6 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist #define SPI_DO 5 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen
ist #define SPI_SS 0 //Nicht Benutz muß aber definiert werden #endif #if defined (__AVR_ATmega32__) #define SPI_DI 6 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist #define SPI_DO 5 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen
-
Thread
Korrelation ist besser statt hohe Sendeleitsung!!! Gesperrt
ATmega8: 1.85 LPC2103: 2.50 ATmega32: 3.50 LPC2103: 3.75 Der Preisunterschied zum AVR ist im Hobby- und Kleinserienbereich also völlig zu vernachlässigen. Und die nächste, noch-lower-cost-Generation ist schon im Anmarsch (Cortex M3
Flash/32k RAM / 60MHz / 32-bit zum Preis eines Atmega128.
-
Thread
Bezugsquelle für 4,332 Mhz Quarz
kHz 300-2061-1-ND 1,41 Eur Citizen CM250S 75,000 kHz 300-3021-1-ND 1,33 Eur es gibt auch 32,000 40,000 60,000 60,005 65,535 65,536 75,000 76,790 76,800 76,810 77,500 77,503 96,000 100,000 kHz
ziemlich ... ;), aber ich bin da inzwischen sowieso an der Stelle, daß ich mir die 75kHz wohl vom AVR machhen lasse, der kommt ja sowieso rein. Trotzdem nochmal Danke für Deine Mühe. Gruß aus Berlin Michael
-
Thread
ATMega128 HEX-File
Am Anfang eines jeden AVR-Programmspeichers stehen die Interrupt-Vektoren, die Du in den ersten zwei Zeilen stehen siehst. Die letzten Stellen sind die Prüfsumme der Zeile
EOF), der mitteilt, dass die eigentliche Programmdatei hier zu Ende ist. Allgemein: :LL AAAA TT DD [DD.....DD] CC Was im einzelnen in den Datenbytes steht, ist dann Device-abhängig. Wie gesagt, bei den AVRs stehen an den niedrigsten Adressen die Interrupt-Vektoren, die aufgrund der Speichergröße
-
Thread
FS20 Sender mir ATmega8
ich, habe an dem Code Interesse. Es wäre sehr nett, wenn Du ihn mir zuschicken könntest. albert32(ät)gmx(punkt)at Danke!!! mfg albert
hat wäre ich immer dankbar. wenn einer von euch noch ein Beispiel Programm hat immer dankbar. avr(at)alt-rentfort(dot)de
-
Thread
arthernet extern memory test program
www.ispf.de mit UART Library und optimierter Ausgaben. Es kann gleichzeitig als Beispiel für andere AVR Systeme dienen. Neu: - UART Library - RS232 auch ohne Baudraten Quarz dafür aber mit 16MHz - optimierter Memory Dump - Speicher-Test nach Typ getrennt - Memory Bank Ausgabe - UART0 Ausgabe auf ATMega128 - WinAVR 20060421 geeignet Viel Erfolg Michael ---------------------------------------------------------------------- Bildschirm Hardcopy: Welcome to the arthernet external memory test program
-
Thread
welchen prozesor
Warum eigentlich nicht gleich ARM7 und 32 Bit, z.B. Philips LPC2000 Serien? Gruß Dietmar
Über schnell: Was ist schnell ? Ich habe mit z80, HC11, AVR, H8/300, und 68000 gearbeitet. Schnell ? H8/300 und 68000. Diese haben Kraft, ein 32 bit add im 2 oder 4 Zyclen. AVR ist relativ schnell, aber ein 32 bit add nimmt 4 Zyklen. 80 bit extended
-
Thread
1-Wire Slave auf AVR
ausgewählt ISR (INT0_vect) { unsigned char tim0_i, status; status = status_global; #ifdef __AVR_ATtiny13__ DDRB &= ~(1 << ONEWIREPIN); // Pin auf Eingang #elif defined (__AVR_ATmega8__) DDRD &= ~(1 << ONEWIREPIN); // Pin auf Eingang #endif #ifdef __AVR_ATtiny13
mit kleineren Werten für [c] #define OWT_MIN_RESET 113 //360 #define OWT_RESET_PRESENCE 10 //32 #define OWT_PRESENCE 50 //160 #define OWT_READLINE 8 //for fast master, 10 for slow master and long lines 24-32 #define OWT_LOWTIME 8 //for fast master, 10 for slow master and long lines 24-32
-
Thread
Display (HD4478099) zeigt nur Kästchen
//Enable-Pin Low WaitUS(160); PORTC |= (1 << PC6); //Enable-Pin High PORTC = 0b01001000; //DD-RAM Position 0 - MSB PORTC &= ~(1<<PC6); //Enable-Pin Low WaitUS(1); PORTC |= (1 << PC6); //Enable-Pin High PORTC = 0b01000000; //DD-RAM Position 0 - LSB PORTC &= ~(1<<PC6); //Enable-Pin Low
/site/atmel/avr_lcd/pdf/LC.pdf
-
Thread
Rechnen mit AVR
= 2887,17245982 Dieses Ergebnis soll der AVR auf- oder abrunden. somit habe ich 2887 dezimal sind binär 101101000111 Dieses Ergebnis kann bis zu 32 bit erreichen. Nun meine Fragen: Wie sag ich dem AVR das er die gewünschte Freq. mit 23,86
anderen. mit electronicdesign statt elecdesign geht's ohne Cookies und Skripte. @Simon: der AVR-MUL ist 8x8-->16 bit, hier geht es um 32x32-->64 In meiner Routine verwende ich keine Shifts, sondern 16 MULs. Schau sie Dir mal an.
-
Thread
IDE-Harddisk am uC
ist, wo stehen dann meine daten? >laut gesundem menschenverstand müssten die dann ja an den pins >DD0...DD15 erscheinen. aber die ATA-specs behaupten was anderes... nur zur Sicherheit: nach dem Busy liegen die daten nur an den Pins DD0..DD15 wenn du das Datenregister adressierst!
CS0 und /CS1 die adresse des gewünschten registers einstellen. 2. daten, die ins register sollen an DD0...DD7 anlegen. 3. /IOWR aus- und wieder einschalten. wenn man stattdessen /IORD aus- und wieder einschaltet erscheinen die daten, die im register waren, an DD0...DD7. das macht man doch so, nicht
-
Thread
MMC/SD-Karte mit FAT16 an AVR
32Bit-Operationen benötigt. Ich vermute, das es auf einem MSP430, ARM oder auch AVR32 wesentlich besser liefe. Werde es auch mal mit größeren Blockgrößen versuchen. Im Moment lese ich ja immer nur 8Byte
c] void play_sound(const char *file_name, struct fat_fs_struct* fs, struct fat_dir_struct* dd) { int32_t bytesRead = 0; int32_t totalBytesRead = 0; int countVar; uint8_t songbuffer[32]; struct fat_file_struct* fd; fd = open_file_in_dir(fs, dd, file_name);
-
Thread
LCD + Wert (aus ADC) ausgeben
Include-Datei * PC4 = RS * PC5 = Enable * PC0-PC3 = D4-D7 * R/W ist n.c. */ #include <avr/io.h> #include <avr/delay.h> #define delay(us) _delay_loop_2 (((12000000/4000)*us)/1000) // wartet µs // Enable-Leitung toggeln void lcd_flash_e () { PORTD = PORTD | ( 1<
void lcd_gotoline (uint8_t zeile) { if (zeile == 1) lcd_write(0x80,0); // B 1000 0000 => DD-RAM Adress Set 1. Zeile/1.Spalte if (zeile == 2) lcd_write(0xC0,0); // B 1100 0000 => DD-RAM Adress Set 2. Zeile/1.Spalte (B x100 0000 = H 40) } // Cursorpositionieren (Zeile, Spalte) void
-
Thread
MMC Karte getötet
Daten: 0x01 0x01 0x02 0x02 0x.... Seitdem kann ich die Karte nicht mehr im PC ansprechen: ># dd if=/dev/sda of=/tmp/a bs=512 count=2 >dd: opening `/dev/sda': No medium found (unter Windows: Bitte Medium einlegen) Aber nun das kuriose: Auf dem DSP kann ich ganz normal Daten darauf schreiben
hatte da vorher auch draufgeschrieben was ich wollte und es ging immer :) Ich teste mal weiter mitm avr... Danke euch schonmal ;)
-
Thread
LCD Display funzt ned
(zeile >= 0x80) //ist der Wert ausserhalb des DD-Ram Adresse { zeile = 0x7F; } zeile += 0x80; Write_LCD (zeile,0); while (*Buffer != 0) { if (*Buffer == '%') { *Buffer++; switch (format_flag
schnelleren Quartz und die Schleifen müssen vergrößert werden? Um etwas daraus zu lernen würde ich (AVR-Tutorial LCD-Display) den dortigen Assembler Code für die Initialisierung in C umsetzen und dann Schritt für Schritt weitergehen...
-
Thread
Display Menü LCD 4x20
= new entry("I go to Germany", menu2); entry *entry31 = new entry("East.", 31); entry *entry32 = new entry("West.", 32); entry *entry40 = new entry("I dunno.", 40); menu0->add_entry(entry10); menu0->add_entry(entry20); menu0->add_entry(entry30); menu0->add_entry(entry40);
Auch in AVR-ASM geht das gut mit Tabellen. Die Ausgaberoutine braucht Basisadresse (Tabellenanfang) und Menüpunktnummer. Der Aufruf der Menüpunkte erfolgt nach Auswertung der (im Timer-Interrupt entprellten)
-
Thread
Modifizierter Laminator - 1A Ergebnis
denen für 17,99 Euro ein Genie LA46 gesehen. Bei Ebay gibt es das gleiche Gerät: http://short4u.de/46dd0ca76351b Hat jemand Erfahrung mit diesem Gerät? Vielleicht gibt es ja auch ein Baugleiches? Danke! Frank
einfach übernehmen, da ich ja auch noch was lernen will ;-). Ach ja: Woher hast du eigentlich deinen AVR Dragon, und wieviel hast du für den bezahlt? Würdest du den empfehlen? Gruß, Steffen
-
Thread
LCD, HD44780 und KS0076
***************************************************************/ #include <inttypes.h> #include <avr/io.h> #include <avr/pgmspace.h> #include "lcd.h" /* ** constants/macros */ #define DDR(x) (*(&x - 1)) /* address of data direction register of port x */ #if defined(__AVR_ATmega64
*/ #define LCD_E_PIN 4 /**< pin for Enable line */ #elif defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || defined(__AVR_ATmega64__) || \ defined(__AVR_ATmega8515__)|| defined(__AVR_ATmega103__) || defined(__AVR_ATmega128__) || \ defined(__AVR_ATmega161
-
Thread
Welchen Piezo-Summer an AVR
einen BJM 05 siehe: http://www.reichelt.de/inhalt.html?SID=14Q3OivtS4AQ4AAFpuSow193b6953094f3022dd598552cc526a32;ACTION=6;LASTACTION=3;SORT=artikel.artnr;GRUPPE=H4;WG=0;SUCHE=summer;ARTIKEL=SUMMER%2520BJM%252005;START=0;END=16;STATIC=0;FC=668;PROVID=0;TITEL=0;ARTIKELID=35928 der wird via BC548
AVR-Pin anschliessen kann. Ich danke Euch allen für die Antworten. Schönes Wochenende Hilel
-
Thread
Handycamera MCA-25 ansteuern - ip webcam mit mega32
Hi! Es geht darum eine mca-25 Kamera mit einem avr anzusteuern. Mein Code erweitert ulrich radigs mega32 webserver um die webcam funktion. Die webcam/mca25.c Datei sollte auch standalone verwendbar sein. WICHTIG: Baudratenquarz verwenden! (460800
das ich warscjeinlich zu blöd bin aber der compiler sagt: In file included from main.c:30: D:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h:121:3: warning: #warning "F_CPU not defined for <avr/delay.h>" main.c:32: warning: function declaration isn't a prototype main.c:32: warning
-
Thread
warning: statement with no effect
Warnung, die der gcc ausgibt: ../main.c:745: warning: statement with no effect Ich verwende das AVR-Studio 4.12 mit WinAVR. Die Zeilen, die ange,eckert werden sind folgende: [C] int8_t i = 0; // Laufvariable lcd_write (0x80,0); // DD-Ram Adresse auf Anfang -> for (i; i<16; i++) //
selbiges Problem. Ich ich dachte immer, ich könnte programmieren. Folgende Funktion möchte ich in C (WinAVR) in AVR Studio 4 implementieren. void Initialize() { // Initialize Heaters for (unsigned short int index = 0; index++; index < 6) { } } Ich bekomme ebenso die Wanrung "warning
-
Thread
ARM welche Entwicklungsumgebung, welches JTAG Interface ?
erhältlich. Damit kann (werde) ich also leben. Dabei kostet JTAG-Interface, Eval-Board und (auf 32k beschränkte) Soft weniger als nur das J-Link von Segger alleine. Andere J-Link Bundles in vernünfigen Preisregionen habe ich leider nicht finden können. Das Upgrade von 32k auf 511K kostet übrigens
kein Problem. Wenn das so ist, kannst du dich ja auch mal bei Lauterbach Datentechnik nach einem Trace32 umsehen ;-) Ciao, Fabian
-
Thread
max186 (ADC) über SPI ansprechen
Entschuldigt bitte nocheinmal, ich habe die Angabe der Pins vergessen, also #define DD_MOSI PB5 #define DD_MISO PB6 #define DD_SCK PB7 und ausserdem PB4 als SS Also genau wie im Atmega 16 Datenblatt Danke Matthias
Hallo Matthias, ich stamme nun nicht aus dem Atmel AVR Lager und hab von C nur rudimentäre Ahnung, aber das DDRB = (1 << DD_MOSI) | (1 << DD_SCK); DDRB = (1 << PB4); //SS als Augang setzen ist meiner Meinung nach leicht daneben. Mit der zweiten
-
Thread
The Siemens S65 132x176, 65536 color display with AVR
Verwende die embedded Workbench von IAR, war bei dem Bundle von MSC mit dabei für 149 Euro, ist aber auf 32KB Code beschränkt. Finde die zwar lange nicht so gut wie Codevision für den AVR aber man kann mit arbeiten.
: #include <avr/pgmspace.h> // AVR specific functions to access the program memory // ascii table, starting with character blank (32) // size is 8x14 const uint8_t ascii_tab[96][14] PROGMEM = { { 0x00, 0x00
-
Thread
Schwach im Kopfrechnen
als 6 Dezimalstellen musst Du nicht nur die Lib ändern, sondern auch den Compiler (gcc-*\gcc\config\avr\avr.h, #define DOUBLE_TYPE_SIZE 32). Ich ging übrigens davon aus, dass jemand der eben mal atof oder acos neu schreibt, dem Statement if (sizeof(double) > sizeof(float)) printf("das ist garantiert
durchliest, wirst du feststellen, dass die Antwort bereits mehrmals gepostet wurde. Hier nochmal: Die AVR libc rechnet mit Fliesskommazahlen bis 32 Bit und nicht mehr. Basta. Um genauere Ergebnisse zu erhalten musst du entweder mit genügend grossen Festkommawerten arbeiten (Ganzzahltypen verwenden und
-
Thread
Festplatte Timing
Ja. Das hatte ich vergessen hinzuschreiben. D0-7 von der Festplatte gehen an DA0-7 vom AVR. A0-2 von der Festplatte geht über das Addresslatch an DA0-2 (normal). DD8-15 geht an ein Latch, dessen Ausgänge per Software hochohmig geschaltet werden können. Der Latch-Enable ist mit dem invertierten
Nur FAT32 mit langen Dateinamen.
-
Thread
Teilen durch 3 in Assembler
Hallo zusammen, kennt jemand eine einfache Prozedur wie man in AVR Assembler (AtTiny13) ein Byte (unsigned) durch 3 ohne Rest teilen kann? Vielen Dank. Nur zur Info: der AtTiny13 kennt weder einen Divisions- noch einen Multiplikationsbefehl. Jürgen
Wie wärs hiermit: http://www.atmel.com/dyn/resources/prod_documents/AVR200.zip In vielen Fällen läuft das etwas fixer ab und geht voll nach dem Verfahren von Tobias. MfG Andi
-
Thread
Pac Man mit dem ATmega8
liefern wenn die letzte Zeile ausgegeben wurde. Das Main-Prog erzeugt die Grafik im internen SRAM des AVR (Mega32 mit 2KB) wobei die Auflösung leider nicht sehr hoch sein kann (128x96, 1 Bit). Man kann ja noch externen SRAM anbinden und vielleicht in Farbe senden. MfG Andi
Also, ich hatte auch überlegt. Ein Chip liest Bilder von EEProm in RAM. Anderer AVR sendet Befehl mit Bildnummer u. Position an GrafikAVR. GrafikAVR fügt Bild ein und zeigt an. Bsp. Befehl: 1011010-111111-101010-1 BildNR.-Pos.X -Pos.Y -Tranzparenz?