Gefunden für avr assembler tastschaltera=0 - Zum Elektronik Forum |
| 1 - Mikrocontroller mit geringem Stromverbrauch und sparsamer Stromversorgung -- Mikrocontroller mit geringem Stromverbrauch und sparsamer Stromversorgung | |||
| |||
| 2 - Mikrowellekontroller oder konventionell? -- Mikrowellekontroller oder konventionell? | |||
| Grundsätzlich ist so nen µC nichts anderes als ein Mikroprozessor, der Recheneinheit, Arbeitsspeicher, Programmspeicher und z.T. Peripheriebausteine bereits integriert hat.
Da gibts von vielen Herstellern unterschiedliche Familien, im Hobbybereich sind aber Atmel AVR und Microchip PIC ziemlich weit vorne dabei, weil billig und einfach zu benutzen. Um da was anzuschließen kannst du im simpelsten Fall die einzelnen I/Os setzen bzw. auslesen. Manche davon sind mehrfach belegt und können anstelle des digitalen I/O auch Funktionen wie A/D-Wandler oder PWM Ausgang übernehmen. Oft sind auch diverse serielle Schnittstellen wie UART, SPI oder I²C integriert. Dazu gibts dann nen Haufen Register, Timer und Interrupts um auf Ereignisse zu reagieren und das Zeug zu steuern. Als Betriebsspannung sind 3,3 und 5V gängig, viele Chips können aber auch mit einem größeren Spannungsbereich umgehen. (AVR je nach Takt und Modell zwischen 1,8 und 5,5V.) Die spucken dann TTL-kompatible Pegel aus die man direkt weiter verwursten kann, oder z.b. mit nem MAX232 auf klassische V.24 umsetzen. Die Leistung reicht dabei aus um LED oder Kleinsignalransistoren direkt anzusteuern. Aus dem Kopf wären das beim AVR 20mA pro Portpin, bzw. 200mA für den ganzen Chip - kann mittlerweile auch... | |||
3 - Atmega Programmieren- Starthilfe -- Atmega Programmieren- Starthilfe | |||
Zitat : Offroad GTI hat am 2 Jun 2013 23:13 geschrieben : Irgendwie konnte ich mich mit BASCOM nie so richtig anfreunden, Mir gehts andersrum. Ich konnte (und kann) mich z.B. mit Assembler nicht anfreunden. Dafür gingen die Grundlegenden Sachen von Bascom ziemlich schnell in meine Birne rein. Hängt aber auch damit zusammen,das ich aus seeligen C64er Zeiten noch etwas Basic konnte. Und gerade als Anfänger interessiert dich nicht wirklich,was nun genau in welchem Register steht,und wofür das da ist. Du willst Erfolge sehen,sonst verlierst nämlich schnell die Lust wenn du dir das so nebenbei selber beibringen willst. Und du freust dich wie ein kleines Kind,wenn mit nur 5 Zeilen (plus dem "Header") schon mal ne LED blinkert. | |||
| 4 - Programmieren in C erlernen! -- Programmieren in C erlernen! | |||
Zitat : perl hat am 29 Mär 2013 03:15 geschrieben : Wenn du damit die kleinen PICs meinst, programmierst du sie vermutlich besser in Assembler. Du musst dich ohnehin intensiv mit den Eigenschaften der Hardware beschäftigen, [...]Tatsache, der (kleinste?) PIC10F200 kommt mit 0,375 KB Flash und nur 16 Byte RAM. Also ich würde zu einem etwas größeren PIC greifen, den man auch mit C sinnvoll nutzen kann. Habe schon "mehrmals" Assembler erlernt, einmal einen AVR mit Assembler programmiert, ... Die Hardware kann man auch in C verstehen und C ist viel, viel, viel übersichtlicher als Assembler. (Meine Meinung.) Was ich in Assembler für zig Zeilen für Warteschleifen, nops und Sprünge belegt habe für ein Miniprogramm. In C wäre es ein "Zweizeiler". Ich würde zu C und einem größeren µC raten. Auch wenn einige alte Hasen es anders sehen. (Kosten für einen größerer µC: 1-10€ Kosten... | |||
| 5 - Welches µC Testboard kaufen? -- Welches µC Testboard kaufen? | |||
| Die erste Frage wäre "PIC oder AVR".
Um einen 100-seitigen Flamewar abzukürzen: Können ähnlich viel. Ich hatte früher ein "myAVR Board" (LPT-Version) bestellt. Ist für den Anfang brauchbar und vieles drauf. Mir hat aber ganz schnell ein ISP-Steckplatz bzw. die Kompatibilität zum AVR-Studio gefehlt - oder ich war zu blöd dafür. War auch nur eine Assembler-Programierumgebung dabei, die C-Version hätte man nach der Testversion dazukaufen können.
(Hab mir inzwischen einen AVR-MK2-ISP-Programmer zugelegt, konnte ihn mir in einer Studentenaktion günstig erwerben. Mache nun eigene Platinen.) Habe eben den Nachfolger gesehen - die Frage wäre ob der USB-Programmer kompatibel zum AVR-MK2-ISP-Programmer bzw. AVR-Studio ist. http://shop.myavr.de/index.php?sp=article.sp.php&artID=40 Konnte hier jemand das Board schon mal testen? [ Diese Nachricht wurde geändert von: BlackLight am 21 Mär 2013 19:18 ]... | |||
| 6 - Hilfe:Klartraum-Maske -- Hilfe:Klartraum-Maske | |||
| So, ich habe mal ein bisschen was programmiert. Ich habe mich
dann doch für den Attiny13A entschieden, weil sich bei dem der Watchdog einfacher nutzen lässt ( WD-Interrupt statt Reset ). Der Spannungsbereich ist mit 1.8V..5.5V auch sehr entgegenkommend. Es werden 2 Ports für die LEDs genutzt. Normalerweise würde das auch ein Port schaffen, wenn die jeweils relativ hochohmig angebunden werden. Strombilanz: Warte 6h auf REM-Phase 4.5µA Led-Blinkend mit Watchdog (1800ms*4.5µA + 200ms * 5mA)/2s = ~ 500µA )* Power-Down-Mode nach REM-Blinken 120nA Betrieb mit einer CR2032, die grob über 200mAh verfügen sollte (das anfängliche 3x-Blinken als Start-Feedback vernachlässige ich mal) : 6.0h Warten auf REM 4.50uA = 270 µAh 0.5h aktiv blinken (0.2/1.8) 500.00µA = 250 µAh 17.5h Warten auf nächste Nacht 0.12µA= 2.1µAh = 522µAh Tagesverbrauch Bei 200mAh sind das -> 383 Tage, die Batterie hält also ein gutes Jahr bei täglicher Anwendung. Wenn es nicht angewendet wird, ist der Idle Strom so gering, dass die Batterie in diesem Zustand theoretisch 190 Jahre hält. Es lohnt sich also nicht mehr, in diesem Bereich zu optimieren oder sich was an... | |||
| 7 - Stereoanlagelettes Atmel AVR Microkontroller Entwickler-Kit: STK500, ICE200, Buch von Wolfgang Tampert -- Stereoanlagelettes Atmel AVR Microkontroller Entwickler-Kit: STK500, ICE200, Buch von Wolfgang Tampert | |||
| Hallo!
Ich verkaufe meine Atmel AVR Microcontroller Enwicklungsumgebung, da ich keine Zeit mehr dafür finde. Atmel AVR STK500: Atmel AVR Starter Kit: - RS232 Interface to PC for programming and control - Regulated power supply for 10-15V DC power - Sockets for 8-pin, 20-pin, 28-pin, and 40-pin AVR devices - Parallel and Serial High-Voltage Programming of AVR devices - Serial In-System Programming (ISP) of AVR devices - In-System Programmer for Programming AVR devices in External Target System - 8 Push-buttons for general use - 8 LEDS for general use - All I/O ports easily accessible through pin header connectors - Additional RS232 port for general use - Expansion connectors for plug-in modules and prototyping area Die Originalpackung mit allen Inhalten ist vorhanden, ebenso die Software CD und alle Kabel. Das Board ist in super Zustand, voll Funktionsfähig und hat keine verbogenen Pins oder so. Siehe bitte auch Fotos. Atmel AVR ICE200: Ein Emulator zum Debuggen, den ihr in eure Schaltung stecken könnt... | |||
| 8 - Probleme bei NES-USB Adapter mit ATMEGA8 -- Probleme bei NES-USB Adapter mit ATMEGA8 | |||
| Hallo
Ich bin noch recht neu bzw. unerfahren was Mikrokontroller betrifft und ich wollte nun einfach diese Nes-USB Adapter http://www.bidouille.org/hack/nespadusb#6 nachbauen und dafür einen ATMEGA8 einzusetzen. Ich hab in der Programmierung die entsprechenden Pins geändert und versucht es zu Kompilieren und eine Hex zu erstellen. Jedoch scheitert es schon beim Kompilieren. Ich hab es auch schon versucht unverändert für diesen ATtiny44 zu kompilieren jedoch war der gleiche Fehler. Ich verwendet ATMEL AVR Studio 6 Dies ist der Hauptcode und die Header hab ich angehängt. main Code : | |||
| 9 - Programm für Fahrtsteller anpassen -- Programm für Fahrtsteller anpassen | |||
Zitat : Offroad GTI hat am 1 Aug 2012 22:56 geschrieben : ... Es ist doch eigentlich nur die Pulsbreite des Empfängersignals zu messen und damit wiederum die Pulsbreite des Ausgangssignals zu erzeugen. Wahrscheinlich schlagen jezt alle Programmierer die Hände über dem Kopf zusammen, daher: Bitte nicht hauen
Nö, in diesem Fall kann ich nur zustimmen, denn genau diesen Gedanken hatte ich auch. Ich habe mir das Listing nicht angesehen, weil ich mich mit AVR-Assembler nicht auskenne. Nach perls Kommentaren zu urteilen, hat sich der Ersteller überhaupt nicht mit der Hardware auseinandergesetzt, zusamengestrickt und drauflosprogrammiert. Ich kann Dir nur dringend empfehlen, Dich mit der Hardware auseinanderzusetzen und die Aufgabenstellung geschickt mit der vorhandenen Hardware zu verknüpfen. Dann erst programmieren. Wenn das eine... | |||
| 10 - Atmega TWI 24c04 lesen / beschreiben -- Atmega TWI 24c04 lesen / beschreiben | |||
| Aufbauend auf der einfachen TWI-API aus dem Thread hier.
#define WRITE 0 #define READ 1 uint8_t const EEPROM_ADDR = 0xac; uint8_t read_eeprom(uint16_t address) { uint8_t upperbyte = EEPROM_ADDR; upperbyte |= ( (uint8_t) (address >> 7) ) & 0xFE; i2c_start(); i2c_transmit(upperbyte + WRITE); i2c_transmit( (uint8_t) address ); i2c_start(); i2c_transmit(upperbyte + READ); register uint8_t data = i2c_receive(NACK); i2c_stop(); return data; } void write_eeprom(uint16_t addr, char byte) { i2c_start(); register uint8_t upperbyte = EEPROM_ADDR; upperbyte |= ( (uint8_t) (addr >> 7) ) & 0xFE; i2c_transmit(upperbyte + WRITE); i2c_transmit((uint8_t)(addr)); i2c_transmit(byte); i2c_stop(); } Das kann man sehr einfach in Assembler umschreiben, da braucht man nicht mal Ahnung von C zu haben. Vorsichtshalber da... | |||
| 11 - ATMEGA32-16PU Programm Auslesen möglich? -- ATMEGA32-16PU Programm Auslesen möglich? | |||
| Sofern der Hersteller/Programmierer der Software den AVR nicht gegen Auslesen geschützt hat, ist das mit einem Programmer wie z.B. dem mySmartUSB-Light möglich (jeder andere Programmer kann das auch, aber der genannte ist sehr gut).
Ist der AVR dagegen gesichert, hast du keine Chance. Der Programmer gibt dir Binärdaten aus, die jagst du durch einen Disassembler wie z.B. avr-objdump der GCC-Toolchain für AVRs. Theoretisch kann man diesen Kode so manipulieren, dass die Zeit länger wird. Praktisch sollte man AVR-Assembler gut kennen und auch ein wenig Zeit mitbringen. Als erstes würde ich die ISR-Vektoren der vorhandenen Timer suchen, eventuell wird die Geschichte dort erledigt. ... | |||
| 12 - String auslesen und an LCD senden (16F877) -- String auslesen und an LCD senden (16F877) | |||
| Hallo Jens,
mit deinem Assembler kenne ich mich nicht aus, aber man könnte es so machen: Man legt die Zeichenkette hinter einem Label ab, z.B. so: mein_string: .string "Hallo Welt\0" Dann programmiert man eine Funktion, der man diese Adresse übermittelt (in Form des Labels mein_string) bzw. diese Adresse in ein bekanntes Register(-paar) lädt und dann die Funktion aufruft. Diese Funktion liest dann solange ein Zeichen und inkrementiert die Adresse, bis NUL, also 0x00, gelesen wird. Keine Ahnung, ob dein Assembler diese Notation kennt, der avr-as kann das. [ Diese Nachricht wurde geändert von: DonComi am 7 Jan 2012 19:26 ]... | |||
| 13 - Mikrowellekontroller Festplattenmotor -- Mikrowellekontroller Festplattenmotor | |||
| AVR Studio von Atmel, da ist alles dabei, Editor, Assembler, Programmer, Simulator, etc.
Alternativ, aber für BASIC-Programmierer häufig zu kompliziert, der avr-as und ein beliebiger Editor. avr-as ist bei WinAVR dabei. ... | |||
| 14 - Bascom und "Boolean" -- Bascom und "Boolean" | |||
| Hallo,
Richtig perl. Boolean sollte man hier nicht verwenden, dazu besteht auch kein Anlass. In Pseudokode würde man z.B. folgenden Algorithmus nutzen: funktion Bytesenden(byte) var i as byte for i = 0 to 7 if byte AND 80$ then PORT = 1 else PORT = 0 byte = byte * 2 generiere_taktflanke end for call latch end funktion Dank der sbrs- und sbrc-Instruktionen sowie lsl kann ein AVR das ganze ziemlich flott abwickeln. Noch flotter geht es selbstverständlich, wenn man das Schieberegister an die SPI anschließt, also an MOSI, MISO und SCK. Die Bedingungen if ... und else ... aus dem Pseudokode werden von guten Compilern durch sbrs und sbrc ersetzt. Das Malnehmen mit zwei ist eine Linksschiebeoperation, welche in diesem Fall ruhig überlaufen darf (und wird), es interessiert ja nur das MSB, siehe Maske 80$. Der Vorteil von dieser Maske und dem Linksschieben ist, dass die Daten am Schieberegister ankommen, wie sie reingesteckt wurden
Gibt aber zig andere Möglichkeiten das zu erledigen. Meine Softwareimplementi... | |||
| 15 - Allgemeine Frage zum Lernpaket Elektronik Start mit USB -- Allgemeine Frage zum Lernpaket Elektronik Start mit USB | |||
| Ich interpretiere das so:
Die USB-Programmierung funktioniert mit Visual Basic, die AVR-Programmierung mit Assembler und Bascom (später vielleicht auch C). Wenn Du eine zu 100% zuverlässige Aussage zum verlinten Lernpaket haben möchtest, schickst Du am besten einfach eine eMail an Burkhard Kainka: http://www.b-kainka.de/kontakt.htm Wenn es der Autor nicht weiß, dann weiß ich auch nicht weiter
Burkhard ist übrigens auch hier im Forum Mitglied, wenn ich mich recht erinnere. Das Board von der zuletzt von Dir verlinkten Seite ist das hier: http://shop.myavr.de/index.php?404;.....ID=36 Die im Lernpaket mitgelieferte Platine lässt sich wohl auch als ganz normaler USB zu RS-232-Wandler einsetzen, womit man dann im Handel erhältliche erprobte RS-232 Evaluationsboards einsetzen können sollte (bin mir da aber nicht sicher!). Weitere Empfehlungen zu AVR-Einsteigersets möchte ich nicht geben, wei... | |||
| 16 - Welche Programmiersprache für spezielles AVR-Projekt empfehlenswert? -- Welche Programmiersprache für spezielles AVR-Projekt empfehlenswert? | |||
| Hallo,
hatten wir das Thema nicht schonmal? --- Grundsätzlich ist es egal, das ist mit allen Sprachen machbar, logisch. Wenn du was wirklich Solides lernen willst, dann nimm gleich C. Wenn du schnell Erfolge willst, nimm BASIC, Wenn du den µC richtig verstehen willst und das Maximum herauskitzeln möchtest, dann nimm Assembler (AVR-Dialekt). Die Lösung des Problems sollte allgemein nicht an einer Sprache festgemacht werden, sondern allgemeiner: daher ist es ratsam, erstmal eine Art Ablaufs- oder ein Zustandsdiagramm zu erstellen. Dieses Diagramm stellt die Lösung deines Problems dar und kann dann mit hilfe einer Programmiersprache direkt gelöst werden. ... | |||
| 17 - Mein großes Azubiprojekt -- Mein großes Azubiprojekt | |||
| http://w Zitat : ww.pic16.com/en/wzcapi/ql200.htm Das ist meiner Meinung nach für einen blutigen Anfänger etwas "oversized". Gute Seiten für den PIC-Einstieg: Spruts Seite: Sehr verständlich geschrieben, die erste Anlaufstelle für Neulinge, wenn es um PICs geht. http://www.sprut.de/electronic/pic/ Der Elmer 160 PIC-Kurs: Auf englisch, aber auch sehr verständlich geschrieben und in Lektionen gegliedert (das im Kurs benutzte Experimentierbaord braucht man nicht zwangsläufig). Bietet Redundanz zu sprut, doppelt erklärt hält besser. http://www.amqrp.org/elmer160/ Das RoboterNETZ-PIC-Asse... | |||
| 18 - Bitmanipulationen bei AVR GCC -- Bitmanipulationen bei AVR GCC | |||
| Hallo Simon,
Ja, es stimmt schon: das sieht sehr kryptisch aus .
Aber Bitmasken werden allgemein genutzt, um Bits gezielt zu manipulieren. So werden z.B. Ganzzahlen benutzt, um unabhängige Flagbits zu speichern und die Auswertung dieser Bits geschieht mit Bitmasken. Das kann so aussehen: /* Wie soll die Datei geöffnet werden? */ #define READ 0 #define WRITE 1 #define APPEND 2 #define BINARY 3 FILE* mein_fopen(char const* filename, int mode) { if( mode & (1<<READ) ) dothat; if( mode & (1<<WRITE)) dothis; if( mode & (1<<APPEND))...; if( mode & (1<<BINARY))...; . . . } int main(int argc, char** argv) { . . . /* Binärdatei zum Lesen und Schreiben öffnen */ FILE* meine_datei = mein_fopen("/home/david/datei", 1<<READ|1<<WRITE|1<<BINARY); . . . } OK, das Beispiel hinkt: meist schreibt man statt 1<<1 gleich 0x1. Prinzipiell ist es aber synonym zueinander. Die Operationen dabei (|,&,^,<<) sind dabei Bitoperati... | |||
| 19 - AT90USB1287 - ISR viel zu langsam! -- AT90USB1287 - ISR viel zu langsam! | |||
| Hallo Knutwurst;
Das kann so doch nichts werden. Wenn du CLK/60 hast, dann kannst du ja nichtmal 60 elementare Instruktionen in der ISR ausführen, weil dann der nächste IRQ kommt. In einer ISR sollte man allgemein keine großartigen Berechnungen durchführen. Wenn es doch sein muss und zusätzlich zeitkritisch ist, sollte das in Assembler kodiert werden. Dann entfällt auch der enorme Overhead, den der GCC als Prolog und Epilog in die ISR mit einbaut. Hardwaremäßig wird der PC auf den Stack geschmissen und die Adresse der ISR geladen -> vier Instruktionen. Dann kommen, vom GCC erzeugt, die Sicherung des Statusregisters und die Initialisierung einiger Register und sichern alter Inhalte auf dem Stack... Allein dieser Overhad benötigt bestimmt schon 80% der 60 Taktzyklen. Schau dir diebezüglich mal das Disassembling an: avr-objdump -d objdatei Wetten, dass dort zig pops kommen, bevor überhaupt dein Kode drankommt? Fazit: schlechtes Programmdesign oder schlicht zu langsamer Controller. Schreibe es in Assembler und linke es hinzu - du darfst dann natürlich keine C-Funktionen aus ASM ausführen! Kein Frame vorhanden. [ Diese Nachricht wurde geändert von: DonComi am 5 Jul 2010 14:24 ]... | |||
| 20 - Probleme TWI (I2C) Atmega 16 -- Probleme TWI (I2C) Atmega 16 | |||
| https://forum.electronicwerkstatt.d.....r.txt
Herunterladen, eventuell die Endung .txt entfernen und mit einem Archivprogramm öffnen. Das ist ein normales TAR-Archiv. Die Bibliothek entstand, als ich noch relativ neu in der C-Programmierung war, und ändern wollte ich auch nichts mehr dran. Denk dir die Semikolons am Ende jeder Funktion einfach weg, die haben da nichts zu suchen
Zitat : Aber kannst du mir bitte nochmal erklären, was die ISR(TWI_vect) { /* wir wurden gerade adressiert */ twi_flag = 1; } Schleife genau macht? Das ist keine Schleife. Das ist ein Interrupt-Handler, also (eigen... | |||
| 21 - Temperatursensor, weitere Schaltungen über RS232 -- Temperatursensor, weitere Schaltungen über RS232 | |||
| Moin,
Ja, du kannst schon was machen: * Ponyprog2000 installieren (ist das Brennprogramm), * ATMEL AVR Studio installieren (IDE für Assembler mit Simulator), * WinAVR passend dazu (wird im Studio integriert und erlaubt das Programmieren in C) Einlesen über die Grundlagen auf mikrocontroller.net und ggfs. hier oder dort nachfragen, wenn etwas unklar ist. Dort gibt es ein C-Tutorial speziell für AVRs. In C kannst du dich auch einlesen. Es ist also genug zu tun, bis Pollin geliefert hat
... | |||
| 22 - Schrittmotoransteuerung mit PBL3717 -- Schrittmotoransteuerung mit PBL3717 | |||
Zitat : nabruxas hat am 14 Mai 2010 22:41 geschrieben : Ich glaube ich werde es nie können (wenn auch nur Ansatzweise), egal wie viel Zeit und Mühe ich einsetze. Genau das hab ich auch jahrelang gedacht und lieber versucht irgendwelche (eingebildete) Probleme mit IC-Grab und viel Hühnerfutter lösen zu müssen. Und von dem ,was hier so User wie DonComi,Jornbyte und noch paar andere programmiertechnisch drauf haben, bin ich genauso weit entfernt wie davon Bundeskanzler zu werden. Und Assembler,C und Konsorten sind in meine Birne auch nie reingegangen. Aber irgendwann bin ich über Bascom gestolpert,und da fiel mir ein das ich aus seeligen C64er Zeiten noch etwas rudimentäres Basic drauf hab. Fast gleichzeitig hab ich entdeckt,das es das Pollin-Experimentierboard für sehr kleines Geld zu erwerben gibt. Und damit hatte mich dann endgültig der Ehrgeiz gepackt,es zumindest mal zu versuchen.Da mit dem Pollinboard auch die Entscheidung ob PIC ode... | |||
| 23 - Selbstbau eines Lichtweckers mit digitaler Steuerung -- Selbstbau eines Lichtweckers mit digitaler Steuerung | |||
| Hallo Nico,
Zitat : Kannst du mir vllt. etwas Lektüre für die Lücke zwischen den ELKO-Grundlagen und der Verwendung eines Mikrocontrollers empfehlen? Oder ist gerade dafür das Evaluationsboard da? Das Eval.-Board ist vor allem dafür da, dass man eine Hardware hat, die definitiv funktioniert und alles Wichtige für den Anfang bereitstellt. Dort ist eine Beschreibung drin (auch als Download bei Pollin verfügbar), in der drinsteht, wie alles aufgebaut werden muss etc. Gebrannt wird der Mikrocontroller am besten mit Ponyprog2000 oder mit avrdude (wobei ersteres eine grafische Oberfläche hat). Um in Assembler programmieren zu können benötigst du AVR Studio von Atmel, was man dort kostenlos herunterladen kann. (Es gibt auch Opensource-Programme, mit denen ich vor allem unter Linux arbeite. Da reicht ein stinknormaler Editor und der AVR-Assembler.) Um zusätzlich C-Programme für AVRs zu entwickeln benötigt man WinAVR, das das AVR... | |||
| 24 - Mein erstes Projekt Countdown -- Mein erstes Projekt Countdown | |||
| Für das Pollin-Board reicht ein 9V/500mA Steckernetzteil.
(Gibts bei denen auch öfter mal fast hinterhergeworfen) Gleich oder Wechselspannung ist egal,der Gleichrichter etc. ist auf dem Board schon mit drauf. Und besorg dir noch ein altes 40.poliges Ide-Kabel. Das passt auf den "Wannenstecker" des Boards,und wenn du dann von der anderen Seite des Kabels den Stecker abschneidest und die Kabel aufdruselst,hast du (fast) alle Ports schön zur freien Verfügung nach "draussen" geführt. Als Software benutze ich Bascom und Ponyprog,da du aber in Assembler willst,wirst wohl AVR-Studio nehmen können/müssen. ... | |||
| 25 - AVR-Studio Fehlermeldung -- AVR-Studio Fehlermeldung | |||
| Schau mal nach, ob die Programme der Toolchain, auf die AVR Studio zurückgreift, dort sind, wo das Studio sie erwartet bzw. ob sie überhaupt da sind.
Dazu zählen z.B. der Assembler AVRASM (oder so ) sowie, im Falle von integriertem WinAVR die gesamte Sammlung an den Binutils vom GCC.
Stichworte: WinAVR GNU GCC AVR-GCC WinAvr Fehler ... | |||
| 26 - Einsteiger -- Einsteiger | |||
Offtopic : Zitat : Sprachen; Asambler (geht so) Das mit der Schreibweise üben wir noch mal.
Bei der Menge an Kenntnissen sollte das nicht allzu schwierig sein. Im Hobbybereich sind Atmel AVR und Microchip PIC verbreitet, was man benutzt ist eine Glaubensfrage. Assemblerkentnisse für die jeweilige Architektur sind nützlich, programmieren kann man in Asm, C oder für Atmel auch Basic/Bascom. Lesestoff (bunt gemischt): https://forum.electronicwerkstatt.d......html | |||
| 27 - Programmieren in C -- Programmieren in C | |||
| Sehe ich genauso.
Erstmal in PIC-Assembler einarbeiten, dann lernt man auch in C günstiger auf den Proz. zugeschnitten zu programmieren. Für den PIC die kostenlose PIC-IDE von Microchip runterladen, dann einen kostenlosen C-Compiler ( hab hier CC5X, mach aber inzwischen mehr mit AVR-gcc für Atmels) und einen einfachen Programmer von sprut bauen. Am besten zuerst ganz einfache C-Programme programmieren, wie LED blinken lassen. Oder bestehende, funktionierende Programme schrittweise mehr und mehr modifizieren. Um C zu lernen, solltest du mal den Kerningham-/Ritchie durchlesen, eine Kombo speziell für PIC ist eher unwahrscheinlich. Das M&T-BUch ist sicher auch nicht verkehrt. Lies es ruhig zuende durch
Gruß Stefan ... | |||
| 28 - Eletronic simulaor -- Eletronic simulaor | |||
Offtopic : Mit diesem Adapter, ein wenig modifiziert, so wie ich in brauchte
http://www.lancos.com/e2p/avrisp-siprog.gif Aber wie gesagt, sind AVRs, keine PICs. AVRs lassen sich mit AVR-Assembler (im Datenblatt zum jeweiligen Chip sauber beschrieben), C und C++ sowie ein paar anderen Sprachen, darunter Bascom Basic, programmieren. Für Assembler kannst du AVR Studio nehmen, für C und C++ sowie Ada die Erweiterung WinAVR, für Linux dann alles per GCC-Backend für AVRs, also Assembler, Compiler, Linker. Ich programmiere hauptsächlich in C, flotte Sachen komplett in Assembler und da, wo es auf generischen Kode und Übersichtlichkeit ankommt in C++, wobei ich das auch nur für etwas größere AVRs nehme. C++ wird natürlich nicht vollständig unterstützt, ist ja auch klar, dafür sind die Kerlchen gar nicht gemacht und Vieles ist nur über Tricksen möglich (Exceptions z.B.). | |||
| 29 - 2*16 Display an Mega 8. -- 2*16 Display an Mega 8. | |||
Verzeihung, Link übersehen...
Ich hab die LCD-Routinen (Assembler) von mikrocontroller.net mal durch den Assembler geschoben, Hexfile im Anhang. Anschluss: DB4-DB7: PD0-PD3 RS: PD4 E: PD5 Takt: 4 MHz Das sollte das LCD initialisieren und "KS" anzeigen. Wichtig: Ist schnell hingehauen und ungetestet (keine Hardware da), sollte aber eigentlich funktionieren (wenn die Routinen OK sind).
Ansonsten versuche es wirklich mal von Hand um zu sehen ob das Display reagiert und die Belegung stimmt (8 Bit). Befehle gibts u.a. http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD edit: Zitat : | |||
| 30 - C-Programmierung: Float in Int umwandeln -- C-Programmierung: Float in Int umwandeln | |||
| Hallo Don,
vielen Dank für die ausführlichen Erklärungen (Solltest Lehrer werden ),
ich hoffe/glaube... ich hab alles verstanden. Zitat : Ich persönlich programmiere nur mit einem einfachen Editor (der gerade mal Einrückung und Schlüsselworthervorhebung ("syntax highlighting") unterstützt) und parallel dazu einer Shell sowie dem Programm make. Du verstehst ja auch was vonwegen Makefiles etc., für einen Anfänger ist eine IDE einfacher. Ich muss nur Strg+F11 bzw. F9 drücken und ab geht die Post.
Zitat : | |||
| 31 - 25 Rgb Leds per PWM regeln? -- 25 Rgb Leds per PWM regeln? | |||
| Klar gibt es die.
Rechne doch mal aus, ob man es realistisch mit einem AVR hinbekommt. Alleine mit dessen Hardware-PWM-Generatoren jedenfalls nicht, da muss man schon eine eigene Software schreiben (in Assembler!). Deine PWM muss ja nicht sehr hochauflösend sein. So ließen sich schon viele PWM-Kanäle mit einem AVR mit vielen IO-Ports realisieren. Das Ganze dann als Slave ansteuern und gut ist. Es als Matrix anzusteuern ergibt aber mehr Sinn. Bei ein paar LEDn mag das noch mit einzelner Ansteuerung klappen, bei großer Anzahl läuft es eigentlich immer auf eine Matrix hinaus. Angenommen, du hast z.B. 10 Zeilen, die der Reihe nach durchgetastet werden. Eine LED hätte dann maximal einen Dutycycle von 10%. Wenn du diese LED aber nur 50% dieser Zeit einschaltest, und den Rest abschaltest, bekommst du einen noch niedrigeren Dutycycle, hier 5%. Und diese Abläufe lassen sich mit einem 'AVR noch hinbekommen, ist allerdings natürlich auch abhängig von der Zeilenfrequenz und der Auflösung der einzelnen AN-Zeiten. Ich bin z.B. grade dabei, mir einen eigenen Wecker zu bauen, weil ich mit den Standarddingern nicht klarkomme. Dort habe ich auch ein LED-Display, welches mit 1/6 Dutycycle maximal läuft und jede Segment-AN-Zeit nochmals in 32 Schritte (-> 5... | |||
| 32 - Steuerung womit realisieren? Logo, Microcontroller, AVR etc. -- Steuerung womit realisieren? Logo, Microcontroller, AVR etc. | |||
| Tach,
Gut, immerhin beherrscht du Grundlagen oder mehr im Programmieren. Da du Basic anwenden musstest sollte BASCOM Basic relativ einfach für dich sein - damit lassen sich AVRs in Basic programmieren. Ich persönlich mag Basic nicht und würde wärmstens zu C oder AVR-Assembler raten, aber damit ist dir wenig geholfen, es sei denn, du willst C lernen (das ist dafür eine gute Gelegenheit ).
Da du dir mit der Mechanik ziemlich sicher bist sehe ich keine großen Probleme auf dich zukommen. Achso: die PWM ist zwar digital (verschiedene Taktverhältnisse*, aber nur zwei diskrete Zustände), wirkt aber analog. Diese Formulierung ist ein wenig unglücklich, aber durch die Puls-Pausen-Verhältnisse wird die mittlere Leistungsaufnahme eingestellt. Wenn ich in einer Periode der PWM-Frequenz nur 1/2*T (also halbe Periodendauer) den Strom anschalte, dann wird nur die halbe Leistung pro Periodendauer umgesetzt. (Bei Motoren kommen Schwierigkeiten hinzu, aber grundsätzlich gilt es auch für sie). Einer der Vorteile: Da der PWM-Treiber nur an- oder ausschaltet wird (rein theoretisch) am Treiber-MosFet keine Leistung durch Linearbetrieb umgesetzt. Natürlich hat ein MO... | |||
| 33 - ATMEGA32 liest nur 0xFF aus dem EEPROM -- ATMEGA32 liest nur 0xFF aus dem EEPROM | |||
| Hallo!
Irgendwas stimmt nicht mit meinem Quellcode mit Assembler. Ich kann ohne Probleme verschiedene I²C-ICs steuern und auslesen, nur beim DS1307 und sogar beim 24C04 bzw SDA2516 liest der AVR nur 0xFF. Ich habe verschiedene Tests gemacht um den Fehler einzukreisen. Zuerst ein Schreibtestprogramm für den TDA6200: Code : ;********************************************************************************************* ;* * ;* Test... | |||
| 34 - AVR: C-Bibliothek in Assembler verwenden -- AVR: C-Bibliothek in Assembler verwenden | |||
Ich programmiere meine AVRs in Assembler. Ich habe es vor einiger Zeit mal mit C probiert, aber der Code der da rausgekommen ist war so überladen mit sinnlosen Anweisungen, dass ich das als "Effizienzialist" (mein Wort für "perfektionistischer Minimalist" oder "minimalistischer Perfektionist" ) nicht ansehen konnte (außerdem gingen sich dadurch einige zeitkritische Dinge einfach nicht aus).
Jetzt möchte ich aber einen Dallas DS18B20 ansteuern (Temperatur-Sensor mit 1-Wire-Interface). Es gibt davon einige Implementierungen im Internet, nur habe ich bis jetzt in Assembler nur eine sehr verbugte und eine zweite, nur für den DS18S20 (der hat niedrigere Auflösung) funktionierende, gefunden. In C gibt es einiges mehr (obwohl ich davon nichts getestet habe). Da mein restliches Programm in Assembler geschrieben ist, frag ich mich jetzt, ob es irgendwie möglich ist, eine C-Bibliothek einzubinden. Die müsste man wahrscheinlich natürlich zuerst mal in ein Assembler Listing compilieren lassen. Kann mir jemand sagen, ob und wie das möglich ist, sowas zu verknüpfen? Ich verwende avrasm2 im AVR-Studio (das ich auch gerne wegen der Debugging-Möglichkeiten weiter verwenden würde, so sehr mich auch der ... | |||
| 35 - welche Programmiersprache? -- welche Programmiersprache? | |||
Offtopic :Moin, Naja, was heißt schon sich "stark unterscheiden"? Einige bereits kodierte Algorithmen laufen bei mir 1:1 portiert sowohl auf einem mini kleinen AVR als auch als Codefragment in einem Linux-Programm. Zufällig brauchte ich zweimal die gleiche Funktionalität. Nur habe ich, wenn ich selbst mit nem sehr alten, langsamen Rechner z.B. ein Programm in C schreibe wesentlich mehr Ressourcen zur Verfügung, was z.B. dazu führt, dass ich viele Bibliotheken einbinden kann (klar, viele davon sicherlich dynamisch, was ja bei AVRs eh nicht geht... ) und mir allein schon die libc zur Verfügung steht mit printf, fprintf, scanf, sscanf, etc.
Also, die Umgebung zählt enorm, aber vom "Feeling" ist es kaum ein Unterschied. Man kann halt unter C und Linux ziemlich sorglos mit solch Speicherkillern wie printf und variablen Argumenten umgehen. Auf AVRs bitte zu unterlassen, da wird der gesamte Umfang der formatierten Ausgabe kaum gebraucht, und wenn man es braucht, dann bitte eigene, kleine Funktionen implementieren, ohne Interpretation d... | |||
| 36 - avrasm2: LWRD-Funktion gibt nur 1 Byte zurück? -- avrasm2: LWRD-Funktion gibt nur 1 Byte zurück? | |||
| Und du bist dir sicher, dass das _so_ sein soll? Das erste Byte eines Words würde nicht immer eine grade Adresse haben. Die Frage ist dann, ob der AVR da überhaupt hinspringen kann. Sollte sich das herausstellen wäre die Lösung eben doch ein Paddingbyte, also ein Auffüllbyte.
Soweit ich weiß kann dieser Assembler auch so eine Art C-Präprozessor verarbeiten, packs also in ein Makro, welches dann zu deinen Vorstellungen expandiert. ... | |||
| 37 - Zeit stoppen per Druck oder Sensor -- Zeit stoppen per Druck oder Sensor | |||
Offtopic : Sascha,das verstehst du nicht.
Schau mal,ein Bausatz ist ihm schon nur ne Notlösung Wert.Wie soll er dann erst dastehen mit was fertigem vom Discounter? So ein selbstprogrammierter AVR (möglichst noch mit Schild dran) macht doch viel mehr her... Schaun wir mal,ob er gewillt ist Assembler oder Bascom zu lernen...
... | |||
| 38 - Probleme mit Mfile (WinAVR) -- Probleme mit Mfile (WinAVR) | |||
| Hallo zusammen,
ich bin gerade dabei, mich nach langer Zeit wieder mit Mikrocontrollern zu beschäftigen. Ich habe zwar noch geringe Assembler-Kenntnisse aus meiner Schulzeit, will aber auf C umsteigen. Dafür habe ich mir die Entwicklungsumgebung WinAVR und Ponyprog geholt, dazu das AVR Evaluationsboard vom Pollin. Die Probleme beginnen dabei, dass Make All mit folgender Meldung endet: make.exe: *** No rule to make target `main.elf', needed by `elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:01 Heißt das, dass das Makefile nicht passt? Ich habe im Mfile folgendes eingestellt: Main file name: der Name der C-Datei MCU Type: ATmega8 Programmer: stk200 Port: COM1 Ich habe auch schon einige Tutorials usw. durchgeschaut, ich komme aber einfach nicht drauf, was das Problem ist. Könnt ihr mir da weiterhelfen? Im voraus vielen Dank. ... | |||
| 39 - Brandmeldeanlage realisieren -- Brandmeldeanlage realisieren | |||
| Mahlzeit Ralph,
Du hast ja im Ansatz Recht: Assembler ist meist das Optimum. Aber ich tue mir das nicht mehr an. Angefangen habe ich bei den AVRs beispielsweise auch mit Assembler und kann es auch immer noch. Nur sehe ich nicht ein, warum ich als Programmierer mir mehr Gedanken über die Verwaltung des Heap und des Stacks machen sollte, als über die eigentliche Programmlogik. Deswegen bin ich dazu übergegangen, nur noch kleine µC direkt in Assembler zu programmieren, größere werden in C kodiert. Sollten dort zeitkritische oder speicherkritische Algorithmen gebraucht werden, dann kodiere ich weiterhin in Assembler, und binde den erzeugten Objektkode in meinem C/C++-Programm mit ein. Das ist überhaupt kein Problem. Und ich habe kürzlich scherzhaft mal den avr-g++, also den GCC mit C++-Backend für AVRs, bemüht, und wollte wissen, ob er effizienten Kode erzeugt - und siehe da: sehr wenig Overhead. Das kommt vor allem daher, dass Exceptions und dynamische Speicherverwaltung sowie die STL nicht implementiert wurden. D.H., ich habe ziemlich knackigen Kode, der auch verdammt schnell rennt. Dennoch kann ich objektorierntiert programmieren, sowie Operatoren und andere Dinge überladen, polymorphe Funktionen benutzen, Namensräume benutzen und so weiter. ... | |||
| 40 - Unregelmäßiges Stroboskop -- Unregelmäßiges Stroboskop | |||
| So in etwa,ja.
Jetzt brauchst nur noch etwas Assembler oder BAscom zu lernen,dann ist das ganze nur mehr eine Fingerübung. Falls du wirklich mit µC anfangen willst,würde ich den Erwerb des "AVR-Evoluationsboards" bei Pollin vorschlagen.Kostet als Bausatz nur 15 Teuros,und kann mit verschiedenen AVRs.Brauchst eigentlich nur noch einen PC mit serieller Schnittstelle,ein KAbel und Ponyprog. Und wenn du z.B. den Atmega 8 nimmst,hat der noch ettliche Ausgänge mehr. ... | |||
| 41 - AVR - I²C-Slave -- AVR - I²C-Slave | |||
| Hallo!
Ich bin neu hier und habe ein kleines Problem, in Sachen I²C-Slave. Ich habe einige I/O-Expander in einer Steuerung und es ist immer lästig, mehrere davon zu verbauen, weil diese nur 8-Bit-Versionen sind und hatte die Idee, einen AVR-µC die Sache übernehmen zu lassen. Also 16 oder 24Bit wären da schon drin. Nur habe ich das Problem, dass ich es nicht zusammen gebracht habe, einen I/O-Expander zu simulieren, der über I²C-Bus ansprechbar ist. Der AVR sollte über die Adresse 196 ansprechbar sein und die nachfolgenden Datenbytes auf den Ports PC und PD des ATMEGA ausgeben. Vielleicht ist es auch möglich diesen auszulesen über die Adresse 197 und das PORTC und PORTD wird gelesen. Da ich nur Erfahrungen in Assembler habe, wäre es toll, wenn da jamand eine Lösung hätte. Ich sag jetzt schon Danke und einen guten Rutsch ins neue Jahr! ... | |||
| 42 - Suche: Programm für Diascanner in Assembler -- Suche: Programm für Diascanner in Assembler | |||
| Hallo Forum,
Ich habe mich bei einem Projekt in der Zeit verschätzt und jetzt brauche ich eure Hilfe. Also folgendes: Ich habe eine Art Diascanner gebaut(den ich zu Weihnachten verschenken möchte), bei dem eine Kamera vor einen Diaprojektor montiert ist. Diese Kamera wird über einen Elektromagneten ausgelöst, der über ein Relais mit einem ATtiny15 angesteuert wird(PB1). Der Mechanismus, der die Dias schiebt, wird ebenfalls über ein Relais mit dem gleichen ATtiny15 angesteuert(PB0). Mir ist beim Bau die Zeit davongelaufen und jetzt habe ich keine Zeit mehr ein Programm für den AVR zu schreiben. Ich bin in sachen Assembler ein totaler Anfänger und darum würde es bestimmt eine ganze Woche dauern, bis ich so ein Programm zusammengeklöppelt hätte. Die Zeit habe ich natürlich nicht mehr. Darum dachte ich mir: He, warum fragst du nicht die Experten im Forum, für die ist das doch Kinderkram. Ich würde mich also total freuen, wenn sich einer von euch erbamen könnte und mir hilft, mein Program rechtzeitig auf die Beine zu stellen. Also hier das was ich ganz genau brauche: Ich brauche eine Programm für einen ATtiny15L, dass: 1. Sofort nach dem einschalten Spannung bei PB1 anlegt(5V). 2. So solange ausharrt, bis jemand den Taster an PB3 betätigt(der is... | |||
| 43 - Real Time Clock IC an AVR -- Real Time Clock IC an AVR | |||
| Ein fröhliches, vorweihnachtliches Hallo an Alle!
Ich versuche , aus reinem Spass an der Freude, AVRs in Assembler zu programmieren. Also deklariere ich generell mich als Anfänger! Lauflichter, (interne)Timer, LCD Ansteurerung, etc. klappen zwar nicht immer auf Anhieb, aber mit genügend "Hirnschmalz" geht es dann doch! Nun möchte ich mal die Kommunikaton zwischen zwei Bausteinen austesten und auch verstehen. Als neues Bastelundverstehprojekt erdachte ich mir eine Uhr. Es soll ein ATmega16, zweizeiliges Display und eine externe RTC zum Einsatz kommen. Nun ist meine Frage, welche RTC (von den vielen erhältlichen) auch bei Re.....t oder so günstig zu erwerben ist, und ob Jemand bei evtl. Verständnisproblemen meinerseits, bereit ist, mir unter die Arme zu greifen. Auch Links zu diesem Thema sind willkommen. Am liebsten wäre mir eine serielle Verbindung zwischen RTC und AVR (an I2C traue ich mich noch nicht heran). Ralfi [ Diese Nachricht wurde geändert von: Tim Taylor am 19 Dez 2008 18:19 ]... | |||
| 44 - C oder Assembler was ist besser? -- C oder Assembler was ist besser? | |||
| Hallo,
das ist eine schwierige Frage, mit Assembler lernt man sehr gut den Aufbau des Controllers kennen und kann so seine Programme optimal anpassen. Bei größeren Programmen wird es mit Assembler aber schnell unübersichtlich, außerdem lassen sich Programmteile und -routinen in C leichter in weiteren Programmen wiederverwenden, so dass man nicht jedes Mal das Rad neu erfinden muss. Ich persönlich habe mit Assembler für AVR angefangen, bin aber nach einer Weile aus obigen Gründen auf C umgestiegen. Ich würde Dir empfehlen, Dich erstmal mit dem Datenblatt des Controllers zu beschäftigen und vielleicht das ein oder andere kleine Programm in Assembler zu schreiben, z.B. eine LED mit einem Timer blinken lassen, Daten per RS232 zu empfangen und auf einigen LEDs auszugeben etc. Die Bezeichnungen der einzelnen Steuerregister für Timer und Schnittstellen etc. wirst Du schließlich auch in C kennen müssen. Danach würde ich mich aber verstärkt auf C konzentrieren, da die Sprache hardwareunabhängig ist und sie Dir früher oder später an vielleicht ganz anderer Stelle wieder begegnen wird. Was den oft angesprochenen Geschwindigkeitsvorteil von Assembler angeht: Ein guter C-Compiler wie der AVR-GCC für die AVR-Mikrocontroller erzeugt von sich aus schon recht guten Code... | |||
| 45 - 11x11 LED Matrix und Microcontroller -- 11x11 LED Matrix und Microcontroller | |||
| Hallo nochmal! Ein kleiner Nachtrag:
Ich hab mir jetzt so ein ATMEL Evaluationsboard gekauft, zusammen mit einem ATmega8. Ich hab es auch schon zusammengelötet und möchte nun, ganz simpel, dass die beiden LEDs auf dem Board leuchten. Dafür hab ich unter Verwendung eines mikrocontroller.net -Tutorials dieses Assembler-Programm geschrieben: .include "m8def.inc" ldi r16, 0xFF out DDRD, r16 ldi r16, 0b00110000 out PORTD, r16 ende: rjmp ende Meine Frage(n): Kann das so funktionieren, und wie bekomme ich es jetzt in den AVR? Serielles Kabel hab ich und auch die Programme PonyProg und das AVR-Studio...nur wie benutze ich die richtig? ... | |||
| 46 - TTL und Microcontroller -- TTL und Microcontroller | |||
Zitat : Quasi ein Programmierprogramm für Leute die kein Plan haben von den Programmiersprachen ? Irgendne Sprache musste ja können bzw lernen, sonst wird das garnix. Außer du kaufst dir nen Lego Mindstorms, mit der IDE konnte ich den RCX auch ohne Englischkenntnisse programmieren
Falls du wirklich keine Sprache kannst, würde ich dir Assembler (bei kleinen bis mittleren µCs) oder C (bei großen µCs) ans Herz legen. Bei Assembler kommts drauf an, für welchen µC du programmieren willst (PIC, AVR, Intel etc), denn jede Architektur hat seinen eigenen Assemblerdialekt. ... | |||
| 47 - I2C Ansteuerung Atmel -- I2C Ansteuerung Atmel | |||
| Hallo!
Ich soll eine I2C Interface zwischen einem PIC (dsPIC30f6014A) als Master und einem ATMEL als Slave (ATMega128) herstellen. Ich habe auch soweit die Software fertig und auch das Signal des PIC ist soweit in Ordnung, nur leider reagiert der TWI Interrupt am Atmel nicht!! Hier das Ausgangssignal des PIC: Gesendet wird zuerst 0xC4 (0x62 Slave-Adresse und als LSB 0, da es win Writezyklus ist: Nun zum Atmel, der irgendwie nichts mit dem Signal anfangen kann bzw. nicht reagiert. Das ist mein Assembler Code für den Atmel-Slave: Code : | |||
| 48 - welchen Microcontroller und wie damit umgehen? -- welchen Microcontroller und wie damit umgehen? | |||
| Hallo,
bei Mikrocontroller.net finden sich schöne Tutorials zu den AVRs an sich (http://www.mikrocontroller.net/articles/AVR-Tutorial) sowie zum offenen C-Compiler AVR-GCC (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial). Letzterer lässt sich in die kostenlose Programmierumgebung AVR Studio von Atmel einbinden, so dass Du unter der gleichen Programmoberfläche Assembler und C programmieren kannst. Zum Kennenlernen des Controllers eignet sich Assembler besonders, weil man sich mit der Struktur des Controllers bewusst auseinandersetzen muss, für größere Projekte würde ich aber wegen der Übersichtlichkeit und der einfachren Wiederverwendbarkeit von Code C empfehlen. Von Basic würde ich hingegen generell abraten, da man sich hier leicht einen schlechten Programmierstil angewöhnen kann, der einem bei der späteren Programmierung in C böse ein Bein stellt. Zum Einstieg ist das schon erwähnte Board von Pollin eine gute und günstige Möglichkeit, ein Programmieradapter für die serielle Schnittstelle ist direkt int... | |||
| 49 - 18B20 Temp Sensor mit Atmega8.... Bitte um Tipps -- 18B20 Temp Sensor mit Atmega8.... Bitte um Tipps | |||
|
Hallo Ich beschäftige mich schon einige zeit mit den AVR's Heute wollte ich mal einen Temperatursensor 18B20 von Dallas-Maxim ansteuern und über UART ausgeben. Da ich bis jetzt nur die basics von assembler kann also Port high low etc.. hab ich mir für den UART den beispiel code von hier geholt. Funktioniert einwandfrei. Da ich aber nun dachte, alles copy paste das kanns doch nicht sein wollte ich mir die ansteuerung des 18B20 selbst erarbeiten. Mit grosser freude kann ich nun sagen das ich ihn initialisieren konnte. Doch leider ist hier auch schon ende.... Ich weiss nämlich nicht wie ich Hexdezimal CC zum Sensor übermittle Fertigen Code möchte ich nicht... wenns geht wäre ich froh wenn ihr mir tipps gebt wie man das am einfachsten löst. Mein derzeitiger Code: Code : | |||
| 50 - ECU für einen Rasenmäher - wer wäre interessiert? -- ECU für einen Rasenmäher - wer wäre interessiert? | |||
| Moin Moin,
Zitat : [...]Assembler-Fetischisten (DonComi,Jornbyte u.a.)[...] Früher stärker als heute. Dennoch programmiere ich öfters in AVR-Assembler, wenn es nicht in Klimmzügen enden soll. Es ist imho wesentlich einfacher, Assemblerprogramme einfach, effektiv und schnell zu schreiben, als so einen Murks erzeugen zu lassen. Allerdings ist der avr-gcc mit seiner Toolchain fast so gut, wie ein erfahrener Assemblerprogrammierer, für andere Zielsysteme sowieso, da der AVR-Assembler vergleichsweise einfach ist und viele Instruktionen genaugenommen gemogelt und doppeltgemoppelt sind, einige werden wissen, was ich meine. sbr und ori oder sehr viele andere Instruktionen haben sinnigerweise den gleichen Instruktion-Code (und wenn das Zielregister und die Konstante gleich sind sogar den gleichen Opcode ).
Mittlerweile, seit ca. 2 Jahren schreibe ich fast ausschließlich in C, hat gewisse Gründe und Vort... | |||
| 51 - Wo den C-Befehlssatz (gcc/WinAVR) für ATMega(8) finden? -- Wo den C-Befehlssatz (gcc/WinAVR) für ATMega(8) finden? | |||
| Mit dem AVR-gcc wird ANSI-C programmiert, die Register für Spezialfunktionen sind im jeweiligen Datenblatt(!) des µC ersichtlich.
--Das Datenblatt des µC ist das wichtigste Dokument beim proggen!!!!!-- Diese Register heißen dann logischerweise auch bei avr-gcc gleich und sind in der ioxx.h definiert. (z.b.: iom8.h) In der ioxx.h finden sich auch die Namen der Interruptvektoren. Mich verwundert jetzt, dass du mikrocontroller.net schon erwähnt hast und trotzdem nach einer Doku fragst!?!? mikrocontroller.net ist DIE Doku wenn es um AVR-Programmierung geht. Auf der Seite findet sich eine Doku sowohl für Assembler, als auch für C, die eigentlich alle Dinge die man für AVR-Programmierung braucht enthält. Auch für dein Problem ist da alles dabei
meg ... | |||
| 52 - Zeitmessanlage mit Startampel selberbauen -- Zeitmessanlage mit Startampel selberbauen | |||
| Ich würde mal an deiner Stelle versuchen,mich schon etwas in eine Programmiersprache (Assembler/Bascom etc.) einzuarbeiten,sowie mir einen AVR "auszugucken",der die benötigten I/O-Ports besitz und mich in dessen Datenblatt einarbeiten.Da haste vermutlich ne Weile zu tun.Ich persönlich bevorzuge für meine kleinen Anfängerübungen den Atmega8.Der hat eigentlich alles drin,was man für den Anfang so braucht(oder denkt zu brauchen).
Zu Bascom kannst auch mal bei www.rowalt.de nachsehen. Dann festlegen,wie,wann und warum du was abfragen willst,und wie du die Treiber für die Lampen/die Datenausgabe etc. steuern willst und wie du das ganze versorgen willst. Dann kannste Teile bestellen,auf Verdacht macht das meiner Meinung nach keinen Sinn. Und die "elektronische Stoppuhr" ist im AVR schon mit drin.Mußt sie halt "nur" richtig programmieren. Und übe schon mal immer Leiterplatten herstellen(layouten ätzen etc.) falls du das bisher noch nicht getan hast.Der Mega8 hat 28 Pins, der Mega16 schon 40 .Das wird mit Loch/Streifenraster und "Fädeldraht" sonst eine Sch**ß Arbeit
... | |||
| 53 - Lichtschranke mit Reaktionszeit, Ratschläge gesucht! -- Lichtschranke mit Reaktionszeit, Ratschläge gesucht! | |||
| Man kann auch einen sehr exakten Takt erzeugen (Quarz).
Dieser geht, mit einem UND verknüpft, auf einen BCD-Zähler mit mehreren Stellen, ggf. vorher noch über einen geeigneten Teiler, damit das Ergebnis auf den 7-Segmenten nicht umgerechnet werden muss. Im Normalfall liefert der LS-Ausgang low, der Takt & low ergibt low, es wird nicht gezählt. Ändert sich nun der Zustand von low auf high, passiert der Referenztakt das Undgatter und kann gezählt werden, bis er wieder gesperrt wird. Es müssen einige Sachen beachtet werden 1. Die LS muss entstört werden 2. Sie muss unabhängig vom permaneten Licht sein und nur auf Änderungen reagieren, 3. Der Takt und Vorteiler sollten einerseits an die Genauigkeit 10ms und an die maximale Unterbrechungszeitspanne angepasst werden. Es müssen Schranken gesetzt werden, da ja sonst die Anzahl der 7Segmente steigt. Also: hohe Genauigkeit -> relativ kurze Torzeiten, oder rel. niedrige Genauigkeit -> größere Torzeiten. Anders ginge es auch mit einem Mikrokontroller, ist aber mit Programmierung verbunden. Das ist zwar ein Segen, da es recht schnell machbar ist, dafür erfordert es Kenntnisse der entspr. Mnemonics des ... | |||
| 54 - LM 7001 (Radio PLL) mit AVR ansteuern -- LM 7001 (Radio PLL) mit AVR ansteuern | |||
Willkommen im Forum.
Zitat : Nur wie kann ich die Datenübermittlung realisieren? Was soll ich sagen? Beide miteinander verbinden und den AVR entsprechend programmieren.
*arroganz-aus* Such dir einen AVR aus (mega8 ist für den Anfang nicht schlecht) und frag die Forensuche oder Google nach einem Tutorial. Dort wird erklärt wie der AVR funktioniert, wie man ihn programmiert und wie man die Ports ansteuert (das ist sozusagen die Verbindung zur Außenwelt, die Ein- und Ausgänge). Programmieren kannst du in Bascom (Demoversion kostenlos bis 4kB Code), das wird hier oft kritisiert (auch von mir), ist aber für schnelle Erfolge gut geeignet. (Alternativen: C und Assembler). Details (auch zum Programmieren usw.) stehen bei Google oder im Forum. Viel Erfolg, wenn die ersten paar Programmzeilen im µC gelandet sind ist das Ganze ... | |||
| 55 - Interrupt funktioniert nicht -- Interrupt funktioniert nicht | |||
| Freut mich,
und schön, dass es noch Leute gibt, die Assembler für AVR lernen .
Das ist das sinnvollste um anzufangen. ... | |||
| 56 - Spannungs-Anstieg ganz langsam? -- Spannungs-Anstieg ganz langsam? | |||
Zitat : Ich würde auch ein paar nehmen.Ab 10 Stück gibts den für 1,40€,sonst 1,90... Na toll - kann man also satte 5 Eumel sparen. Wenn wir die 10 Stück dann 5:5 oder 3:7 aufteilen, kann man damit glatt die zusätzlichen Versandkosten kompensieren. Lohnt sich also nicht wirklich. Ich werde zwischen den Feiertagen mal hier in Minga bei Bürklin und Holzinger reinschneien, das sind so ziemlich die einzigen interessanten Läden, die von der ehemaligen Elektronik-Meile Schwanthaler/Schillerstr. übriggeblieben sind. Ansonsten gibt's da ja fast nur noch "Türk Alimentari", "Türk Hava Jollari", "Import/Export Izmir Gülgülü" usw. Nicht dass ich was gegen Türken hätte, aber mit dem derzeitigen Warenangebot kann ich halt nichts mehr anfangen. Und im Versandhandel wird sich wohl die nächsten Tage nicht viel abspielen, da sehe ich eher schwarz, als die U2008-Mimik noch in diesem Jahr zum Leuchten zu bringen. | |||
| 57 - Einstieg in µC??? -- Einstieg in µC??? | |||
| Moin,
Das geht eigentlich schnell. Ich denke, so nach 2-3 Tagen wird das erste Programm, sehr einfach, laufen. Typisch sind LED-Blinker oder auch Taster-drücken-LED-anmachen-Programme. Das Ganze hängt aber auch damit zusammen, wie du programmieren willst: 1. sehr leicht, aber für absolute Programmieranfänger schon schwierig: Bascom Basic 2. wesentlich komplexer, aber extrem vorteilhafter, da sehr gut implementiert und getestet von einer großen Community: C (avr-gcc und binutils) 3. Wesentlich umständlicher, aber nicht unbedingt schwerer, wenn grundsätzliche digitale Schaltungsgrundlagen (Register, Latche, größere Speicher, Zähler, Bitmanipulation etc.) vorhanden sind: Assembler (-> Instruktionen, die dann nur noch durch den Assembler kodiert werden. Du musst quasi genau das machen, was du sonst rein diskret aufbauen würdest. Z.B. gibt es Instruktionen, die man auch quasi als Baustein der diversen Digitalschaltkreisfamilien erwerben kann) Ich würde entweder direkt Maschinensprache/Assembler oder Basic empfehlen. C kann man später lernen, da die Sprache ansich einen größeren Lernaufwand darstellt. Dafür ist der erzeugte Kode quasi so perfekt, dass man nur selten Assembler benötigt, was ... | |||
| 58 - µController -- µController | |||
| Unter diesen Voraussetzungen würde ich zu Atmel greifen, der Programmer AVRISP MKII ist USB und für nicht allzuviel Geld z.B beim Reichelt erhältlich. Dazu bekommst du die Software AVR Studio um den Controller zu flashen oder Programme zu simulieren.
Compiler gibt es gratis, ich verwende WinAVR mit AVR-GCC, einem open source C-Compiler. Damit geht eigentlich alles was mit den Controllern möglich ist, bisher musste ich kein Assembler lernen, obwohl das gemäss der Ansicht von Vielen den besten Einblick in die Funktionsweise der Controller gibt und man damit die letzten paar % Leistung aus den Käferchen herausquetschen kann. Mit C kann man jedoch mit weniger Aufwand komplexe und sehr leistungsfähige Programme erstellen. Als Einstiegsliteratur empfehle ich dazu das AVR-GCC Tutorial von mikrocontroller.net: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial und natürlich das Datenblatt eines AVR-Prozessors, erhältlich auf der Website von Atmel. Als Einstiegscontroller ist ein ATMega48 oder 88 sehr gut, der hat viele Funktionen und ist von der neusten Generation. Wenn du einen AVR kennst kannst du mit allen arbei... | |||
| 59 - Kann man Ausgänge am ATtiny2313 als TriState oder OpenDrain definieren? -- Kann man Ausgänge am ATtiny2313 als TriState oder OpenDrain definieren? | |||
| [OT]
Zitat : Die Basic- und C-Leute wundern sich nur über rätselhafte Resultate. Moin perl, Zumindest was Basic betrifft stimme ich dir voll und ganz zu, das ist meiner Meinung nach das reinste Gekrüppel... Was C betrifft jedoch nicht, denn der Maschienenkode ist schon sehr krass; das bekommt man kaum besser hin. Die Optimierung des avr-gcc' macht das schon sehr gut. Zumal man über den Präprozessor und das Einbinden externer Programme, z.b. nen Treiber für ein LCD, sein Programm sehr gut und überschaulich gestalten kann. Weiterhin lassen sich Mnemonics per Inline-Assembler einbauen oder ganze Maschienenkode-Teile einbinden. Also, so genialen Asm-Kode bekommt man kaum selbst hin - Es sei denn, man will das Programm nie portieren o.ä. Da bekomme ich dann auch wesentlich besseren Asm-Kode als avr-gcc es könnte. [/OT] ... | |||
| 60 - Drehgeber mit Bascom auslesen und PWM regeln -- Drehgeber mit Bascom auslesen und PWM regeln | |||
| Hallo Drecksack,
Das schaffst, keine Frage
Was meinst du, warum ich dsmit angefangen habe, µCs zu programmieren... Ähnlicher Traum. Nur konnte ich eben vorher schon C, habe aber auch mit Bascom gestartet, es dann aber eine Woche später entnervt entfernt und angefangen, AVR-Assembler zu lernen. Den kann ich zwar komplett (doch, das kann man so behaupten ), bin jetzt aber wieder bei C da das unter Linux viel Spaß macht und da C einfach flexibler als Basic und Maschinensprache ist.
Also, ich will dir damit nur sagen, wie weit dich so ein Traum bringen kann
Das kann dann auch über µCs hinausschießen, so wie bei mir grade. Achso, eines ist aber unabdingbar: du musst öfter ins Datenblatt schauen, Bascom bringt zwar vieles mit, aber ohne Datenblatt wirst du einiges einfach nicht verstehen bzw. hardwarenahe Sachen (und im Prinzip ist das alles seeehr hardwarenah, nur Bascom verschleiert das) laufen einfach mit mehr Kenntnis besser , auch wenn das Datenblatt auf englisch ist.
... | |||
| 61 - Gitarrenefecktgerät selbstbau (mit µC) -- Gitarrenefecktgerät selbstbau (mit µC) | |||
| hi
erstmal vielen dank für alle eure antworten!!! ist der alte thread noch auffindbar?? oder komplett verschollen? hmm wie siehts mit den og fragen aus? wegen werkzeug kenntnissen und material (vor allem material werkzeug denke ich ist vorhanden, kenntnisse muss ich ggf noch lernen (deshalb das ganze ja^^) und material muss ich nächste woche sowieso bestellen und da kann ich das, was ich dafür brauch auch mitbestellten... ich hätte am liebsten einen atmega 8535 verwendet, weil ich mir da schon ein testboard für gebastelt hab... software hab ich ponyprog und zum schreiben das avr studio von atmel genomme... brauch ich da mehr kann ich die weiterverwenden? (ach ja sprachen bis jetz nur assembler...) wie siehts mit geschwindigkeit aus? reicht ein 4mhz quarz? usw usw also was brauch ich im endeffekt alles? bzw was muss der controller ansich mitbringen (oder ich nachrüsten)? gaaaaanz andere frage... lassen sich eigentlich als ram auch alte computer rambausteine verwenden (ps2)? mfg Stefan ... | |||
| 62 - Messsignalauswertung im ADU Atmega32 -- Messsignalauswertung im ADU Atmega32 | |||
Zitat : Bitte um reichlich antworten und hilfen hierzu. Du musst doch Vorkenntnisse in AVR-Assembler haben, wenn man dich beauftragt, sowas zu programmieren. Habt ihr das in der Schule gelernt? Wenn nein, warum dann der Aufwand? --- @Kleinspannung ADU steht für Analog-zu-Digital-Umwandler, ich hätte erwartet, dass du da von selbst draufkommst. ADC ist das gleiche und Deutsche Bezeichnungen haben was .
zum Thema: wie von Kleinspannung angesprochen gibt es mehrere Modi des ADU ( ) und für welche man sich entscheidet hängt maßgeblich von der gewünschten Abtastfreuqnez ab.
Ich rate zu keiner sehr hohen Abtastfrequenz, sondern von vielleicht 16 Abtastungen pro Sekunde und dann der Bildung eines Mittelwertes. Die Auflösung des ADU sollte 10 Bit sein, dann wird das schon sehr genau. Genaugenommen kann man auf die Mitte... | |||
| 63 - AVRs unter Linux programmieren -- AVRs unter Linux programmieren | |||
| Hallo Liebe Forenmitglieder,
Da ich nun fast vollständig auf Linux umgestiegen bin, musste ich zwanghaft eine Alternative für das gute alte AVR-Studio finden. Hier nun eine kleine Liste mit guten Tools für Linux rund um AVRs: - Programmer: avrdude (unterstützt so ziemlich alle Programmer, auch die Lowcost-Varianten für den Parallelport) - Compiler: avr-gcc und binutils bietet die Möglichkeit, C und C++ (eingeschränkt!) für AVR zu kompilieren und Assembler zu assemblieren und zu linken. Ist die gleiche Sammlung an Tools, die WinAVR bietet fürs AVR-Studio) - IDE: kontrollerlab (bzw. KontrollerLab) ist eine komplette Entwicklungsumgebung für KDE, enthält umfangreichen Editor (mit Syntaxhighlighting und automatischer Einrückung), Serielles Terminal, Projektdateienanzeige, eingebaute Funktion zum kompilieren und übertragen des Programmes via avrdude. -> http://www.cadmaniac.org/projectMai.....erlab ... | |||
| 64 - LCD initialisieren -- LCD initialisieren | |||
| Hallo,
Das ist ja ein Wald- und Wiesen-Display. Da hättest du per Suchfunktion komplette Kodes finden können, habe hier mal ein Archiv mit Kode in C hochgeladen. Ich hänge dennoch, weil heute ein schöner Tag ist, ein Dokument an, wo exakt beschrieben ist, wie initialisiert werden muss. Da ich nicht weiß, in welcher Sprache du schreibst, kann ich dir nicht groß weiterhelfen. Es lässt sich aber sehr gut in allen Sprachen machen, ich habe es bisher in Basic (gaaa...nz am Anfang), in AVR-Assembler und C geschrieben. P.S.: Quelle des Dokuments ist pollin.de. ... | |||
| 65 - Punkte zähler -- Punkte zähler | |||
| [ot]
@Bastler: War eine Ansteuerung für eine Audioschaltung. Da ich mehrere Quellen zum Steuern hatte (Fernbedienung/Computer/Frontplatte/automatisch) musste ich sauviele Digital-ICs auf eine Platte bringen. Das waren soviele, dass ich es nicht gemacht habe sondern angefangen habe, mich mit µCs zu beschäftigen. Die habe ich erst in Basic programmiert, dann Assemblersprache für AVR gelernt. Jetzt mach ich alles unter Linux und in C/C++ und mit Assembler. [/ot] ... | |||
| 66 - Zählervergleich geht schief -- Zählervergleich geht schief | |||
| Moin,
wenn ich, egal ob C oder Assembler, externe Pins zuweisen möchte, dann so: irgendein Header: #define LED_NETZ PORTB4 #define LED_STATUS PORTB7 / .equ LED_NETZ = PORTB4 .equ LED_STATUS = PORTB7 ... im Programm: PORTB |= 1<<LED_NETZ; //LED geht an PORTB &=~(1<<LED_NETZ); //LED geht aus, alle anderen Bits bleiben, wie sie waren PORTB |= 1<<LED_NETZ|1<<LED_STATUS; //Beide LEDn anschalten ... bzw. in AVR-ASM: in wr, PORTB ori wr, 1<<LED_NETZ|1<<LED_STATUS ;beie LEDn anschalten out PORTB, wr oder, wenns es eine LED oder allgemein was anderes ist: sbi PORTB, LED_NETZ / cbi ... Um das alles noch "universeller" zu machen, kann man auch noch den PORT definieren und fortan nur noch den Aliasnamen benutzen. Das macht bspw. Sinn bei LCD-Routinen, wo die Belegung ändert und man am Kode selbst nichts mehr ändern braucht. OK, aber manchmal mache ich auch Klartext, z.b., wenn ein kompletter Port Ausgang ist: ldi wr, 0xFF out DDRx, wr Da mache ich dann eben ohne den Shiftoperator, weil das viel zu lang wäre
... | |||
| 67 - Professionelle Software für Microcontroller Programmierung? -- Professionelle Software für Microcontroller Programmierung? | |||
| Hallo,
ich bin auf der Suche nach einer Professionellen Software für die Microcontroller Programmierung. Für: -Atmel AVR/AVR32 -PIC Was sollte die Software können: Assembler und C Programmierung Debuggen direkter upload zum uC board. Gerne auch zwei verschiedene Programme einmal für AVR und einmal für PIC. Am besten wäre es wenn die Software für Linux verfügbar wäre, wobei für Windows auch in Ordnung wäre. Der Preis ist erst einmal Nebensächlich, es ist klar das gute Software oft gutes Geld kostet. Würde mich sehr freuen, wenn ihr mir da weiter helfen könntet ... | |||
| 68 - PIC als Ersatz für einen CD4017 ? -- PIC als Ersatz für einen CD4017 ? | |||
| "Moin",
Ein Mega8 ist dazu wohl doch zu schade, wie ich finde. Der hat viel zu viel Potential. Zitat : Mir ist auch nicht recht klar, wie du die 10 Ausgänge des 4017 auf die verbleibenden 5 Pins verteilen willst. ---> Zitat : [...]ich eh nicht 10 Ausgänge bräuchte, sondern eben mal 3 oder 4.[...] --- Zitat : | |||
| 69 - Unterforum \"µc für Anfänger\" ? -- Unterforum \µc für Anfänger\ ? | |||
| Hallo Leute!
Mir kam grad so eben der Gedanke,ob man nicht noch ein Unterforum gründen könnte wo simpelste Grundlagen und Anfängerfragen zu µc und Programmiersprachen gestellt werden können.In der normalen Microkontrollerabteilung geht es ja doch mehr ans Eingemachte und man traut sich ja nicht so richtig die Eingeweihten mit Kinderkram zu nerven. Hintergrund der Frage ist: Ich hab mal wieder mein Pollin-Board und mein Bascombuch hervorgeholt und wollte mal wieder paar Fortschritte machen.Dabei hab ich gemerkt,das ich eigentlich schon an einfachen Sachen scheitere. Wie erkläre ich dem AVR,das ich keinen externen Quarz habe sondern den internen Oszillator nehmen will,bzw.wie stelle ich den ein.Was muß bei der Syntax beachtet werden,wie toggle ich einen Port richtig und und und...Bessere Literatur außer dem Buch von Claus Kühnel hab ich auch noch nicht gefunden,und wen außer euch sollte ich jetzt meine blöden Fragen fragen ... Kommt mir jetzt aber keiner damit,das ich Assembler lernen soll,das geht in meine Birne nicht rein.Aber ein wenig Basic kann ich noch... Und ich bin auch keine 20 mehr und studiert habe ich auch nicht. Deshalb täte ein bischen Hilfestellung not... Ja,ich geb zu,auf Arbeit ist grad nicht viel los,und ich hab da Zeitweis... | |||
| 70 - Einführung in die Mikrocontrollertechnik -- Einführung in die Mikrocontrollertechnik | |||
| Hallo zusammen,
ich stehe gerade vor einem kleinen Problem und zwar versuche ich mir die komplexe Welt der Mikrocontroller ein bischen näher zu bringen. Ich haben zwar schon unterschiedlichste Themen in diesem Forumsabschnitt gelesen, jedoch hat mir das bisher noch nicht so richtig weitergeholfen. Nun besteht bei mir besonders Interesse erst einmal einen gewissen Überblick zu µC Typen, Herstellern, sowie deren Anwendungsgebiete(im Hobbybereich) zu bekommen. Nun die Frage: Gibt es Fachbücher zu diesem Gesamtthema und nicht nur zu einem bestimmten Gebiet(wie z.B. AVR Atmel oder PIC Controller), die einem ein wenig den Weg weisen? Da ich wie gesagt auf diesem Gebiet ein ziemlicher Anfänger bin und die µC-Technik gerne in meine Hobbyelektronik mit eingliedern möchte, wäre ich auch dankbar für Vorschläge, um sich z.B doch gleich auf einen gewissen Typen zu auszurichten, der sich auch für den praktischen Einstieg gut eignet. Nur kenne ich eben die Einzelheiten der jeweilige Typen nicht und wüsste gerne welcher für einen Einstieg(ich habe gehört die Programmiersprache Assembler soll sich dafür besonders gut eignen) ratsam wäre. Vielen Dank schon mal im Voraus Robert ... | |||
| 71 - RGB-LED Matrix -- RGB-LED Matrix | |||
Hallo Labersack ( )
Aus dem letzen Posting von stalky13 geht das aber hervor. P.S.: Ich weiß, es ist ein ewiger Glaubenskrieg zw. AVR- und PIC-Programmierern, aber ich würde nochmal empfehlen, einen AVR zu verwenden, weil: - sie bei 20MHz auch bis zu 20MIPS Umsatz haben, - sie recht günstig sind - und die meisten eine UART haben. - es einen komplett kostenlosen Assembler und C-Compiler gibt. Basic kann man eh vergessen, die ist zu langsam und zu abstrakt. ... | |||
| 72 - Problem mit Pony Prog ISP... MISO auf HI kommt nicht runter... -- Problem mit Pony Prog ISP... MISO auf HI kommt nicht runter... | |||
| Hi meinst du das hier??
http://neil.fraser.name/software/lpt/lpt.exe was soll ich damit genau machen?? (muss dazu sagen ich will erst anfangen assembler zu lernen (wenn doch der programmer endlich mel funktionieren will )
-ISP+AVR acnhließen, starten und screenshot machen?? (und hier posten)? Sry meinte mit "llerlauf" den Ruhezustand... und dort hab ich dann zum PC hin und zum µC ein Hi Signal... Am einganh des HC244 hängt dirket der µC dran... Vielen Dank!! mfg ZeRo-Cool ... | |||
| 73 - Mikrowellecontroller Projekt -- Mikrowellecontroller Projekt | |||
| Hallo zusammen! Ich lese mich nun 2 wochen durch dieses interessante
Forum und möchte nun meine Fragen und anliegen stellen.In der Schule beschäftigen wir uns seit neuestem mit Microcontroller..ein sehr interessantes Fach was vieles möglich macht.Nun sollten wir uns Paarweise zusammenschließen und ein Projekt ausarbeiten.Das Projekt wurde uns vom lehrer vorgegeben.Unser Thema ist....Messauswertung des normalen bzw einfallendes licht als Ausgabe in Lux auf einem Lcd Display.Natürlich kommt noch das drumherum hinzu..wie Netzteil und Fotodiode zu Messauswertung und zur Weitergabe auf den Microcontroller...Unsere erste überlegung war womit wir programmieren und welche soft.. wir dachten an C-Control von Conrad was wohl in diesem Forum nicht gern gesehen ist.Alternative AVR!?? Meine Frage ist was ihr davon denkt..welche Sprache (Assembler oder C) welche software? Welcher Controller? Über Meinungen,Anregungen,und Tipps wäre ich erfreut..vielleicht auch ein Paar Ansätze oder habt ihr Erfahrungen mit vergleichbaren Themen? Bitte um Antwort bis später ... | |||
| 74 - Delay Befehle verursacht grosses .hex file -- Delay Befehle verursacht grosses .hex file | |||
| Ich weiss ja nicht was der Compiler da genau macht, noch kenne ich mich mit der Hardware des AVR genau aus (nur PIC)
Aber wenn man davon ausgeht dass er mit 20 Mhz rennt, 4 Taktschritte für einen Befehl verwendet und Dann mal 10 ms Pause mit nop befehlen füllt, dann kommt man Bei 16 bit Worten ziemlich genau auf 10Kb Nop Guck dir doch mal den Sourcecode in Assembler an. Ich kann mir zwar nicht vorstellen, dass der den delay mit NOP füllt, aber evtl gibt es ja einen besseren befehl dafür. ... | |||
| 75 - PIC: Multiplikation mit Festwert -- PIC: Multiplikation mit Festwert | |||
| denke dir mal ordentliche titel aus......
ich kann selbst kein assembler aber 5 sec google waren hilfreich...http://www.avr-asm-tutorial.net/avr......html http://www.sprut.de/electronic/pic/assemble/befehle.html ... | |||
| 76 - Ledlaufschrift -- Ledlaufschrift | |||
| Da hast du noch nie mit diesen µC zutun gehabt.
Ich habe Assemblerprogramme geschrieben, die verdammt groß sind, alles für AVRs. Mittlerweile jedoch prograsmmiere ich in C, geht einfach schneller (vom Aufwand her) und ist portabel und komfortabler und kaum besser-machbar .
Nur noch kleinste Teile mache ich in Assembler, beispielsweise einen Kontroller, der irgendwie einen Haufen Funktionen übernimmt, die aber alle von einem zentralen µC gesteuert werden können, dieser ist dann in C programmiert. Im Endeffekt ist es eine Glaubenssache, ob man PIC oder AVR einsetzt. Ich glaube an AVR .
... | |||
| 77 - Nulldurchgangdetektor -- Nulldurchgangdetektor | |||
| Hallo Danke erstmal für eure Antworten.
Das Teil brauche ich für meinen Abschlußprojekt. Es wird eine Geschwindigkeitsmesseinrichtung für Werksgelände die anzeigen wird um wieviel schneller als 20 km/h fährt. Ich habe bei Firma Innocent einen Radarsensor (24.125 GHz) bestellt.(s.u.) Ich arbeite zur zeit mit Atmega16 (weil ich den mit meiner development tool bekommen hab) natürlich weis ich dass alle MC eigene Merkmale haben. Was ich meinte, ich hätte gern paar gute beispiele und eine erklärung zumindest für einen von AVR typ. Ich kann Assembler und C alles von AVR-Tutorial.Hab zuerst mit Assembler angefangen wie es üblich ist .
Du hast recht wegen Phasenverschiebung habe nicht nachgedacht. Gibt es möglichkeit diese Frequenz zu ermitteln? Danke ... | |||
| 78 - Suche einfache Lösung für mein Problem -- Suche einfache Lösung für mein Problem | |||
| Ich möchte gerne einen AVR AT90S2313 als I²C-Slave verwenden und suche eine einfache Lösung .
Die Ansprechadresse sind in HEX C0, C2, C4, und C6. Das Instructionbyte sollte dann im Register R16 und das Databyte im Register R17 landen. Aber auch eventuell falls I-D-I-D gearbeitet werden sollte noch R14 und R15 verwendbar sind. Also START-Adresse-Byte1-Byte2-Byte3-Byte4-Stop. Dann könnte man für Byte1 R14, Byte2 R15, Byte3 R16 und Byte4 R17 verwenden. Die Register könnte ich dann leichter für meine Zwecke weiter verwenden, mir fehlt nur Ansatz für die Slave-Steuerung. Assembler wäre mir am liebsten, das behersch ich etwas besser als C oder Bascom. ... | |||
| 79 - Probleme beim AVR programmieren -- Probleme beim AVR programmieren | |||
Warum kann man sich den Schaltplan nicht ansehen?
Zitat : Überleg dir nochmal, ob du dir wirklich Basic antun willst. Ich würde dir wärmstens C empfehlen. Was hast du gegen Basic? (du programmierst in Assembler wenn ich mich richtig erinnere oder?)
Sicherlich nicht die effizienteste Sprache, aber für den Anfang probier ich es damit. Wenn ich etwas mehr Ahnung von der Materie hab kann ich mir C ja mal anschauen. Zitat : Ist der Programmer denn überhaupt kompatibel mit dem BASCOM-Programmiertool? Also laut Roboternetz.de ist... | |||
| 80 - Schaltung für in den PC -- Schaltung für in den PC | |||
| Hallo,
man kann Programme z.B. über die serielle Schnittstelle (RS232 konkret) in den Controller laden, das setzt aber ein kleines (Boot-)Programm voraus, welches bereits im Controller sitzt und brav wartet, bis z.B. eine Programmiersequenz gestartet wird. Also nix für Anfänger. Weiterhin empfehle ich gradezu das Erlernen des AVR-Assemblers, das mag vllt. schwer sein zu anfang, aber es macht mehr Sinn, als auf einer hohen Abstraktion zu programmieren. Vermutlich gibt es einen Compiler für Delphi, aber da kann ich nichts zu sagen. Für mich gibt es nur Assembler und C .
Wie auch immer, als Programmieradapter empfehle ich den Paralleladapter von Ponyprog (http://www.lancos.com/prog.html) und dieses Programm ebenfalls zum Flashen und konfigurieren deines AVRs. IO kann man beliebig erweitern, indem man die Daten nicht parallel sondern seriell ausgibt und dann ans Ende ein Schieberegister hängt. Das geht sowohl für Ein- als auch Ausgänge (selber schon sehr oft gemacht). Dafür empfehle ich allerdings dann den Einsatz von Assembler, da man hier sehr schnelle Routinen schreiben kann, die innerhalb von einigen µs die Schieberegister aktualisieren. Analog-Ein- und Ausgänge... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag heute wurden bisher 17 Beiträge verfasst 110 Besucher in den letzten 60 Sekunden alle 0.55 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |