Gefunden für befehle avr controller - Zum Elektronik Forum |
1 - AVR PC verbindung, hab kein peil... -- AVR PC verbindung, hab kein peil... | |||
| |||
2 - Wie komme ich an eine Hilfe für die bascom-Syntax? -- Wie komme ich an eine Hilfe für die bascom-Syntax? | |||
Nabend zusammen, ich habe angefangen mit AVR-Mikrocontrollern zu experimentieren, der Hintergrund meiner Frage "Wie komme ich an eine Hilfe für die bascom-Syntax?" die in Bascom für Windows vorhanden ist ist folgender:
* kein Windows Rechner nur Linux * kein unbegrenztes Internet nur 3GB für 4 Wochen * der Bascom-Editor mit wine gestartet blockiert das System und ist nicht brauchbar Die Programmierumgebung sieht unter Linux bei mir so aus: * Mouspad (ein Editor) mit selbst erstellter Syntax-Hervorhebung * der Bascom-Compilern läuft mit wine * avrdude sorgt für das schreiben auf den Mikrocontroller und setzen der Fusebits * reichlich Skripte die es automatisieren So weit so gut, was mir fehlt sind Hilfen wie vereinzelte Befehle gehandhabt werden, aktuell Interupts. Gibt es irgendwo eine Befehlsreferenz mit Beispielen die ich runter laden kann und dann offline lesen kann? Eine gute Seite ist z.B. https://avrhelp.mcselec.com/bascavr_kwindex_dyn.html alle Versuche diese mit webhttrack zu speichern sind gescheitert, ich möchte doch nicht für jeden Befehl in e... | |||
3 - Alternative zu Ponyprog? -- Alternative zu Ponyprog? | |||
Hallo liebe Kollegen!
Da ich auf Grund fehlender Funktionen/Befehle nun eine der neueren Bascom-Versionen installieren mußte,ist mein uralt-programmier-Schleppi an seine Grenzen gekommen. (vermutlich wissen einige nicht mal,das es einen PII/233mHz gegeben hat,und das man mit 160mb Ram und Win98ME auch programmieren kann ![]() Jetzt hab ich das ganze versucht auf meinen Toshi zu portieren,den ich immer mit auf Montage schleppe. Und der zum Glück noch ne serielle für mein Pollinboard hat. ![]() Nur läuft auf dem Win 7 64bit,und das und Ponyprog verstehen sich nun mal überhaupt nicht. ![]() Ich hab alle möglichen Versionen und Tricks aus dem Netz ausprobiert. Eine ältere Ponyprog Version läuft,nur kennt die weder einen ATTiny 13,2313 oder Mega88. Auch Ponyprog 2000 und die Dings-Bumms I/O Treiber haben nix gebracht. Nun hab ich keine Idee mehr,außer neuer Hardware. Allerdings würd ich meine "Programmierumgebung" ungern entsorgen ![]() (warum muß man eigentlich alles immer so lange verschlimmbessern,bis es nur noch mit ausgewählten Komponenten funkt... | |||
4 - Wer hilft mir, WinAVR zu konfigurieren? Oder hat jemand eine bessere Software? -- Wer hilft mir, WinAVR zu konfigurieren? Oder hat jemand eine bessere Software? | |||
Zitat : ffeichtinger hat am 23 Jan 2015 09:12 geschrieben : Zitat : Nur ist die IDE halt einfach hundert mal besser, als alles, was es unter Linux gibt. Naja, wenn man auf solche IDE's so steht dann stimmt das wahrscheinlich. Aber ich zum Beispiel tue das nicht. Ich für meinen Teil brauche keine grafische Benutzeroberfläche die die ganze Sache unnötig aufbläst und viel komplizierter aussehen lässt als sie eigentlich ist. Extrembeispiel ist für mich Eclipse. Hier braucht man zuerst mal ein halbstündiges youtube tutorial wenn man einfach nur eine nackte C-Datei (und sonst nichts) öffnen und kompilieren will! Bei AVR-Studio ist es wo... | |||
5 - Serielle Schnittstellen - grundlegende Fragen -- Serielle Schnittstellen - grundlegende Fragen | |||
Hallo,
der I2C scheint in der Tat sehr interessant zu werden für mich. Kurz eine Frage dazu: es gibt einen Master und es sind mehrere Slaves möglich. Die Slaves reagieren auf die vom Master gesendeten Befehle. Somit ist eine Rücksendung (Rückmeldung; Bestätigung, dass der im Slave empfangene UND AUSGEFÜHRTE Befehl) vom Slave an den Master nicht möglich? Oder weiter gedacht: Wenn ich eine kabelgebundene Fernsteuerung bauen möchte, bei der ein Empfänger von mindestens einem Sender (bei Bedarf auch mehrere, gleichberechtigte Sender) gesteuert werden soll, kommt hier der I2C in Betracht, oder wäre das nichts für den I2C? Alles auf Basis Arduino - AVR... Andi ... | |||
6 - Umstieg Windows auf Linux (Fragen) -- Umstieg Windows auf Linux (Fragen) | |||
Hallo Leute,
ich hätte gerne mal eure Meinung gehört. Ich arbeite zur Zeit mit Win XP und möchte auf Linux umsteigen. Bei mir läuft seit längerem ein Rechner mit Linux Kubuntu 12.04. Mit dem Betriebssytem kenne ich mich einigermaßen aus. Ich arbeite (eigentlich mehr herumspielen) mit Bascom, AVR-Studio und Codeblocks. Nach und nach möchte ich ganz von Bascom wegkommen und nur noch mit C/C++ programmieren. Bascom läuft bei mir unter Kubuntu mit Virtual Box. Unter Wine hatte ich immer Probleme mit der Darstellung. Leider läuft AVR-Studio nicht unter Linux. Ich möchte das nicht auch noch in Virtual Box laufen lassen, da kannn ich ja gleich bei Windows bleiben. Welches Programm ist also für diesen Zweck empfehlenswert ? Es wäre schön wenn es die gleiche Funktionalität wie AVR-Studio hätte, also mit Debugger und Möglichkeit einen Programmer anzusteuern. Auch möchte ich nicht tausend Befehle für eine Kommandozeile lernen müssen. Über Anregungen würde ich mich sehr freuen. Peterschrott ... | |||
7 - Modellbahn Weichenantrieb mit PC schalten -- Modellbahn Weichenantrieb mit PC schalten | |||
Moin!
Zitat : Ahja, jetzt verstehe ich. Und wieviel 4094 kann ich dann betreiben? Theoretisch: beliebig viele, praktisch ist das von einigen Bedingungen abhängig. Diese Schieberegister benötigen, wie man aus der vom Kurzarmigen verlinkten "Schaltung" entnehmen kann, drei Signale: Daten, Takt und ein Latch-/Speichersignal. Dazu werden die Daten serialisiert, d.h., man schiebt ein Bit nach dem anderen in das Register. Sind alle Bits übertragen, dann werden die eingetakteten Bits in ein an das Schieberegister gekoppeltes Speicherregister (Latch) geschrieben und erscheinen wieder parallel am Ausgang. Dieses Latch ist im CD4094 schon drin, man müsste also eigentlich von einem Schieberegister mit Latch sprechen. So, es dauert einfach eine gewisse Zeit, bis 56 Bits ausgegeben wurden, vor allem, mit der verlinkten Schaltung dauert das, weil die RS232-Schnittstelle damit zweckentfremdet wird, normalerweise nutzt man sie ... | |||
8 - Atmega TWI 24c04 lesen / beschreiben -- Atmega TWI 24c04 lesen / beschreiben | |||
Das setzt aber voraus, dass eine Instruktion und das passende Argument immer 8 Bit groß sind bzw. nicht größer sein dürfen (es sei denn, man kodiert die Instruktionen entsprechend).
Ein 24C02 kann aber nur 256 Byte speichern und nicht 512. @perl Ein AVR kann aus externen ROMs kein Programm ausführen. Nur der Interpreter für diese 21 Befehle würde, sofern schlecht programmiert, bei ungültigen Instruktionen Mist bauen. Edit: denn ich habe erasure so verstanden, dass er diesen Kosmos-Computer mit einem AVR emulieren will. Das Programm in form dieser 21 Instruktionen soll von einem seriellen EEPROM ausgelesen und ausgeführt werden. Den Sinn verstehe ich zwar nicht ganz, kann man doch mit dem AVR direkt Programme ausführen, allerdings erkenne ich den akademischen Anreiz ![]() [ Diese Nachricht wurde geändert von: DonComi am 17 Jul 2012 0:43 ]... | |||
9 - Welche Programmiersprache für spezielles AVR-Projekt empfehlenswert? -- Welche Programmiersprache für spezielles AVR-Projekt empfehlenswert? | |||
Hallo,
ich möchte eine Lichtsteuerung mit einem AVR bauen. Aus einem Musikprogramm (ProTools) werden bei bestimmten Kommandos viele SysExDaten (über den MIDI-Strang) gesendet. Eine "Packung" dieser Daten ist zuständig für das Auslösen des von mir gewünschten Impulses (die SysExDaten sehen z.B. folgendermaßen aus: 00 F0 15 15 00 12 00 F7). Diese SysExDaten (bzw. "Packungen") sind mir im Vorfeld bekannt. Mein Ziel: Der AVR soll aus den vielen Daten, die "unterwegs" sind, bei 2 "Packungen" (wie grad eine genannte) anfangen, von mir definierte Befehle auszuführen. Der AVR soll also in die Lage versetzt werden, aus den vielen Daten, die an seinen Eingängen reinkommen, die speziellen zu erkennen und diese dann für die weitere Verarbeitung anzuwenden. Da ich bisher Anfänger bin auf diesem Gebiet der MC´s, sind einige Sachen beim Einstig in die Materie noch unklar. Speziell habe ich im Zusammenhang mit dem genannten Vorhaben die Frage, welche Programmiersprache für den AVR ist dafür geeignet? Soviel ich bisher mitbekommen habe, sind manche Sprachen einfacher als andere, dafür aber nicht so detailiert. Mein Vorhaben erscheint mir allerdings auch nicht die ganz einfachste Aufgabe zu sein. Und da ich ohnehin am Anfang stehe, möchte i... | |||
10 - ATmega8515 mit STK-500 und AVR-Studio 4 -- ATmega8515 mit STK-500 und AVR-Studio 4 | |||
Hallo DonComi,
schreib du nächstes mal bitte meinen Namen richtig, dann überlege ich es mir mit den Fragezeichen noch mal :-). Jetzt mal ernst. Es hängt an allem. Ich habe mir mal angesehen, wie ich ein Programm in AVR Studio einstelle. Aber der Anfang, das schreiben selbst, die einzelnen Befehle, wie ich die Flachbandkabel richtig auf dem Board stecken muss usw. Bin ein absoluter ANFÄNGER. sorry LG ... | |||
11 - LCD Displayinhalt zu RS232 wandeln? -- LCD Displayinhalt zu RS232 wandeln? | |||
Hallo,
ER benötigt die Beschreibung für die Befehle und wie die Daten übertragen werden müssen, damit sie dort landen, wo sie hinsollen; also am besten das ganze Dokument. Zitat : Lösche Displayinhalt Wähle Spalte x Wähle Zeile y Schreibe 2400.000 GHz M-1 Wähle Spalte x1 Wähle Zeile y1 Schreibe Signal ##### Lösche Displayinhalt Das kursiv Hervorgehobene natürlich nicht, sonst verschwindet ja gleich wieder alles. Es kann sein (das musst du selber nachschauen), dass das BAS-Modul die Möglichkeit bietet, den Cursor/die Schreibposition per Koordinaten zu platzieren, oder aber, dass mithilfe von typischen Steuerzeichen gearbeitet wird; also z.B. \n für neue Zeile oder \t für eine Einrückung (TAB). Kann auch sein (wie gesagt, deine Aufgabe, mal nachzuschauen bzw. dafür zu sorgen, dass der Programmierer die richtigen Daten hat) dass derlei Steuerzeichen ignorier... | |||
12 - 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 : | |||
13 - programm für attiny -- programm für attiny | |||
danke für dein vorschlag Racingsascha werde es gleich mal ausprobieren
und du meinst das das blinken dann aufhöhrt Zitat : Zum Anfang würd' ich 'C' nehmen - besser lesbar als ASM und die Entwicklungsumgebung ist mit AVR-Studio und WinAVR kostenlos. woher bekomme ich eine liste für die ganzen befehle die ich da reinbauen kann??? [ Diese Nachricht wurde geändert von: baubau am 18 Nov 2008 19:27 ]... | |||
14 - Verkaufe fiele Fertige Module AVR / Velleman / Conrad -- Verkaufe fiele Fertige Module AVR / Velleman / Conrad | |||
Hallo ich verkaufe hier meine nie fertig geworden Hausteuerung.
Bei den meisten teilen sind noch die Original Rechnungen & Garantie dabei. Ich mach vorerst eine Aufzählung der zu verkaufenden Teile. IR Trans: Mediacontroller V3.6 Infrarotdatenbank mit 64K Flashspeicher für ca. 500-800 IR Befehle. Ideal für Gerätesteuerung in Verbindung mit Hardware RS232 (NP 201€ + 1 Jahr Garantie) Info : http://www.irtrans.de/de/shop/mediacontroller.php http://www.irtrans.de/download/Docs/Mediacontroller_DE.pdf AVR Mikrocontroller Bord von Roland Walter Neu und noch ein Jahr Garantie. (NP 99€) Buch "AVR Mikrocontroller Lehrbuch" + Platine (bestückt, getestet) + ISP-Programmieradapter +Zubehör Info : http://www.rowalt.de/ Sensory VD 368 Spracherkennung für elektronische Geräte (NP 42€) Info : | |||
15 - Wo den C-Befehlssatz (gcc/WinAVR) für ATMega(8) finden? -- Wo den C-Befehlssatz (gcc/WinAVR) für ATMega(8) finden? | |||
Hallo.
Ich hab mal wieder meinen ATMega8(L) ausgegraben, diesmal zu WinAVR-20080411, AVR-Studio 4(SP2) und PonyProg gegriffen und eine Testplatine und einen LPT-ISP-Programmer gebastelt. Als ersten Schritt dann von http://www.roboternetz.de oder http://www.mikrocontroller.net ein 'Hello World'-Programm besorgt und erfolgreich getestet. Nachdem das Basteln an fertigen Programmen seinen Reiz verloren hat, stehe ich nun vor dem Problem, dass mir eine Auflistung der wichtigen Befehle für den Mega8 in C (gcc/WinAVR) zur Realisierung meiner Ideen fehlen. Auf die IOm8.h bin ich schon gestoßen, nur hilft deren Inhalt mir auch nicht weiter. Um mein aktuelles Problem zu nennen, ich suche den Codeschnipsel für den Unterprogrammaufruf für den Overflow-Interrupt von Timer0. (Müsste Richtung "ISR(TIMER0_OVF_vect) {}" lauten.) Momentan stehe ich halt wie ein Ochs vorm Berg und weiss nicht, ob der Fehler an der Initialisierung, falschem Code oder fehlendem Oszi liegt. | |||
16 - 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 ... | |||
17 - Einstieg in µC??? -- Einstieg in µC??? | |||
Ich versuchs mal. Bin aber auch Anfänger, also ohne Garantie. ![]() Zitat : 1. Parameter einstellen, wie Taktfrequenz, genutzter µC 2. Schritt-für-Schritt-Simulation mit STRG+F11 (oder F9-F12, irgendwas da oben ) starten. 3. Mit F11 (oder F10?) kannst du nun jede einzelne Zeile ausführen lassen. Programm schreiben, Strg+F7 für "Build and Run", F11 für Einzelschritt. Zitat : kann ich ein einzelnes bit überprüfen (vergleichen) oder nur ein ganzes register? Bei solchen Fragen hilft das Instruction Set. Guck dir mal SBRC, SBRS, SBIC und SBIS an. Ich würde das ungefä... | |||
18 - µController -- µController | |||
Die Grundlagen bestehen doch aber nur aus den diversen Logikbausteinen.
eine CPU macht, mal vereinfacht ausgedrückt, nichts anderes. Ich habe mir damals die Liste mit den Befehlen ausgedruckt, und täglich in der Bahn gelernt. Zudem ist in der Hilfe/Dokumentation zum AVR Studio eine exzellente Bescheibung aller Befehle, sogar mit Opkodes und so weiter, enthalten. Das ist eines der wenigen Windowsanwendungen, die ich vermisse, seit ich auf Linux umgestiegen bin. Das blöde ist bei dir, dass, soweit ich mich recht entsinne, du keine Programmiersprache beherrscht, also gewisse Grundlagen aus dieser Sicht fehlen. Allerdings kann das auch ein Vorteil sein, denn wenn man beispielsweise Basic oder C++ kann, dann kommt einem Assembler, also das direkte Programmieren in Maschinensprache, etwas "umständlich" und langatmig vor ![]() [ Diese Nachricht wurde geändert von: DonComi am 20 Dez 2007 19:22 ]... | |||
19 - Bluetoothmodul mit Uart ansteuern -- Bluetoothmodul mit Uart ansteuern | |||
Hi @ all
Ich wollte ein Bluetoothmodul mit der Uart-Schnittstelle eines Atmega8 (3686400Hz Quarz) ansteuern. Habe es allerdings nicht geschafft. Ich finde den Fehler nicht. In diesem Programmcode versuche ich wenigstens das Bluetoothmodul mittels Handy zu finden. Ich wollte den Programmcode so einfach wie möglich machen ( da ich noch Anfänger bin im uC programmieren). Hier mal der Code: Code : --------------------------------------------------------------------- #include "Headerfiles.h" #include <AVR/io.h> //Defin... | |||
20 - Drehgeber mit Bascom auslesen und PWM regeln -- Drehgeber mit Bascom auslesen und PWM regeln | |||
Hallo,
OCR ist das Register für den Vergleichswert, n ist ein Index, der von Timer zu Timer unterschiedlich ist: Beispielsweise ist OCR0 das Vergleichsregister von Timer0, OCR1 von Timer1 und OCRn von Timern (Je nach Ausstattung hat ein AVR mehrere Timer, verschieden große Timer und verschiedene Timermodi) Zum Enkoder: Das ist eben das Problem von Bascom: Es gibt tausend Befehle, aber keiner weis so recht, wie er funktioniert. Also: Der zurückgelieferte Werte entspricht einem dekodierten Graykode: So ein Enkoder spukt seine Werte graykodiert aus, jenachdem ob hoch oder runtergezählt wird wurde entweder nach links oder rechts gezählt. Das ist der Wert, den die Funktion Encoder zurückliefert, nehme ich mal stark an. Jetzt kann man das auch anders auswerten, z.b. über XOR-Verknüpfung beider Phasen und jeweils dem Wert, der eine Messung vorher gespeichert wurde. Gibt es denn keine exakte Beschreibung und Konfiguration der Encoder-Funktion? Zum Testen des Enkoders: Vermutliche Belegung ausprobieren, indem ein Pin auf Masse, die anderen beiden über Widerstände 1-100kΩ gegen Plus gelegt werden. Diese beiden kommen dann an je einen Kanal am Oszi; dann wird probiert, wann ein Signal auf beiden Kanälen kommt, dass ... | |||
21 - SAT Receiver selber bauen -- SAT Receiver selber bauen | |||
Zitat : eine Bauanleitung wo steht wie ich die Teile verlöten muss bzw. was für Teile ich alles brauche? Sehen wir es mal realistisch. Nein, so einfach ist das nicht möglich! Und ein µC kann zwar ein AVR sein, aber nicht alle µCs sind auch AVRs. Wie stellst du dir das vor, einfach irgendwelche Teile aneinanderzulöten? So trivial ist das nicht. Ich bezweifle zwar nicht, dass es fertige SAT-Tuner gibt, die eine digitale Steuerung implementiert haben (und sowas wird bei dir vermutlich drin sein), aber du musst auch entsprechende Daten über das verwendete Protokoll, über Bitmasken und Befehle, über Konstanten und Bitpositionen haben. Ohne das alles wird es fast unmöglich. Wobei man vllt. kleine Erfolge mit dem Mitloggen diverser Logikpegel einer vermuteten Schnittstelle erziehlen kann. ... | |||
22 - PIC oder ATMEL für MEIN! geplantes Vorhaben -- PIC oder ATMEL für MEIN! geplantes Vorhaben | |||
Hallo,
wie schnell muss denn die Logik sein? Wenn diese gemütlich ist, dann ließe sich sowohl Ein- als auch Ausgangsseitig mit Schieberegistern arbeiten. Das hat den Vorteil, dass nur 3-4 Datenleitungen pegelgewandelt werden müssen. (Takt ist gemeinsam, Datenein- und Ausgang, Latch-Leitung). Das macht aber nur in bestimmten Fällen Sinn, der Prozessor muss genügend Zeit zum Lesen der Daten, zum Verarbeiten und zum Wiederausgeben haben. Sowohl pics als auch AVRs sind da möglich, wobei ein AVR mit 16MHz CPU-Takt auch bis zu 16Mio. Befehle (16MIPs) pro Sekunde verarbeiten kann. Beim pic, habe ich mal gehört, soll intern noch geteilt werden. Sicher nicht bei jedem, daher Datenblatt vorher lesen ![]() | |||
23 - PIC als Ersatz für einen CD4017 ? -- PIC als Ersatz für einen CD4017 ? | |||
Das Problem bei Bascom ist, dass es für alles irgendwleche Befehle gibt, die sich a) keiner merken kann und b) weit entfernen vom Chip bzw. dessen Hardware und Register.
Es gibt bei manchen AVRs diverse Stromsparmodi, die man damit startet und auch auswählt, indem man in einem dafür bestimmten Register bestimmte Bits setzt und andere löscht. Das Datenblatt gibt darüber Aufschluss, auch über das Aufwecken ![]() Der Mega8 hat 2 ext. Interruptquellen, die einen IRQ auslösen können. (IRQ bedeutet Interrupt Request; beim AVR sehen sie so aus, dass eine Interruptflagge gesetzt wird und bei aktiviertem Interrupt zum Interruptvektor gehoppst wird) Diese definiert man ebenfalls mit einem bestimmten Register, ohne das bei Bascom übliche "config INTn = rising" oder "falling". Das geht viel einfacher und hardwarenäher wenn man das entsprechende Register aus dem Datenblatt sucht und dann die richtigen Bits darin setzt. Möglich sind IRQ bei fallender, steigender, wechselnder Flanke oder bei LOW am INTn-Pin. [ Diese Nachricht wurde geändert von: DonComi am 25 Jul 2007 22:48 ]... | |||
24 - Delay Befehle verursacht grosses .hex file -- Delay Befehle verursacht grosses .hex file | |||
Hallo zusammen
Ich habe zum testen ein kleines C Programm geschrieben welches mehrmals den Befehl _delay_ms (10) beinhaltet. Ja ich weis man sollte keine Delay Befehle verwenden aber war ja nur ein kleiner Test. Nun wird leider das .hex file mit den Delay befehlen 11,3KB gross und das AVR Studio meldet, dass das .hex file zu gross für meinen AVR (ATmega48)ist. Werden die Delay Befehle auskommentiert ist das .hex file noch 893Byte gross. Kann mir jemand erklären wieso die Delay Befehle soviel Speicher brauchen. Gruss Stucki ... | |||
25 - 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 ... | |||
26 - AVR-Programmer unter WinXP? -- AVR-Programmer unter WinXP? | |||
nochmal zu 1. und 2.:
Ich dachte, die Basic-Befehle werden compiliert, und die eingebundenen SubRoutinen ($asm) assembliert. Aber wie dem auch sei, am Ende liegt ein Maschienencode bin/hex File vor, welches an den Kontroller übertragen werden muß. hier steht, daß Bascom auch ohne externe Software Schaltungen ansprechen kann. @humus: mit dem Tool meinst Du TwinAVR? (Wenn es ein AVR-Programmer für u.a.WinXP ist sollte es dort ja auch die nötigen Portzugriffe packen, oder?) Zu 4. und 5.: in der Erläuterung steht, daß bei Verwendung eines Netzteiles an der Platine die Dioden und der Elko im Programmierkabel weggelassen werden kann. Dann lege ich doch meine Netzteil-Spannung direkt auf den Parallelport oder? (Verursacht das nicht irgendwelche Störungen im PC, oder hab ich da irgendwas übersehen?) @dombrowski: kann man die Platine nicht erst nach dem Booten des PC mit dem Parallelport verbinden? (also meine, vor einigen Jahren mal zusammengelötete Parallelport-Test-Platine hat beim booten auch auf diversen Datenleitungen geblunken ![]() Achso, wegen des Verpols... | |||
27 - IC: Frequenz -> Bytes -- IC: Frequenz -> Bytes | |||
Zitat : Würdet Ihr eher die Frequenz nehmen oder die Spannung?Weder noch. Ich würde einen kleinen 8-beinigen PIC oder AVR Mikrocontoller nehmen, und an einen Pin den Sensor und an einen anderen den Kondensator hängen. Mit ein bischen Programm würde ich ihm eine Periodendauermessung beibringen. Dann kommen noch ein paar aus der AN abgeschriebene Befehle für die serielle Datenübertragung und am dritten Pin, kommen dann fertigen Daten raus. ... | |||
28 - Mikrowellecontroller bequem in C programmieren -- Mikrowellecontroller bequem in C programmieren | |||
Hardware-Multiplizierer und Teiler wirst du in den kleinen
µC (Mikrokontrollern) ehr nicht finden, dies ist das Gebiet der DSPs (digital signal processor). Multiplizierer sind in Hardware sehr aufwendig zu integrieren und verbrauchen verhältnismäßig viel Chipfläche. Im normalen Verwendungsbereich dieser µC werden selten schnelle Multiplikationen / Divisionen benötigt, so dass man sie in mehreren Schritten mit den normalen ALU-Befehlen (Arithmetic Logical Unit) berechnen lässt. Der Multiplizierer / Teiler wird in Software geschrieben. Wen man sich auf Multiplikationen und Divisionen zur Basis 2 Beschränkt, geht es auch direkt mit den Schiebebefehlen der ALU. ( In FPGAs (Field Programmable Gate Array) werden vom Hersteller schon mehrere Multiplizierer integriert damit vom Benutzer dafür nicht viele Logikelemente verbraucht werden müssen, des weiterem kann man einen Multiplizierer, der schon fertig im Silizium verschaltet ist, schneller takten, als einen aus vielen Logikelementen zusammengesetzte. (Das war mal ein kleiner Einblick in die programmierbare Logik) ) Und immer der Streit Assembl... | |||
29 - Strom Spannngsmessung ( Drehzahlmessung ) von Motor -- Strom Spannngsmessung ( Drehzahlmessung ) von Motor | |||
Wenn du den Eingang z.B auf +/- 100 mV konfigurierst ergibt das mit 16 bit Auflösung eine Abstufung von 3 Mikrovolt. Idealerweise würde also ab 3 Mikrovolt ein Messwert ungleich Null ausgegeben. in Realität wird mindestens das kleinste Bit rauschen. Den ADC musst du nach dem Einschalten über die SPI-Schnittstelle initialisieren wie es im Datenblatt ab Seite 19 beschrieben ist. Der ATMega muss die entsprechenden Konfigurationsbefehle an den ADC senden (der ADC braucht nach dem Einschalten bis zu 600 ms bis er bereit ist Befehle zu empfangen, darauf muss der AVR warten). Die Schaltung ist gut so wie du sie geplant hast (wenn du die kleinen Änderungen die ich vorgeschlagen habe noch eingebaut hast). Die Konfiguration des Gainblocks, Kalibration, etc. ist dann reine Software... Auf Seite 47 stehen noch Tipps für das Platinenlayout die du dir noch ansehen solltest. [ Diese Nachricht wurde geändert von: photonic am 14 Jan 2006 14:23 ]... | |||
30 - Assemblerdirektvien im ATmega16 -- Assemblerdirektvien im ATmega16 | |||
Zitat : MinceR hat am 4 Feb 2005 15:49 geschrieben : ey moment, mir fällt gerade auf das ich somit ja auch nur 2048 befehle in nen 4k speicher krieg. das ist ja mies. Ja, die hohe Geschwindigkeit des AVR wird teilweise durch die 16bit OpCodes erkauft. Naja, man kann ja nicht alles habe: Den superkleinen Code mit hoher Geschwindigkeit ![]() | |||
31 - Projekt gesucht -- Projekt gesucht | |||
AVRs sind um einiges schneller als PICs, billiger und haben mehr Peripherie onboard. Außerdem soll auch das programmieren etwas einfacher sein.
Was ich für uC auf jedenfall empfehle: Assembler Ich mache fast alles in Assembler, nur wenn es komplizierter wird und ich viel rechnen muss, mit Fließkommazahlen o.ä. verwende ich C. Daher ist C auch sinnvoll, vor allem für größere Projekte. Und da C sowiso die weitestverbreitete Sprache ist, spricht eigentlich nichts dagegen C zu lernen. Basic empfehle ich auf keinen Fall, da dieses um einiges langsamer ist als C und derart Hardwareentfernt arbeitet, dass man zwar irgendwas programmiert, aber garnicht weiß was der uC einfach macht um das Ziel zu erfüllen. In C ist alles noch relativ gut zu verstehen, was der Compiler aus einem Befehl macht, was vor allem bei der Fehlersuche hilfreich ist, wenn man wissen will ob der Compiler beim Übersetzen einen Fehler gemacht hat. Dafür braucht man dann Assembler. Basic ist für einfache und kleine Projekte OK, aber sobald es mal etwas größer wird bekommt man nur Probleme. Und wenn du C und Assembler auf dem AVR kannst, dann ist es eine Kleinigkeit jeden anderen uC zu programmieren. Ok, man muss sich etwas in die anderen Befehle einarbeiten, aber es ist einfac... | |||
32 - welcher Atmel für Torzähler? -- welcher Atmel für Torzähler? | |||
Für Port Ein- und Ausgabe ist folgendes wichtig, um schon etwas rumprobieren zu können:
I/O Register: (x steht für den Portbuchstabe) DDRx : bestimmt ob die Pins jeweils Ein- oder Ausgabe sein soll (mit pull-up/down, oder ohne bis mehrere zig mA Ein-/Ausgangsstrom ). PORTx : bestimmt ob die Pins jeweils hoch oder tief ausgeben sollen. PINx (nur Lesezugriff) : Zeigt was der AVR an den Pins sieht. Befehle: out : I/O Register schreiben in : I/O Register lesen Beispiel: ldi r16, 0b00010110 out DDRB, r16 ; PB1, PB2 und PB4 auf Ausgang stellen ldi r16, 0b00000011 out PORTB, r16 ; PB0 mit internem pull-up hoch ziehen, PB1 auf high z.B. um ein LED Segment zu versorgen in r16, PINB ; momentanten Zustand der Pins von Port B ins Arbeitsregister r16 kopieren Von Atmel solltest du folgendes haben: AVR Studio 3 oder 4 ATMega8 Datenblatt AVR Befehlsatz ("instruction set") Noch was ganz anderes: Zeichnungen wie Schaltpläne etc. die keine fließenden Farbübergänge oder Rauschen haben, komprimiert man besser mit dem verlustfreien GIF Format als dem verlustbehaftetem für Bilder gedachten JPEG. Oder noch effizienter als GIF: PNG Beispiel: Dein Schaltplan al... | |||
33 - AT90S1200 -- AT90S1200 | |||
+00000000: C003 RJMP +0x0003 ; Destination: 0x000004 ;reset
+00000001: 9518 RETI +00000002: 9518 RETI +00000003: 9518 RETI +00000004: 2466 CLR R6 ;lösche r6 +00000005: E480 LDI R24,0x40 ; 0x40 = 0b01000000 = 64 +00000006: BB81 OUT 0x11,R24 ;ddrd pin 6 ausgang. () +00000007: E280 LDI R24,0x20 ; 0x20 = 0b00100000 = 32 +00000008: BB82 OUT 0x12,R24 ;pullupvon portd 5 einschalten, eingang ;anfang +00000009: 2700 CLR R16 ;anfang +0000000A: E3A0 LDI R26,0x30 ; 0x30 = 0b00110000 = 48; ;lade adresse von pind in X +0000000B: 918C LD R24,X ; lese was an adresse x liegt (lese pinD) +0000000C: FB85 BST R24,5 ; bit 5von r24 in T speichern(also was am eingang(pind5) anliegt in T speichern) +0000000D: F40E BRTC +0x01 ; Destination: 0x00000F ;wenn t=0 dann springe (nächsten befehl überspringen) +0000000E: E001 LDI R16,0x01 ; 0x01 = 0b00000001 = 1 +0000000F: E040 LDI R20,0x00 ; 0x00 = 0b00000000 = 0 ; +00000010: 1704 CP R16,R20 ;vergleiche r16 mit 20. equal wenn eingang portd5 =0 +00000011: F009 BREQ +0x01 ; Destination: 0x000013 wenn eingang 0 ist springe +00000012: C002 RJMP +0x0002 ; Destination: 0x000015 springe wenn eingang 1 ist. +00000013: 9A96 SBI 0x12,6 ;wenn eingang 0 dann portd6 =1 +00000014... | |||
34 - IR-Empfänger-Tester -- IR-Empfänger-Tester | |||
Hallo
Wenn du mit einer FB verschiedene Fernseher bedienen willst würde ich dir zu einer Universal Fernbedienung raten. Da sind schon alle Sachen eingespeichert. Man spart sich ne Menge Arbeit. Es wird nicht die Frequenz geändert sondern es ändern sich die Daten die übertragen werden. Sehr beliebt bei Fernsehern ist das RC-5 Signal. Wenn du was mit µC machen willst schau dir mal Bascom für die Atmel AVR Chips an, dort sind Befehle eingebaut welche RC-5 senden und auch empfangen können. Marcus... | |||
35 - Programmieren eines Roboters -- Programmieren eines Roboters | |||
Hi zusammen,
soweit ich weiß sind die AVRs In-circuit programmable,d.h. man kann den µC direkt in der Zielschaltung programmieren... man muss eventuell ein paar widerstände an die Programmierleitungen packen, um den Programmieradapter von der Schaltung zu trennen (100% sicher bin ich mir da aber nicht). Eine andere Möglichkeit wäre es eine VM auf dem AVR zu schreiben,die einen Pseudo-Maschienen Code ausführt,den man sich so zusammenstellen kann,wie man will. Das hat jemand für den PIC16F84 gemacht: nannte sich PICARO,oder so. Vorteil dabei: Man kann sich Assembler-Befehle ausdenken: z.B. WLCD wert für Write-LCD, oder MUL op1 für eine Multiplikation. Gruß, SIGINT P.S.: Ganz vergessen: Bei der VM kann man auch ein Remote-Bootloader einbauen,der das Programm per RS232 in den Speicher lädt :) [ Diese Nachricht wurde geändert von: SIGINT am 19 Sep 2004 20:41 ]... | |||
36 - STK500 und Atmel 2051 -- STK500 und Atmel 2051 | |||
Beide haben vor und Nachteile.
Wenn du in das Thema Mikrocontroller einsteigst und in Assembler programmieren willst, würde ich die den AT89C2051 empfehlen, der hat weniger Mnemonics (Befehle die du dir merken musst) als der AVR. Für C würde ich den AVR wie den AT90S1200 oder 2313 empfehlen (ist Pin kompatibel zum AT89C2051). Wenn es etwas größer sein darf, den ATmega8 und als 8051 den AT89S51.... | |||
37 - Ist diese Steuerung realisierbar ? -- Ist diese Steuerung realisierbar ? | |||
Hallo
Machbar ist das auf jeden Fall. Jetzt stellt sich halt die Frage in welcher Sprache du die Dinger programmieren willst.Assembler, C, .... Ich habe selbst noch nichts mit Pics gemacht. Ich nehme die AVR von Atmel und dann Bascom (Basic Compiler). Damit kann man recht schnell sein Programm am laufen bekommen. Da sind auch Befehle für LCD und Tempsensor (1-Wire DS18S20). Dann ist es auch nicht mehr weit bis zum fertigen Programm. Marcus ... | |||
38 - PS/2-Module für AVR? -- PS/2-Module für AVR? | |||
Danke für den Link!!!
Ich hab mir den CPU aus 6 AVR´s zusammengebaut. Angenommen CPU 1 läd einen 16bit Befehl aus dem Speicher, dann vergleicht er diesen Code mit den von mir im AVR abgelegten selber erfundenen Befehlen. Dadurch kann ich z.B. mit einem 16bit Befehl einen Sound von der Festplatte an die Soundkarte schicken. Da dies aber länger dauert wie echte RISC architektur hab ich 5 AVR´s eingebaut, die sich die Befehle nach einem bestimmten System aufteilen, dadurch arbeitet mein CPU sogar noch ein bischen schneller wie ein einzelner AVR und ist deutlich flexibler, da ich immer wieder neue Programme auf die Festplatte laden kann, ohne das ich die AVR neu beschreiben muss! Vielleiht hat ja jemand meine umständliche Beschreibung verstanden ![]() Gruß Tobi [ Diese Nachricht wurde geändert von: MicroTobi am 19 Aug 2004 16:36 ]... | |||
39 - VGA mit Microcontroller -- VGA mit Microcontroller | |||
Tja, den AMD oder vergleichbare kannst du eigentlich vergessen. Wie tixiv schon sagte, viel zu kompliziert.
Wobei aber der Witz ist, dass selbst aktuelle Mainboards mit 4 Lagen auskommen, und nur in den seltensten Fällen 6 Lagen haben. Somit ist auch der günstige Preis zu erklären. Der AVR könnte durchaus reichen, wenn du nen zweitn Prozessor oder FPGA als Grafikprozessor einsetzt. Läuft im PC ja auch nicht anders ab. Könntest dann Befehle implementieren, die deine Host-CPU and die Grafik-CPU weitergibt, welche dann alles berechnet und ausgibt. Nur mal so als Beispiel: In meiner alten Firma haben wir ne Hochgeschindigkeitskamera entwickelt, die keine Prozessor, sondern nur 2 FPGA's intus hat. Der eine (ein Stratix für ca. 300 €) ist für den Speicher zuständig (bis zu 8 GByte DDR-Ram), also die Generierung aller Signale für den Speicher inkl. Refresh und und und. Der zweite macht eine Verarbeitung des Bildes und speichert die Daten über den Speicher-FPGA in den Speicher. Und bei Hochgeschindigkeitskamera meine ich eine Kamera mit ner Auflösung von 1280 x 1024 Pixel bei 500 Bilder pro Sekunde und (wenn mich nicht alles täuscht) 16bit Farbtiefe. Da kannst du dir leicht ausrechnen, wie spezialisiert so ein FPGA arbeiten muß, um das zu schaf... | |||
40 - Festplatte für AVR -- Festplatte für AVR | |||
Also 1MB/s sollte eine heutige Festplatte locker schaffen. Aber ich denke der AVR wird das nicht schaffen, die Daten so schnell aus zu lesen. Auf wieviel MHz soll denn der dazu laufen ? Du musst bedenken, dass der AVR dann mit 512kHz jeweils immer 16bit auslesen muss. Fast jeder Befehl braucht 2 Taktzyklen, dass hiesst bei sagen wir mal 10MHz Takt des AVR's hast Du 10 Befehle zur Verfügung, um der Festplatte einen Takt zu verpassen, und dann 16bit aus zu lesen, und damit dann was sinnvolles zu tun. Wenn das nicht mal ne Herausforderung ist!!
Wofür soll das gut sein, dass Du so eine hohe Samplingrate verwendest? Möchtest Du nen CD-Player für Fledermäuse erfinden, oder was?... | |||
41 - CD-Rom Laufwerk als CD Player missbrauchen... -- CD-Rom Laufwerk als CD Player missbrauchen... | |||
Ok vielen werd das CD-LW dort anschliessen. Wie ist denn mein erster schritt der Programmierung des AVRs ? Welcher Befehle unterstützt der AVR von Haus aus ?
Danke Wolf ... | |||
42 - Schleife -- Schleife | |||
Ob Du Fehler gemacht hast, kann ich auf die schnelle nicht beurteilen, zumal ich diesen µP nicht genau kenne und programmiere.
Ich glaube aber, daß Du mindestens vergessen hast die Datenrichtungsregister zu initialisieren. Meist sind nch dem Einschalten alle Pins Eingänge und damit wirst Du keine LED anzünden können. Sonst ist das schon ein bischen umständlich geschrieben. Schau Dir mal die Rotier- und Schiebe- Befehle des µP an. Da kannst Du die ganze Hauptschleife mit vielleicht sechs Befehlen plus die Verzögerung machen. In der vorliegenden Form wird der Lichtwechsel auch viel zu schnell gehen, etwa im Tonfrequenzbereich. Dem kanns Du abhelfen, indem Du zwei verzögerungsschleifen verschachtelst. etwa so: mov r4, #delayValue ; 1(am kürzesten)über 2, 3,... bis 0 (am längsten) dloop: djnz r5,dloop djnz r4,dloop ; nach dieser geschichte enthält r5 stets 0 = maximale verzögerung und deshalb habe ich auf die initialisierung verzichtet. PS: Doch da Programm enthält zwei gravierende Fehler: 1) Der Sprung nach Start. Das Label gibt es nicht und eigentlich sollte der Assembler Dir diesen Fehler anmeckern. Tut er's nicht, dann taugt er nichts: Besorg Dir einen besseren oder nimm nen... | |||
43 - Gute Idee?!? µC proggen mal ganz einfach! -- Gute Idee?!? µC proggen mal ganz einfach! | |||
Hi,
sorry, aber ich halte den Ansatz für falsch. Wenn man einen MC programmieren will, muss man wohl oder übel das Handbuch lesen. Was hat der überhaupt an Peripherie drinne? Welche Ports kann ich wie benutzen? WElche Baudrate erlaubt der UART mit welchem Quarz ... Wenn man das gelesen und kapiert hat, ist imho der AVR Assembler schon recht schnuckelig. Die AVR Befehle sind an sich ja auch schon recht logisch - sie wurden meines Wissens nach in Zusammenarbeit mit Compilerbauern (na wer wohl) festgelegt... DoS [ Diese Nachricht wurde geändert von: dos6510 am 7 Jun 2003 18:36 ]... |
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 13 Beiträge im Durchschnitt pro Tag heute wurden bisher 4 Beiträge verfasst 14 Besucher in den letzten 60 Sekunden alle 4.29 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |