-
Thread
suche AVR, welcher sich periodisch ein (und aus) schaltet.
Hallo zusammen, ich suche einen möglichst kleinen (!) AVR für ein batteriebetriebenes Gerät. Der Prozessor sollte sich alle 100ms selber einschalten, eine ADC-Messung durchführen, einen Port schalten (oder nicht) uns sich dann wieder schlafen legen. Wichtig
um die 100ms zu generieren. Das Programm wäre demnach gar lächerlich einfach: 1. Sample einlesen 2. Port schalten 3. Watchdog einstellen 4. schlafen legen... Das wars. Wird der Watchdog innerhalb der eingestellten Zeit nicht zurückgesetzt, dann gibts z.b. nen Reset und der Controller beginnt
-
Thread
Arduino Genuino 101 - Erfahrungen?
ins Datenblatt von dem uC schauen: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf In Kapitel 18 "I/O-Ports" findest du alles, was du brauchst, inkl. Codebeispiele fuer C und ASM, um I/O Pins anzusprechen. Die Kapitel 16, 19, 20,
void sensor_bb_fallend() { latest_interrupted_pin=PCintPort::arduinoPin; durchgang_backbord = micros(); } void sensor_stb_fallend() { latest_interrupted_pin=PCintPort::arduinoPin; durchgang_steuerbord = micros(); } [/c] Gruß Xenophon
-
Thread
externer ADc an Mega8
meinem Hauptproblem eine Idee? Vielen Dank PS: Wenn dass so geht dann kann ich den Code aus dem AVR-Tutorial nehmen und nur zusätzlich den 3bit-Umschakter für die MUX "anbauen"...
keiner der beiden Programmiersprachen ein Ass. Hier habe ich den Assembler-Code gefunden den ich mit AVR-Studio testen konnte um erste Erfahrungen zu sammeln. Wenn Du Code in C haben solltest dann würde ich mir das Ganze auch in C angucken und einarbeiten. Mit der Software AVR-Studio ist auch WinAVR
-
Thread
Assembler oder C
avr-gcc darf man komerziell benutzen
Paul schrieb im Beitrag #2181136: > Beim AVR nicht. Doch, beim AVR auch (wenn man es denn will).
-
Thread
Taster für LED in Codevision
Hallo. Also bei Port A : PORTA = 0xFF; ? Dann ist der Pullup Widerstand gesetzt, oder ? Aber funktioniert auch nicht. Gruss Helge
Wenn der Text stimmt, steuerst du Port B an - eine LED an Port A wird da wohl nicht leuchten... Vorwiderstand? LED falsch gepolt?
-
Thread
Arduino Uno R4: Besonderheiten und Abhilfen
integer types" aus der Datei stdint.h verwenden. Die sind in C standardisiert. https://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html
12000 , Ende); if (delayCounter == 45) { serialPort1.Write(teil1); } if (delayCounter == 22) { serialPort1.Write(teil2); } if (delayCounter == 1) { serialPort1
-
Thread
C# Bootloader, Datenübertragung
Port existiert und wenn nicht, dann ersten Port anzeigen). Das ist in anderen Programmen gängig und entspricht einer gewissen Erwartungshaltung. - ReadConvertHexFile gibt bei dir ein Byte Array zurück
string Array zurück, in dem die eingelesenen Zeilen stehen. Da tust du dich leichter. [code] // einlesen string []allLines = File.ReadLines(pfad); // später auf den Port ausgeben foreach(var oneLine in allLines){ serialPort.Write(oneLine); } [/code] - Noch mal zu den
-
Thread
Programmierbarer Timer
pinb,2 ; PB2 in r16 einlesen ldi r16,0 cpi r16,0 ; r16-0 breq Programmieren ; Sprung zu Unterprogramm, wenn Ergebnis (PortB2)=0 ;25 ldi r17,0x00000011
werden. ------------- nicht nachvollziehbar --- sbic pinb,2 ; PB2 in r16 einlesen ldi r16,0 cpi r16,0 ; r16-0 breq Programmieren ; Sprung zu Unterprogramm, wenn Ergebnis (PortB2)=0 ;25 ----------------------------------
-
Thread
AVR atmega 48 Problem mit schaltung
Mit PORTX=0 wird der Pullup deaktiviert Mit PINX kann man den Eingang abfragen Bitte lies das AVR-GCC-Tutorial!!! Vor allem: [[AVR-GCC-Tutorial#Zugriff_auf_IO-Ports]]
Pullups und den Eingängen. Das ist bei verschiedenen Controllern, allen voran 8051, auch so. Nur beim AVR ist es eben nicht so! Beim AVR wird zwischen Eingang und Ausgang umgeschaltet. Dazu sind die DDR-Register. 0 = Eingang, 1 = Ausgang. Einen Pullup braucht man z.B. wenn man einen Taster einlesen will
-
Thread
Schieberegister will nicht
, Temp , 3 , 8 , 10 Locate 1 , 1 Lcd Temp Loop Ich beckomme nur eine 255 angezeigt. Ist die Port Config richtig ?
um eins verrutscht bist. Wenn du 4 Hintereinandergeschaltet hast, dann musst du doch 8*4 Bits einlesen. Ich tippe jetzt eher auf einen Schaltungsfehler. Wie hast du die Register angeschlossen, gibts einen Schaltplan?
-
Thread
Servo , ADC und Bascom
solange super bis ich an den 2ten Eingan auch ein > Poti hänge.Ich also einen 2 Wert per GetADC(1) einlese. Was denn nun von beiden ? Poti anschliessen oder Wert einlesen ? Die ADC Eingänge sollten sich nicht beeinflussen! evt. das "Config Adc = Free" mal auf "single " ändern. Ich sehe hier denn
Nur mal so zum Querlesen: http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html ...
-
Thread
Ersatz einer Diskette im Diskettenlaufwerk??
den geänderten Block zurück ins Flash schreiben. Bei Handelsüblichen Flashbausteinen dauert das Einlesen, Löschen und Neuspeichern schlichtweg zu lange (länger als die zulässige Spurwechsel und Ausschwingzeit). Meine Lösung ist das ich die komplette Diskette in einem RAM puffere. In einem AVR läuft
natürlich an dem mit den 8 SRAMs), nein, das mache ich nicht freiwillig mit der Hand. Der Steuer-AVR ist jetzt erst mal ein 100pinniger (ATmega1280), damit man genügend freie Ports für die Peripherie hat. Das Auffächern der 100 Pins im 0,5-mm-Raster ist nicht ganz trivial und braucht einiges an
-
Thread
Genauigkeit interner Oszillator Mega8 ...
dann mal wie's insgesamt aussieht: - Fertig aufgebautes Board, KEINE Erweiterungsmöglichkeiten - PortB komplett durch 8bit ADC verwendet - PortD komplett durch 8bit ADC verwendet - PortC steuert via Software PWM zwei Pumpen PC0&PC1 (ist so :( ) - PortC Pin5&4 ist TWI=I2C Slave - PortC Pin2&3 ebenfalls
Markus wrote: > - PortB komplett durch 8bit ADC verwendet > - PortD komplett durch 8bit ADC verwendet Oh Gott, wer denkt sich denn bloß sowas aus. Soll das ein Schildbürgerstreich sein ? Reiß einfach die ollen
-
Thread
Tutorial: AVR Simulator: Uninitialized stack pointer
; LOW-Byte der obersten RAM-Adresse out SPL, r16 ldi r16, 0xFF ; PortB ist Ausgang out DDRB, r16 ldi r16, 0x00 ; PortD ist Eingang out DDRD, r16 ldi r16, 0xFF ; Alle LEDs ausschalten out PORTB, r16 mainloop:
dass M8def.inc für Mega 8xxx steht. Wie gesagt, das hier sind meine ersten Schritte in der ASM und AVR-Welt. Aber ich lerne. Danke! Jens
-
Thread
Timer 90S8535
60.000 //15ms OCR1B=59.200 //14,8ms Dazu die entsprechenden Interruptprogramme: OCR1A: output_port=0; OCR1B: output_port=1; Das wars dann schon. PS: 15ms sind nicht gerade Ultraschall:-)
nächsten Interrupt-Zeit-Referenzen) geschieht in der ISR für die Periodendauer. Das Beispiel ist in AVR-Assembler und mit AVR-Studio simuliert worden: ;Beispiel für Impulserzeugung nach einem Hilferuf von "mirli" ;http://www.mikrocontroller.net/forum/read-1-255079.html#255090 .include"m8535def.inc
-
Thread
UVR 1611 (TA), Auswertung DL, Mega88, WinAVR
haben :) Das Thema ist spannend und ich auf einem ähnlichem Weg. Das Auslesen des DL mit nem AVR ist schon eine nette Lösung. Zum Schreiben auf dem DL hab ich noch nichts gefunden, bin aber am sammeln inwiefern über den CAN-Bus direkt das umsetzbar wird. Als Verarbeiter dann ein AVR und CAN-Transceiver
mehrere I/O-Module und baut sie entsprechend auch in seiner Regelung ein. Ich werde wohl nicht den AVR nehmen sondern direkt einen Kleinstrechner (Beaglebone), so kann ich gleich den Home-Automation-Server mit Webinterface mitlaufen lassen. Falls mir das mißlingt, wirds AVR und nen UART. (ist auch günstiger
-
Thread
char einem String hinzufügen
meisten sind sicherlich OK, vorausgesetzt man wendet sie in den vorgesehenen Bereichen an (DOS, Windows, AVR). Da ich c nur in den AVR's verwende und von C keine Ahnung habe suche ich etwas passendes. Beispiele: * AVR-Mikrocontroller in C programmieren (Franzis) + Gute Einführung in die C-Programmierung
gleich), ist aber dein Handwerkszeug, wenn es in die Spezialitäten der C-Programmierung auf einem AVR geht.
-
Thread
Interrupt - Erklärung für Anfänger
realisiert. Per Interrupt: Ich würde den Interrupt on Change nutzen. Sobald ein Int auftritt... Port B auslesen (damit wird das IF gelöscht) und einen Timer straten. Dieser Timer lößt nach 50ms einen Int aus, bei dem man dann nachsieht, welche Taste immer noch gedrückt ist. Damit entprellt man die
er es macht;-) Bei den üblichen Verarbeitungsgeschwindigkeiten ist es für den µC (ob das jetzt ein AVR, ein PIC oder sonstwas ist) praktisch keine Belastung, alle 10-20 ms (öfter macht keinen Sinn) abzufragen, welche der angeschlossenen Taster gedrückt sind. Dafür einen Hardware-Interrupt zu verwenden
-
Thread
Versetzte Rechtecksignale auswerten, kein drehgeber
Taktzyklen pro Auswertezyklus und Drehgeber. Natürlich kann man kann man ein paar Dinge (bspw. das Einlesen und einen Teil der Bitmanipulation) für alle 4 Drehgeber parallel machen, wenn sie alle am gleichen 8-Bit-Port angeschlossen sind. Aber das Zählen und die Entscheidung, in welche Richtung gezählt
– Code für einen einzelnen Drehgeber mit einer Abtastperiode von 9 Takten: [avrasm] #include <avr/io.h> ; port connections ; ; PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 ; | | | | | | | | ; B A ; register assignments counter = 0 encbits = 1 diff
-
Thread
PIC16F871 - Software f. Kicker ! Hilfe!
LCD_CS 0b.00001000 //E-Pin ist Bit3, LCD Chip Select #pragma char PORTQ @ PORTD //PORT auswählen, DB7-Bit7, DB6-Bit6, DB5-Bit5, DB4-Bit4, #include "delay20.c" #include "lcd.c" // Port D (0-7) - LCD // Port A (0-4) - A0(TorSignal TR), A1(Torsignal TB), A2(NamensTaste TR), A3(
geschnipselt. Aber hast recht, vll sollte ich lieber auf die Hardware warten. Und mich nochmal was einlesen. Trotzdem danke...
-
Thread
AVR für Zündung geeignet?
Wenn Du die 15kVolt an den AVR legst, wird er ganz sicher zünden. Nur Reset geht dann nicht mehr.
Also Programme findest Du kostenlos das AVR-Studio(für Assembler) oder AVR-GCC, allerdings C-Programmierung. Bascom ist soweit ich weiß nciht kostenlos. Proggis zum flashen: PonyProg(www.lancos.com), AVR-Dude und weitere... Einen Programmer
-
Thread
Projekt: Virtuelle Instrumente an serielle Schnittstelle
Anzeigeoberflächen für die eigene Steuerung gestalten. Auf PC-Seite ist dann nur noch die Umsetzung von TCP->COM Port vonnöten, die z.B. der kostenlose "HW Virtual Serial Port" bewerkstelligt. Im Rahmen eines "Complex Bundle" bei Eltima wird dieser Port neben den anzulegenden virtuellen Ports für SCI und SB ins Routing
mausi_mick schrieb im Beitrag #3964003: > Es sind nur Com Ports bis 20 auswählbar, mein Arduino UNO verwendet aber > Com Port 41 ! Dann änder im GeräteManager den Port auf irgendwas bis 20. Sollten die Ports als belegt erscheinen, aber nicht benutzt sein, einfach
-
Thread
D/A Wander an COM1
Der uC empfängt dein Steuerbyte und gibt es auf seine Steuerausgänge aus. Ebenso kann er Tasten einlesen, die Relais entsprechend schalten und eine Rückmeldung an den PC machen. Ideales Einsteigerprojekt in C. [[AVR-GCC-Tutorial]] MfG Falk
"µC" = Mikrocontroller. AVR, 8051 MSP430 etc. MFG Falk
-
Thread
µC von 0 auf lernen. ASM oder C?
schreiben oder daraus lesen. Okay noch LDR r1,=... Ist das auf dem AVR so viel einfacher??
Ja und was? Man muss clock enable für die GPIO setzten. Sonst gibt es keinen Unterschied zu den AVR.
-
Thread
Auswahl Mikrocontroller (von Anfänger)
> jedenfalls schonmal deutlich weitergeholfen. > > Vielen Dank > > Grüße > Ruben Beim AVR komme ich auf ca. 6€ "Einstiegskosten". 2,50€ AVR ISP bei Ebay 1,50€ Mini Steckbrett bei eBay 1,00€ AVR ATTiny 1,00€ Kleinkrams
El Jefe schrieb im Beitrag #3898660: > Beim AVR komme ich auf ca. 6€ "Einstiegskosten". > 2,50€ AVR ISP bei Ebay > 1,50€ Mini Steckbrett bei eBay > 1,00€ AVR ATTiny > 1,00€ Kleinkrams Hirn einschalten, Lernen, ausprobieren: Unbezahlbar.
-
Thread
Parallel programmieren!
) verstanden hast, dann dürfte das Erstellen eines AVR-Programms dafür kein Problem für dich sein. An einem 8-Bit-Port legst du das Datenbyte, den Rest steuerst du Bitweise. Brauchst dann noch eine Transistorschaltung zum Schalten der +12V auf die Reset-Leitung
Initialisierung findest du ja im Datenblatt, danach müsstest du den Löschbefehl senden, die Signature-Bytes einlesen um den AVR-Typ zu identifizieren, die zum Typ passenden Default-Werte der Fusebits und Lockbits aus einer Tabelle (im Flash) holen und in den AVR schreiben. Danach den AVR freigeben (Reset & Strom
-
Thread
Taste in ISR entprellen
sample = Pin_SW2_Read(); // read the pin value of the switch Pin_Port3_Write(1); // P3[5] only for measuremet Pin_Port3_Write(0); if (sample != keyStateIdle_low) // check against idle state of the pushbutton
LED_red_Write (0); Pin_Port3_Write(1); // P3[5] = high for(;;) { asm("NOP"); } } [/c]
-
Thread
Problem für Profis
Oszilloskop" Public Declare Function Inp Lib "inpout32.dll" Alias _ "Inp32" (ByVal PortAddress As Short) As Short Public Declare Sub Out Lib "inpout32.dll" Alias _ "Out32" (ByVal PortAddress As Short, ByVal Value As Short) Sub Main() Dim data(2000) As Boolean
wobei 9 = Bit Anzahl ist. Die Funktion habe ich auf der Seite http://www.qsl.net/dg1xpz/elektronik/avr/ds1820.html gefunden, wo man einen DS1820 ausliest.
-
Thread
Pollin Microcontrollerboard AVR NET IO
Hallo zusammen, Ich besitze das Pollin Microcontrollerboard AVR NET IO was sehr gut ist. kann mir jemand sagen woher ich den Programmcode bekomme? Ich würde mich gerne einlesen und eventuell kleinere Änderungen vornehmen bzw. für meine Bedürfnisse anpassen und
kannst aber z.B. Ulrich Radigs Websever aufspielen: http://www.ulrichradig.de/home/index.php/software/avr-webserver-software Es gibt noch diverse andere alternative Systeme für den Net-IO
-
Thread
Tasten entprellen
taster &= ~(1 << 2); else taster |= (1 << 2); if( get_key_press( 1<<KEY2 )) LED_PORT ^= 1<<LED2; //vierte LED if((ADCH <=253) && (ADCH >= 248)) taster &= ~(1 << 3); else taster |= (1 << 3); if( get_key_press( 1<<KEY3 )) LED_PORT ^= 1<<LED3;
Darf ich einen Vorschlag machen? Besorg dir AVR-Studio, installiere es und lass deine Programme unter Kontrolle des Simulators laufen. Der Simulator lässt dich auch auf seinen virtuellen Ports Werte einstellen. Damit kannst du wunderbar testen
-
Thread
Porterweiterung SPI konform 74HC165, 74HC589
Widerstandsprogrammer los wenn man es den möchte. > der Programmierung. Naja, man kann wie beim AVR eingach nen fertiges BIT File brennen. > Außerdem muss noch die Software installiert werden. Jagut so ist das halt, aber auch nicht komplizierter als bei einem AVR. > Ich weiß nicht was daran
5V als VCC. Ich nehme daher auch lieber HC165/595. Bzw. man könnte auch einfach nen weiteren AVR als SPI-Expander nehmen, der in Powerdown geht, wenn er nicht selektiert ist. Peter
-
Thread
Warten und Verzögern ohne zu Blockieren (avr/delay.h)
Hauptprogramm Makefile Ein Makefile eben Das Hauptprogramm initialisiert den Controller (einen AVR ATmega88) und blinkt mit 2 LEDs: * Eine LED an PortC3/VCC blinkt im Takt von 1 Sekunde. * Eine LED an PortB2/GND blinkt im Takt von 1.1 Sekunden. Die main-Loop ist natätlich ohne Blockierung
schlafen legt. > Die Mainloop macht dann nur den Assemblerbefehl "SLEEP". Auch dafür hat die avr-libc ein Makro. ;)
-
Thread
bitte hilfe bei CNY37
die schaltung hängt am lpt port meines rechners
oder echtem DOS fahren. Alles andere sollte besser ein dedizierter MC machen, wie z.B. der o.a. AVR.
-
Thread
ESP8266 SD Card / AES256
at_port_print(dumpmsg); \ } \ at_port_print("\r\n"); } #define dumpc(s, i, buf2, sz) { at_port_print(s); \ for
\ os_sprintf(dumpmsg,"%c ", buf2[i]);\ at_port_print(dumpmsg); \ } \ at_port_print("\r\n"); } #define dumpxk(s, i, buf2, sz) { at_port_print(s); \ for
-
Thread
AD - Wandler am AVR wie im Tutorial will nicht :(
mit 8 MHz getaktet ist. Ich bin wie im Tutorial beschrieben vorgegangen. Ich möchte an Pin P0 an Port C ein analoges Signal einlesen. Um die Spannung darzustellen habe ich einen Spannungsteiler herangezogen. Ich messe also ab PC0 die Spannung an einem Widerstand. Diese liegt zwischen 0V und 1,5 V. Ich
Versuchs mal mit Port A - Port C hat keinen ADC
-
Thread
mega644 uart problem
2.2ms pause, ich werde das mal ändern das sich die pause verlängert, also sowas wie 2 x 2 messwerte einlesen und dann beide messwerte aufeinmal verschicken (11 byte) alle 8ms, müsste dann 8ms - ~2.9ms = ~5.1ms pause zwischen den übertragungen. code : [c] #include <stdlib.h> #include <avr/io.h> #
SPR0); } // SPI slave0 selektieren void SPI_select0(uint8_t enable) { if (enable == 0) SPI_PORT |= (1<<SPI_SS0); else SPI_PORT &= ~(1<<SPI_SS0); } // SPI slave1 selektieren void SPI_select1(uint8_t enable) { if (enable == 0) SPI_PORT1 |= (1<<SPI_SS1); else SPI_PORT1 &= ~(1<<SPI_SS1
-
Thread
Hilfe beim Brennen eines Atmega8 ( Fusebits)
AVR-Studio gibt für 8MHz intern die Fuse-Werte wie im Bild aus.
nimm myAVR-ProgTool http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112 Pollin Atmel Eval.Board 2.01 Serielles Kabel 1:1 an COMx (PC) und Ser.ISP (Atmel Ev.Board) anschliessen myAVR-ProgTool
-
Thread
Anfänger und Mikrocontroller?
Für den Anfang lege ich dir die Ateml AVR Prozessoren ans Herz. Die sind sehr preiswert, haben eine sehr gute Ausstattung und es gibt Unmengen an Tutorials, Compiler usw. Damit du nicht schnell einen größeren AVR kaufen musst sollte es schon
http://www.mysunrise.ch/users/pfleury/ Hier habe ich beschrieben wie man mit wenig Aufwand einen AVR Starterkit selbst machen kann inklusive Parallel-Port Programmieradaptor.
-
Thread
RFM12 als umschaltbare AVR-Taktquelle?
Der RFM12 kann einen AVR mit Takt versorgen. Der AVR mag aber keine Taktumschaltung zur Laufzeit. Der Watchdogtimer hat nen eigenen Oszillator, sollte davon also nicht betroffen sein. Ist also folgendes Pseudoprogramm moeglich
scharfschalten, Kommando an RFM12 rausschreiben, die Frequenz auf 10MHz zu setzen [Frequenz aendert sich, AVR kommt aus dem Tritt oder auch nicht, Watchdog schlaegt zu, AVR wird resettet] [mainloop]
-
Thread
AVR - IDE Festplatte liefert immer Fehler beim lesen
von der Platte. Ich versuche mal die entsprechende Routine aus wdc_drv_pata.c zusammenzufassen: - AVR-Port auf Output stellen - Setzen PATA_RW_SECTOR_COUNT_REGISTER Datentransfer: Anzahl zu lesende Blöcke - Setzen PATA_RW_SECTOR_NUMBER_REGISTER Datentransfer: niedrigen 8 bit der niedrigen 16 bit
PATA_W_COMMAND_REGISTER Datentransfer: 0x20 Wie läuft der eigentliche Datentransfer ab: - Daten an den Port anlegen, - /DIOW aktiv setzen - 2 * nop() - /DIOW deaktivieren Danach werden dann die eigentlichen Nutzdaten gelesen: - AVR-Port auf Input stellen - Schleifeneinstieg: - warten bis BSY low
-
Thread
Schaltzustand von Stromstoßrelais lesen
dann ueber RS232 auf den PC tendieren. Mehrere parallele oder serielle Schnittstellen zum direkten Einlesen waeren auch moeglich. Pollin NET-IO (mit eigener Firmware) transportiert schon mal 16 Port-Zustaende in's Ethernet (mit Bastelei auch 20)... Kostet als Bausatz ca. 20 EUR, als Fertigmodul knapp 30
Optokopplers in Reihe zu schalten und mit den 3V des Raspbery PIs zu verbinden und dazwischen den GPIO-Port anzuhängen? Vielen Dank! Christian
-
Thread
Mehr Interrupte - Porterweiterung mit 2. µC?
gefordert ist? Dann hast du knapp 10 Millisekunden. Du kannst z.B. 8 Schieberegister an einen ganzen Port hängen, so kannst du in 8 Lesezyklen (also maximal einigen dutzend Maschinenzyklen) 256 Kontakte einlesen. Oder du hängst die Schieberegister seriell an den Controller und liest sie per SPI ein. Beides
Ja, hier ist es beschrieben: http://www.mikrocontroller.net/articles/Port-Expander_PCF8574 Auch ODER-Gatter würden helfen.
-
Thread
Diamex All-AVR & Atmega 168 - "Failed to enter programming mode"
" ein (als solcher wird der ALL-AVR erkannt) und drücke Apply. Ich lasse ihn die Target-Voltage einlesen; 3.3V. Wenn ich nun auf "Read Device Signature" gehe bekomme ich folgende Fehlermeldung: ---------- Failed to enter programming
ok. Bei mir läuft er ohne Probleme. Es muss noch irgenwo anders dran liegen. Mal einen anderen USB-Port benutzt?
-
Thread
LCD Ansteuerung - Verständnisfrage
Kann ich meinen Port als DDR = 0xCF definieren (also nur dort ist der Port ein Output, wo das R/W Signal liegt). Dann an den Port beispielsweise ein 0x20 senden (das R/W ist auf 1 gesetzt) und im nächsten Atemzug den PORTD
wird. Damit kannst Du auch in Ruhe die Datenrichtung Deines µC-Ports zum Lesen umschalten, ohne Gefahr zu laufen, dass 2 Ausgänge gegeneinander arbeiten. Ich empfehle auch bei Ansteuerung durch einen AVR dem E-Signal einen Pull-down-Widerstand zu spendieren, damit
-
Thread
Schwerpunkte in den Datenblättern
Und wenn man dann eine LED blinken lassen will, ist es eben hilfreich, sich mal den Abschnitt über Ports durchzulesen. Dann kommt ein Taster dazu... usw. Es gibt ja hier auch den AVR Anfängerkurs, der genauso gebaut ist, das man sich langsam hocharbeitet, und damit auch neue Kapitel im Datenblatt öffnet
Timer+Ports+Interupts (gut - man könnte auch Delayschleifen nehmen, um auf die Zeiten zu kommen - das wäre dann wirklich Anfänger ;-) Willste das Lauflicht auch noch steuern - brauchte Eingaben (Port einlesen
-
Thread
AVR blockiert den I2C
Servus, folgendes Problem: 2 AtMega16 mit integrierter I2C-Steuerung miteinander verbunden. Der eine schickt, der andere empfängt. Funktioniert soweit auch ganz gut. Er reagiert nur, wenn er auch per Adresse selektiert ist und gibt die richtigen Daten aus. Jedoch gibt der Empfäger partout den Bus nicht mehr frei, dh die Taktleitung bleibt low. Das ist lt. Datenblatt das Zeichen, dass der Controller noch mit der Bearbeitung der Befehle beschäftigt ist und bitte in Ruhe gelassen werden möchte. Aber ich kann den nur per Reset wieder freimachen, ich kapiers echt nicht. Der Controller ist längst
-
Thread
DMX Senderoutine am PIC in C
; delay_us(WAIT); value[3] = read_ADC(); //Wert für Kanal 3 per Poti einlesen set_adc_channel( 1 ); delay_us(WAIT); value[2] = read_ADC(); //Wert für Kanal 3 per Poti einlesen set_adc_channel( 2 ); delay_us(WAIT); value[1] = read_ADC(); //Wert für Kanal 3 per Poti einlesen } void init_dmx(void) { set_uart_speed(250000, DMXX); //Baudrate für Break bzw. Reset output_high(sn75176); //RS458-Wandler auf Sendemodus versetzen; high: transmit low
-
Thread
Fragen zu Grafik-LCD 128x64?
Trotzdem kann man sie auch mit AVR verwenden.
Tasten kein Kurzschluß machen, Widerstand seriell. Um Tastenzustand abzulesen: E1=E2=0, DDR = 0, PORT = 1 (somit Rpu Ein), ein bißchen Warten (Rpu * (Cpin + C_Lin)), Pin einlesen. Da Rpu von 20k bis 50k sein kann, dürfen serielle Widerstände 4k7 nicht überschreiten. Viel kleiner sind die auch nicht
-
Thread
Stoppuhr mit Mega8. Reicht ein Controller aus?
http://www.hanneslux.de/avr/stopuhr/index.html ...
typischen klisches.... Außer dem ist das da besser erklärt als in der mitgelieferten Hilfe von Bascom-Avr gruß Tobi
-
Thread
PINx-Register
Gruppen, die maximal so lang sind, wie ein Register des AVRs, also 8 Bit, aufgeteilt. Es gibt DDR/PORT/PINB, DDR/PORT/PINC und DDR/PORT/PIND. Von diesen ist jedoch nur DDR/PORT/PIND 8 Bit lang.
Weitere Basics findest du hier: [[Kategorie:Avr-gcc_Tutorial]]