-
Thread
PCINT triggert nicht immer
<stdio.h> #include <avr\io.h> #include <avr\interrupt.h> int main(){ DDRA &= ~(1<<PA4)|(1<<PA5); DDRB |= (1<<PB1); //ext. int PCICR |= (1<<PCIE0); PCMSK0 |= (1<<PCINT4)|(1<<PCINT5); sei(); do{}while(
#2770347: >>Wo sind die ISR dafür? > Die sind doch mit ISR der PCINT0 abgefrühstückt? IM DB sind PortA 0-7 in > dem Register eingetragen. Du hast recht. Mein Fehler. Da hab ich nicht aufgepasst.
-
Thread
3 Achsen MEMS Beschleunigungs Sensorkit
aber auch ohne irgendwie gehn, da wenn man später den Sensor auf ne Platine packt man ja kein USB-Port mehr zur verfügung hat.
lieber. SPI kannst du in jeder Sprache benutzen. Beispielcode für Assembler und C steht in jedem AVR-Datenblatt. MfG Spess
-
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
Display fällt in unregelmäßigen Abständen aus
Versorgungsspannung beträgt 12V Gleichstrom die mit einem 1000uF Kondensator stabilisiert wird und dann mit der im AVR-Tutorial vorgeschlagenen Schaltung auf 5V gebracht wird. Der uC läuft mit einem 4 MHz Quarz, PortD wird zur ansteuerung der einzelnen Segmente genutzt(100 Ohm Wdst), während PortC 0-3 die einzelnen
Timer-Control-Registers TCCR0 interessant. Poste mal deine neuesten Sources wenns geht. Welche Ports sind noch frei ?
-
Thread
ATMega als SPI Slave - Data Ready ohne eigene Leitung?
zieht und damit dem Master signalisiert dass jetzt gelesen werden kann? Schaltet sich dadurch der SPI Port ab? Oder geht das noch einfacher? Grüße, stero
fragt über SPI ständig ab, solange slave nicht > fertig ist, sendet er 0xFF. Eben das geht beim AVR nicht, da kein Puffer! Was ist ein SDC? Peter
-
Thread
schnelle Kommunikation über UART
int werte[1000000]; static int counter = 0; static int pos = 0; void reader(void) { SerialPort^ port; Parity p = (Parity)Enum::Parse(Parity::typeid, "None"); StopBits s = (StopBits)Enum::Parse(StopBits::typeid, "1"); port = gcnew SerialPort("COM16",384000,p,8,s); port->Open();
/Flanke wechseln data |= ((DATASIG_PORT&(1<<DATASIG_PIN))<<i); // Daten einlesen DCLK_PORT |= (1<<DCLK_PIN); // Flanke wechseln } STARTSIG_PORT &= ~(1<<STARTSIG_PIN); // Konversion beenden return data; } [/c] Hier wird
-
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
Baudratenquarz angeschlossen UART funktioniert nicht mehr
Realterm und einer selbst geschriebenen c# anwendung getestet. bei beiden konnte ich zuvor zeichen einlesen und schicken, jedoch kamen aufgrund der falschen frequenz immer wieder falsche zeichen an. beim virtuellen com port, beim mikrocontroller und bei den anwendungen habe ich jeweils folgende einstellungen
dem mikrocontroller soll einfach ein zeichen empfangen und das selbe wider zurücksenden: #include <avr/io.h> #include <inttypes.h> #define F_CPU 1843200UL #define USART_BAUDRATE 9600UL #define UBBR_VALUE F_CPU/(16*USART_BAUDRATE)-1 //(F_CPU+8*USART_BAUDRATE)/(16*USART_BAUDRATE)-1 int USARTInit
-
Thread
µC mit Iphone / Ipad kommunizieren lassen
- Bluetooth unterstützt zum Bedauern vieler Entwickler in der Apple-Firmware kein SPP (Serial Port Protocol), was leider viele einfache Anwendungen ausschließt. - Über die Schnittstelle (DockConnector) ist eine serielle Kommunikation möglich. Stichwort Indicator-Pin (21) und Datenpins (12/13)
> Sollten sich alle per iOS ansprechen lassen. Über die Anwendung im > einzelnen einfach mal einlesen. HTTP-Basiert ist noch einfacher. Bild machen und speichern...
-
Thread
GCC Compiler Optimierungen
Guten Morgen, fange gerade an mich mit C auf dem AVR zu beschäftigen. Folgendes Problem habe ich mit dem Code im Anhang. Es wird die Variable dcc_daten[] in der ISR und in main verwendet. Sobald ich den GCC den Code optimieren lasse, ist der Inhalt von
ich falsch? [c] #ifndef F_CPU #define F_CPU 8000000 #endif #define BAUD 19200 #include <avr/io.h> #include <stdint.h> //#include <util/delay.h> #include <util/setbaud.h> #include <avr/interrupt.h> #define L_FIFO 32 // größe des fifo tx buffer volatile
-
Thread
max Schaltfrequenz von Ausgängen
Befehlssatz zulässt. Wenn Du einen Ausgang umschaltest, und direkt danach an einem Eingang etwas einlesen willst, was von dem Ausgang abhängt, musst Du allerdings eine Verzögerung berücksichtigen. Bei AVR Mikrocontrollern liefern Lese-Befehle auf Eingänge immer den Wert, der einen Taktzyklus vorher
Regel ein NOP nötig. Oder einfach zwimal hintereinander lesen tuts auch. Angenommen die acht Bits von Port A (Ausgang) sind mit Port B (EIngang) verbunden: PORTA = 0; in=PORTB; in=PORTB; if (in!=0) printf("Fehler");
-
Thread
Taster Entprellen von Peter Dannegger
NONAME, den in C für AVR habe ich ja gefunden in der Codesammulung, da ich aber totaler Anfänger bin aber Assembler lerne, ist es für mich schon problematisch den C Code und dann auch noch für AVR zu verstehen. Da ich den 16f877
von Peter ist für mehrere Tasten extrem effizient. Da ich im betreffenden Programm 10 Tasten an 2 Ports einlese, steht da xxA, es gibt folglich das Gleiche nochmal mit den Registern xxB. Für eine oder zwei Tasten kann man einfach je Taste ein Register nehmen, dieses bei jedem Timerdurchlauf links
-
Thread
Alternativen zu Flowcode
Also ehrlich gesagt ist das heute mit der µC-Initialisierung nicht das große Problem und Hilfe um den AVR in C zu Programmieren gibt es genug. Der AVR hat ja keine Assembler-Startdatei sondern das Minimalprogramm besteht wirklich nur aus einer main.c mit leerer void main() und sonst nix. Da der AVR
der USB Port sollte als virtueller COM Port erscheinen. Diesbezüglich existiert auch schon ein Programm Rumpf in Visual C, den ich verwenden könnte. Fragen: - gibt es hier irgendow Treiber (µC) für den CP2101
-
Thread
Unerklärliche Ausgabe beim Multiplexen
damit Probleme einhandeln (und ich denke, genau das war eines deiner Probleme), weil ein int auf einem AVR nun mal nicht von alleine atomar behandelbar ist.
Die UART hat den Vorteil, daß sie bis zu 3 Byte puffert. Du kannst also im Hintergrund ständig einlesen. Und den Sender kannst Du für Debugausgaben benutzen. Das ist komfortabler als nur die 7-Segment. Du kannst Dir dann Texte und Zahlenwerte ausgeben lassen. Peter
-
Thread
Wie funktioniert das Graupner GControl Protokoll und hat es schon jemand entschlüsselt
Habs gerade ergründet und kann den Heli per AVR fliegen (IR-LED und einen Port als 36kHz-Quelle). Codebeispiel und Erklärung folgt. Es ist ein Puls-Distance-Protokoll, zumindest was die Daten angeht. 4Bytes mit 0 (300ms Puls, 300ms Pause) und 1
Protokoll ist entschlüsselt und der Nachbau ist sogar besser als das Original (siehe Byte 3). Ein AVR entschlüsselt das DSC-Signal (Schülersignal) meiner Spektrum Handfunke und übersetzt es in das Infrarot-Protokoll. Die Steuerung ist extrem präzise und der kleine Heli ist mit dieser Steuerung echt
-
Thread
Tasterbetätigung hochzählen u. vergleichen (in C)
schon Mal geschrieben, allerdings ist das auch schon eine Weile her. Programmieren tue ich alles mit AVR Studio und ein Board habe ich auch. Das Board habe ich selbst gebaut und ich habe damit auch schon einiges getestet. Mein Problem liegt eher darin, dass ich nicht genau weiß, wie ich dies programmieren
dann so aus: [avrasm] read_IO: In R16, PortD COM R16 ; drehen, weil Taster oft gegen GND schalten Sts New_In, R16 LDS R17, Old_In EOR R16, R17 ; veränderte Bits in R16, EOR = Exclusiv-Oder MOV R3, R16 ; merken
-
Thread
ATmega32 einzelne Pins setzen und abfragen
, setzen bzw. löschen. ist das nicht ein wiederspruch in sich? der atmel kann sowohl einen Port als auch ein Bit eines Ports ändern.
welche einzelne Bits direkt setzen/löschen bzw. abfragen können. Ansonsten muss man halt den ganzen Port einlesen, mittels Bitmanipulation zu seinem Wohlwollen ändern, und wieder zurück "schreiben". Das lässt sich dann halt nicht mehr in einem Takt erledigen.
-
Thread
zwei Bits beeinflussen - ich steh geradeauf dem Schlauch
in der Zeit die ausgänge geändert hat, das ganze ist nicht meht atomar. Man könnte aber den Port einlesen und sich danach eine Toggle-Maske bauen. Dann den Port Togglen. Das hätte den Vorteil das die anderen Pins nicht angefasst werden.
verändern. Wäre also atomar was den reinen Port angeht. Die AVR werden doch sicherlich etwas vergleichbares haben? Grüße, Chris
-
Thread
24 serielle Schnittstellen am PC
byte große telegramme ankommen, die durch das protokoll > synchronisiert werden können. > z.b. > port1 3 byte lesen, alle anderen haben inzwischen sendepause > port4 3 byte lesen, alle anderen haben inzwischen sendepause > port12 3 byte lesen, alle anderen haben inzwischen sendepause > > und die
das letzte Mal Daten von dem jeweiligen Terminal-Port gelesen habe. Diese Zeit X merke ich mir für jeden Terminal-Port. Hole ich dann beim nächsten Mal z.B. 240 Zeichen an diesem Port ab, kann ich für jedes empfangene Byte in der Queue die Zeit des Eintreffens
-
Thread
USB Koppelfeld für Festplatten
to a port is turned on when a SetPortFeature(PORT_POWER) request is received for the port. Port power is turned off when the port is in the Powered-off or Not Configured states. If a hub supports ganged power switching, then the power to all ports in a gang is turned on when any port in a gang receives a SetPortFeature(PORT_POWER) request. The power to a gang is not turned off unless all ports in a gang are in the Powered-off or Not Configured
-
Thread
Tastendrücke einlesen
Hallo, ich möchte mit einer Taste eine LED (beim ersten mal drücken) einschalten und dann (beim zweiten mal drücken) wieder ausschalten. Mit dem unteren Code funktioniert es, dass ich die LED mit dem Tastendruck einschalte aber ich kann die LED (mit dem selben) Taster nicht wieder ausschalten. Weiß jemand wie ich das machen kann? Vielen Dank. lg Birgit Egger [CODE] switch(P2 & 0x400) { case 0x400: P2_9 = (P2_9 | 0x00); break; case 0x0: P2_9 = (P2_9 | 0x01); break; default: i = 0; } // P2_9 ... LED output // P2_10 ... Taster input
-
Thread
G-Code-Interpreter und µStep-Controller mit ATmega644
installiert werden. *Flash21* 1) unter Datei/Auswahl -> die "TMC_config.hex" auswählen 2) unter Port -> den COM Port der USB-RS232-Brücke auswählen (dazu vorher verbinden, bevor man das Programm Flash21.exe ausführt) 3) unter COM-Port -> 115200 Baud einstellen (sollte aber eigentlich egal sein) 4
da einen Quarz dran? Wenn ja wie groß? Wie sieht deine RS232 Schnittstelle genau aus. Welchen COM-Port benutzt du? Wie überträgst du den Bootloader? Mit AtmelStudio7 hab ich noch nicht getestet. Ich benutze immer noch das AVR Studio4. Die Clockfuses musst du auf ext. Crystal (ext.Quarz) stellen
-
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
Atmega 8 + dallas 18s20 + Neuling (never ending story)
wahrscheinlich für euch ein klacks, aber 2 Bücher helfen mir leider hier nicht weiter. Franzis: AVR Mikrocontroller in C-Programmieren Elektor: AVR Hardware und C-Programmierung in der Praxis Viele Grüße... aus dem Münsterland
den Port per Befehl auf High oder Low ziehen. Hier wird nur mit dem DDR - Register auf Low oder High umgeschalten nicht mit dem Port Befehl. // Liest 1-Bit uint8_t DS18S20_readbit(void) { volatile
-
Thread
Autopilot erstellen (Bedienelement für Flugsimulator X)
Mikrocontroller oder eine USB Brücke für USB verwenden. - Was für einen uC willst du denn verwenden? ARM? AVR?
kein Problem sein. Ich dachte er will vielleicht direkt USB fahren. Das sollte dann alles mit einem AVR zu schaffen sein. Stellt sich nur die Frage, wie man die LED Anzeigen am blödsten steuert. Direkt am AVR wird man sie ohnehin nicht betreiben können, da der zu wenig Strom liefert. Und ob nun Transistor
-
Thread
AVR Hilfe bei Schieberegister
Guckst Du hier: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
kryptisch und Assembler-lastig geht's hier zu: http://www.rn-wissen.de/index.php/Portexpander_am_AVR Dort stehen Lösungen in C für reine Software-Ansteuerung sowie für Hardware-Ansteuerung mit Unterstützung des SPI-Moduls.
-
Thread
Display Ulrich Radig Software erweitern [C]
Anhang ist meine Code und die Original teil: Meiner mit PD7 [code] #include <avr/interrupt.h> #include <avr/io.h> #include "multiplex.h" #include "adc.h" //--------------------------------------------------------------------------- int main (void) { DDRD |= (1<<PD0
Hallo, soweit ich das sehe, hängt an PortD auch die Anzeige. Der Multiplex läuft in einem TimerInt. Wenn du in Main PortD auch veränderst, dann muss das atomar sein, sonst gibts diesen lustigen Effekt. Wenn du die richtige Optimierung hat,
-
Thread
Ladderfilter berechnen und bauen
Könnte natürlich einen Buffer aufbauen, dahinter einen Frequenzteiler und dann das Ergebnis mit einem AVR auswerten, das funktioniert auch, die Frage ist nur, wie genau das ganze dann wird. Spezielle Ideen für einen f-Zähler? >> wie bestimmt man mit dem Clapp eigentlich fp > Der schwingt nur auf
MHz verfügbar. Die Schmalband-FM-Filter sind leider schon zu breit. > dann das Ergebnis mit einem AVR auswerten Bei der Angehängten Schaltung handelt es sich um eine FLL. Der Frequenzzähler misst die Oszillatorfrequenz, addiert oder subtrahiert die ZF-Ablage und vergleicht mit der Sollfrequenz. Diese
-
Thread
Berechnung mit Analogwert
Variationen, nur nicht mit dem Rückgabewert des AD-Wandlers??? @ Christian Gudrian: Ich verwende AVR Studio 4 in der Version 4.19 mit dem Compiler AVR GCC. Gruß Matthias
-R .fuse -R .lock -R .signature PI_IR_Regler.elf PI_IR_Regler.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex PI_IR_Regler.elf PI_IR_Regler.eep || exit 0 avr-objdump -h -S PI_IR_Regler.elf
-
Thread
VisualBasic6: Zahlen vom Mikrocontroller empfangen
.PortOpen = False Else PortTest = False MSComm1.PortOpen = False End If End Function Private Sub Command1_Click() 'Nummer des com-Ports: MSComm1.CommPort = Text1.Text ' Baud: ' Beispiel
= 1 MSComm1.InputLen = 0 End Sub Private Sub Command2_Click() 'String zum AVR senden MSComm1.Output = Text3.Text + vbCr End Sub Private Sub Command3_Click() 'com-Ports durchtesten ''wenn verfügbar dann Message anzeigen Dim Portzaehler As Integer For Portzaehler = 1 To
-
Thread
Timer0 löst PCINT1 Interrupt aus?
ist, dass die Pins bitweise nummeriert sind, die PC-Interrupts aber byteweise bzw. Portweise (ein Port (und damit ein PCI-Handler) kann bis zu 8 Bits bzw. Pins haben). Alle Pins des ATTiny85 liegen auf PortB, also gibt es nur einen PCI-Handler für alle Portpins, und das ist PCINT0. > - wie > nutze
Flagregister gibt. Das würde ich auch begrüßen, und wenn nur zum Zeitpunkt des Interrupts der Port (wie bei ICP der Timerstand) in ein Zwischenregister eingelesen würde. Man kann aber leider nicht alles haben... ...
-
Thread
Temperaturauswertung 1-WIRE AVR
Hallo Leute! Mein Kumpel und ich arbeiten gerade an einem Projekt. Wir versuchen über einen ATMega644PA den Temperatursensor Dallas DS18S20 auszuwerten. Um die Temperatur anzuzeigen verwenden wir ein Display. Die Display-Steuerung Funktioniert einwandfrei. Unser Problem ist: Der Sensor liefert keine Daten zurück (Temperatur immer 0). Vermutlich haben wir einen Fehler beim schreiben und lesen der Daten. Wir finden den Fehler leider nicht, würde uns freuen wenn ihr euch den Code mal ansieht! Der Sensor ist am PORTD auf PIN 5 angeschlossen. Hoffe ihr könnt uns helfen, danke
-
Thread
Menüsteuerung mit zwei Tasten (Up/Down) in Assembler
davon aus, du hast die Taster an VCC Sind sie nach GND geschaltet, drehst du R15 gleich nach dem Einlesen vom Port mit COM-Befehl um. Die Entprellung ist hier noch nicht beerücksichtigt. Gruß oldmax
Eingänge und Signalanpassung ---_-- ;***************************************************** ;* Port D 2-7 Eingänge (Taster) * ;* Port D 0 Bit 0 + 1 serielle Verbindung * ;***************************************************** Read_IO: ; Eingänge einlesen In R16, PInD ; Port B
-
Thread
AVR Studio 5., Ardunio Uno ATMega168, Inputs funktionieren nicht
> if (PINB4==1) if ( (PINB & (1<<PINB4)) ) PUNB4 ist nur die Bitnummer. Das Einlesen des Ports geht über das 8-Bit Register PINB und das Abfragen des Pins über die & (Bitweise UND) Verknüpfung. Mehr im Artikel [[Bitmanipulation]]. Wenn das halbwegs klappt und du dich fragst, wieso
der Arduino IDE auch gemacht wird - das Programm AVRDUDE benutzen. AVRDUDE ist sowohl in [[WinAVR]] (der alten AVR-GCC-Toolchain für Windows), der neuen AVR-Toolchain für AVR Studio und in der Arduino IDE vorhanden. Wenn man die unten verlinkte Anleitung benutzt, empfiehlt sich die Installation
-
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
Schreibweisen
sry dass wird mir irgendwie zu bunt.... ich bestell mir ne port erweiterungs platine für mein myAVR board MK2. dieses stecke ich an mein board und schaue auf deren homepage nach wie man die ports anspricht. finde ein beispielscript und versuche mich einzulesen
schrieb im Beitrag #2622270: > sry dass wird mir irgendwie zu bunt.... > > ich bestell mir ne port erweiterungs platine für mein myAVR board MK2. > dieses stecke ich an mein board und schaue auf deren homepage nach wie > man die ports anspricht. > > finde ein beispielscript und versuche mich
-
Thread
Linux C-Programm - Zeitmessung per Interrupt
Schnittstelle ausgegeben werden buffer[0] = (char)'A'; //printf(buffer); //printf("\n"); write(port, buffer, sizeof(buffer)); //printf("Zeichen wurde gesendet\n"); // Zeichen von der seriellen Schnittstelle einlesen // es wird bis Zeilenende oder max. 80 Zeichen gelesen y=0; for (
.\n"); return(1); } // Erste Zeile nach dem Reset einlesen (dient nur zur Kontrolle für den Test) for (x=0; x<30; x++) { // Jetzt können Daten gelesen werden bytes = read(port, buffer, sizeof(buffer)); printf(buffer); if (buffer[
-
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
Speicher des Microcontrollers
So, habe gerade festgestellt das ich noch mit dem AVR Studio4 arbeite.. nachdem ich aber bei AVR5.1 nach kopieren meines Codes fehler bekommen habe das angeblich die "delay.h" Bibliothek fehler hat, werde ich wohl doch bei AVR 4 bleiben ^^ Ok, wie ich
>c:\programme\atmel\avr tools\avr >toolchain\bin\../lib/gcc/avr/4.4.3/../../../../avr/include/util/delay.h:12>0: error: __builtin_avr_delay_cycles expects an integer constant. Man sollte die Fehlermeldungen des Compilers
-
Thread
Inline Assembler Wieso Contraints, ClobberList etc?
anzusprechen ist... dafür brauchst du die Listen. http://www.rn-wissen.de/index.php/Inline-Assembler_in_avr-gcc http://www.nongnu.org/avr-libc/user-manual/inline_asm.html
A. K. schrieb im Beitrag #2609635: > Es geht nicht um die Breite des Ports, sondern um die Breite der Adresse > des Ports. Und die beträgt beim IN Befehl 6 Bits. [c] unsigned char reg = 0; while(1) { asm volatile( "in %0 %1" : "=d" (reg) : "I" _SFR_IO_ADDR
-
Thread
Wie Ports am Besten zusammenfassen?
Port A "blind" schreiben kann, muss ich Port B erst einlesen, einzelne Bits manipulieren, und wieder den ganzen Port ausgeben. Wie handhabt man das am Besten? Bzw. wie macht ihr das? Mit freundlichen
>Ähnlich verhält es sich bei der Ausgabe von Werten: Während ich bei Port >A "blind" schreiben kann, muss ich Port B erst einlesen, einzelne Bits >manipulieren, und wieder den ganzen Port ausgeben. Nö, einzelne Bits kannst du zumindest bei PORTB über cbi, sbi setzen.
-
Thread
Browser ohne google-Chrome
Simon S. schrieb im Beitrag #2603101: > Man denke beispielsweise mal an die ganzen > offenen Ports - Es gibt auch Leute die ohne Router ins Internet gehen. dann zähle doch mal auf, welche Port in einer Windows Standard installation von aussen offen sind? (ab Win XP SP2 ) > Wenn es für ein
ja bei linux auch nicht anders, installiert dir dort doch mal mysql > und schau wo er den Listen-Port hinlegt. Ja, natürlich gibt es Leute die im Netz Daten austauschen wollen. Und natürlich braucht man dafür auch Ports. Aber währe es nicht besser, dass die Ports erst aufgemacht werden wenn man den
-
Thread
ADC ATXMega256A3 initialisieren
// enable freerun Mein noch nicht funktionierender Code sieht jetzt so aus: [c] #include <avr/io.h> #include <C:/Program Files (x86)/Atmel/Drivers/AVR1313/port_driver.h> #include <C:/Program Files (x86)/Atmel/Drivers/AVR1313/port_driver.c> #define ADC ADCA #define USER_PORT PORTA #define
doch ein Eingang sein und nicht ein Ausgang. Die anderen Kanäle 1-7 sind auf 0V. [c] #include <avr/io.h> #include <C:/Program Files (x86)/Atmel/Drivers/AVR1313/port_driver.h> #include <C:/Program Files (x86)/Atmel/Drivers/AVR1313/port_driver.c> #define ADC ADCA #define USER_PORT PORTA #define
-
Thread
PCF8574 muss mehrfach ausgelesen werden
Kommt auch der Takt Impuls für das einlesen des ACK. Nach dem Daten einlesen oder ausgeben.
juppi schrieb im Beitrag #2602359: > Kommt auch der Takt Impuls für das einlesen des ACK. > Nach dem Daten einlesen oder ausgeben. ich hab leider kein Oszi hier, mit dem ich mir die Pegel anschauen kann... Aber ich versuch mal eins zu organisieren