-
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
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
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
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]]
-
Thread
ADC nimmt die falsche Vref obohl richtig eingestellt.
adc.c kann mir bitte jemand weiterhelfen? PS. auf dem ATmega 32 läuft der ADC #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/signal.h> #include "adc.h" /*! * Initialisert den AD-Umsetzer. * @param channel Für jeden Kanal, den man nutzen möchte
Boston, * MA 02111-1307, USA. * */ /*! @file adc.c * @brief Routinen zum Einlesen der AnalogeingÄnge * @author Benjamin Benz (bbe@heise.de) * @date 26.12.05 */ #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/signal.h> #include
-
Thread
Probleme beim Poti über ADC auslesen
Programmier bzw Verkabelungsproblem. Sieht jemand den Fehler? Hier der Code: [c] #include <avr/interrupt.h> #include <avr/io.h> #include <stdio.h> #define F_CPU 16000000 #include <util/delay.h> #define BAUD 250000 #define BAUD_PRESCALLER (((F_CPU / (BAUD * 16UL))) - 1) // Für Terminal
Thgomas T. schrieb im Beitrag #4473542: > //AD Werte einlesen > ISR (ADC_vect) > //############################################################################ > { > > > ADCSRA = 0; > > adc_wert =(unsigned char)(ADC); > > ADCSRA=(1<<ADEN)
-
Thread
Bitfelder
Bitfeldern. Aber zuerst mal zur Ausgangssituation: Wir möchten 64 digitale Eingänge über Multiplexer einlesen. Das klappt mit unserem Testprogramm ganz gut. Mittels einer Schleife lesen wir die Bits in ein (unsigned char) Array ein, das über eine Laufvariable weitergeschaltet wird. Das Unschöne daran: Es
... mybits <<= 1; // um 1 schieben, 0 reinschieben if( PINA & 1<<PA7 ) // Eingang ist Pin7 von Port A mybits |= 1; // Pin übernehmen. ... [/C] Nochn Tip: Das Einlesen geht über Schieberegister (74HC165) viel einfacher, als über Multiplexer. Peter
-
Thread
Wenn Ihr neue Projekte angeht, wie mach Ihr das ?
was ich mit dieser Hardware erreichen will, dann enden meine Programme meistens mit: #include <avr/io.h> #include <avr/signal.h> #include <LCD / UART / ...> #ifndef F_CPU #define F_CPU 3686400L //Oder einer anderen Quarzfrequenz, je nach dem, was da für ein Mega tickt #endif void main (
festzulegen. Bei dem Teil des Programms, das dann nach dem Eintreffen der USART Daten, diese auf den 8-Bit Port (PortA, um das Problem mit den JTAG-Fuses zu vermeiden) kopieren soll (RXC = 1 kopiere Inhalt des RecieveBuffer auf Port A) fing das Problem schon an. Ich muss ja den Handshake mit dem Centronics
-
Thread
Heizung Temp. überwachung am PC
Sollte ca. 32 PTC Wiederstände überwachen und dann in Exel Datei anzeigen. Prog. soll über Par. Port die PTC abrufen und dann nach bedarf auch 8 Magnetventiele schalten können. 8fach Relaiskarte von Conrad habe ich schon, aber Program und Hardware zum einlesen der Temp. und umsetzen der schaltbefehle
Hardware zu erstellen mit der ich 255(6) über Optokoppler,Reed`s Thyr. oder Tran. schalten kann b.z.w einlesen über A/D wandler (also auch Analoge PTC/NTC). Jedoch habe ich außer damals am Commdore 64 keine Computerprog`s mehr geschrieben. Mochte jetzt auch nicht mehr mit PEEK und POKE ohne EXEL eine
-
Thread
BASCOM LCD 20*4
' Relais 12 Volt für alles Pwr_tft Alias Portg.1 Pwr_video Alias Portb.7 Pwr_xbee Alias Porte.2 Pwr_gps Alias Portc.6 Pwr_lcd Alias Portg.3 ' LCD GND Tft1 Alias Portb.5 Tft2 Alias Portb.3 Tft3 Alias Portb.1 Tft4 Alias Porte.7 Tft5 Alias Porte
'---- LCD ---- Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.0 , Db6 = Porte.6 , Db7 = Porte.4 , E = Portb.4 , Rs = Portb.6 Cursor Off Deflcdchar 0 , 32 , 32 , 21 , 14 , 4 , 4 , 4 , 4 ' Link-Zeichen Deflcdchar 1 , 32 , 14 , 31 , 31 , 31 , 31 , 31 , 31
-
Thread
C Anfänger: PWM Signal auslesen Gesperrt
Spannung wandelst? Mit einen Kondensator und einen Widerstand. Dann das ganze auf den Analogeingang des AVR. Die Zeitkonstante der RC musst du an deine Freq anpassen. Sollte doch gehen - anders herum geht's doch auch - uC erzeugt PWM und per RC bekommt man eine analoge Spannung.... Bis dann, Ingo. PS:
leuchtet ja bei 0 ## Also nich addieren sondern nur nuller einschieben }; } Hast du das mal im AVR Studio debugged ? Phagsae
-
Thread
USBprog will nicht so recht
bestellt. Zusammengelötet ist er. Ich habe die Anleitung befolgt, in der gesagt wird, man solle WinAVR und AVR-Studio installieren. Von beidem habe ich die aktuellste Version installiert. Jedoch wird der USBprog leider nicht richtig am USB-Port erkannt. Es sind keine Treiber dafür vorhanden. Ich habe
WinAVR installiert. Danach AVR-Studio (mit den Jungo-Treibern, welche auch im Hardwaremanager angezeigt werden). Danach habe ich das USBprog angeschlossen. Da keine Treiber dafür installiert wurden, habe ich
-
Thread
MCP23017 - gemischter Betrieb von LEDs und Taster
MCP23017 und der Ansteuerung von LEDs und die Auswertung von Tastern. Dabei hatte ich alle Pins eines Ports auf Eingang oder Ausgang geschaltet. Also ein kompletter Port für LEDs und der andere komplette Port für die Taster. Es ist auch ein "gemischter" Betrieb möglich. Meine damit, das von einem Port
Datenblatt in der Tabelle 1-3 OLATA 0x0A i2c_write(0x02); // -> setzt den Registerinhalt, Port 1; Dort kann man auch mehrere andere Ports setzen. Nach diesem Schema funktioniert es. Wenn du mehrere Eigenschaften machen möchtest, macht es unter Umständen den Sinn, sich den Registerinhalt
-
Thread
Ausgang für 2 sek setzen
der frei herumfährt; hat jemand ein fertiges Programm oder kann mir jemand helfen: 1. Ausgangs Port (Motor) für 2 Sekunden setzen, wie lautet die Anweisung? 2. Wie kann ich 2 Signal(eingänge) einlesen mit Abbruchbedingung? MfG
Also, vor hab ich das mit einem ATmega8 µC auf einem Anfänger MyAVR-Board. Entwicklungsumgebung ist AVR Studio 4.12. Soll also ein Roboter (wie so ein Panzer, mit Ketten und so, also Motor links&rechts) werden, der durch die gegen fährt. Vorne hab ich Ihm drei Infrarot-Sensoren
-
Thread
Projektaufgabe
gemacht, die Daten kannst du dann auf einem Display ausgeben und zusaetzlich ueber die RS232 am Com Port in Excel etc einlesen Gruss Jens
noch recht primitiv sind aber trotzdem alles bieten was man so braucht. Wie machst du an einem AVR die Harvard-Architektur _einfach_ deutlich? Wie klemmst du externen Programmspeicher an einen AVR? Wie bringst du jemandem mit null-Assemblerkenntnissen die Programmierung eines ARM7 mit dreistufiger
-
Thread
Drehzahl an atmega16
7-Segment-Anzeigen ausgegeben die an Port A und Port B hängen. Jetzt zu meinem Problem, ich bekomme den Quelltext nicht so abgeändert, das es mir die Zeit, bzw. die U/min auf dem Display anzeigt. Ich bekomme den „wert“ aus der Service-Funktion
Main-Programm. Die LCD-Initialisierung klappt und zeigt mir auch was an. Ich habe die LCD-Routines aus dem AVR-GCC-Tutorial verwendet und auf Port C umgeschrieben. Ich bin für jede Hilfe dankbar. Die C-File befindet sich im Anhang Gruß Daniel
-
Thread
Digitale Wasserwaage mit ATmega32 und ADXL330
Kannst du auf das LCD ausgeben ? Kannst du Bits einlesen? Kannst du C ?
einem atmega32 und einem adxl330 eine digitale >wasserwaage bauen. leider weiß ich nicht auf welchen port ich ihn bauen >sollte geschweige denn programmiern soll Hast du den schonmal einen Blick in das Datenblatt des ADXL geworfen? Analoger Ausgang -> also auf analoge Eingänge. Welche Ports das könen
-
Thread
Terrariensteuerung: DCF & 1-Wire zugleich?
Fünfen. Demnächst werde ich wohl mal den Beispielquelltext ausprobieren den es zur Application Note AVR318 gibt.
Appnote: http://www.atmel.com/Images/doc2579.pdf gehörende Software: http://www.atmel.com/Images/AVR318.zip genommen und folgende Anpassungen gemacht: - aus #include <ioavr.h> wurde <avr/io.h>, aus <inavr.h> wurde <avr/interrupt.h> - \ in Pfadnamen durch / ersetzt - ln -s OWIUARTBitFuntions.c
-
Thread
Welches der beiden Dev.Boards?
für Privat war mir die Anschaffung als Auszubildender leider zu teuer. Ich bin da auch auf die Atmel AVR aufgestiegen. Vor allem auch wegen dem schönen und einsteigerfreundlichen AVR-GCC Tutorial hier auf der Seite. Hätte es damals 2007/08 bereits Arduino gegeben, dann wäre das ganz klar die Plattform
Wahl. Zumindest Preis/Leistung ist kaum zu toppen. Allerdings sind dadurch auch kaum noch unbelegte Ports am µC.