-
Thread
Verständnisproblem 74hc165 Funktion
berücksichtigen und dann ein "kurz-davor" zu realisieren. Darum schaltet man das neue Signal mit der High-Flanke weiter und sampled es mit der Low-Flanke. Wenn Du es mit der High-Flanke samplen würdest, bräuchtest Du ebenfalls 8 Takte, da Du mit jeder High-Flanke das *vorherige* Signal samplest.
H-G S. schrieb im Beitrag #4837788: > 1) Ein Puls an SH/LD (von High auf Low und wieder auf High) bewirkt dass > sofort D7 von Schieberegister 3 an dessen Ausgang Q7 anliegt. Hattest du von einem Eingang mit der Bezeichnung "LOAD" ein anderes Verhalten erwartet?
-
Thread
UART: PIN wird auf High gezogen
auf dem Oszi anschaue, ist der Pegel am Ausgang vom MAX232(µC Richtung PC) nach dem Reset sofort High, und schaltet dann nach 72µs auf LOW. Die Ports beschalte ich auch nicht. Wo könnt ich noch dene Fehler suchen? Ich müsste vielleicht noch erwähnen, dass ich bis zu 20 Controller-Karten in Reihe geschalten
dem > Oszi anschaue, ist der Pegel am Ausgang vom MAX232(µC Richtung PC) nach > dem Reset sofort High, und schaltet dann nach 72µs auf LOW. Auch das ist normal. AUf der RS232 sind die Pegel normalerweise -12V und +12V. Wobei -12V der inaktive Zustand ist. AUf TTL-RS232 sind die Pegel 0 und
-
Thread
Bascom Variablen
und dich um High und Low nicht zu kümmern. Und wie High und Low zusammengesetzt sind ergibt sich aus der Definition via DIM und Overlay. Und wenn das alles nicht klappt: RTFM!
Eeprom_adr As Word ' Die > Adresse als Word-Variable > Dim Eeprom_high_adr As Byte At Eeprom_adr + 1 Overlay ' Zeiger auf > das High-Byte > Dim Eeprom_low_adr As Byte At Eeprom_adr Overlay ' Zeiger auf > das Low-Byte Mit dem Word hast Du zwei Bytes
-
Thread
Suche CAN-Transceiver für Low-Speed
Heißt, wenn ich den MCO im High-Speed Modus verwende, und den Widerstand an RS anpasse, kann ich auch in einem Low-Speed Bus arbeiten?
Wobei es eine Sache ist, einen High Speed Transceiver langsam übertragen zu lassen indem man die Flanken bremst. Und eine andere, den elektrisch etwas anders definierten Low Speed CAN Modus zu implementieren.
-
Thread
MSP430 und UART: Manchmal Datenmüll
. Der UART ist ja vollkommen in Hardware aufgebaut. Was soll sich da synchronisieren? Sobalt eine High-Low Flanke kommt legt er los...
denn ein Pullup gegen eine ausgeschaltete Versorgung nützen? Der Pegel ist in diesem Fall trotzdem low und beim Einschalten gibt es trotzdem den Übergang von low nach high. Grüße, Peter
-
Thread
Tasterabfrage
sein. Direkt programmieren brauche ich da ja nichts. muss nur sagen welche Leitung auf Ausgang und High oder welche auf Ausgang und low gezogen wird. Naja meinen Takt hätte ich jetzt schon auf 1MHz belassen. Das mit dem Entladen ist mir jetzt auch klar. Werde morgen die Schaltung mal aufbauen. Also
Prototyp läuft. Bei dem *Taster* ist die Frage, ob der INT0-Eingang bei offenem Taster auf einem LOW Pegel liegt (schlecht) oder ob ein sauberer HIGH Pegel anliegt (gut). LOW heisst nicht gleich GND Potential (Datenblatt)!
-
Thread
4 Taster gegenseitig verriegeln Gesperrt
10kHz sollte gehen). Beschreibung: CP0 ist der Takteingang, der Counter zählt aber nur wenn /CP1 auf LOW ist. Der Zähler ist ein Decade-Counter es geht also nacheinander einer der Ausgänge Q0..Q9 auf HIGH die anderen sind LOW. Wird eine Taste mit Ausgang = LOW gedrückt zählt der Counter so lange bis da
möchte 4 Taster gegenseitig verriegeln, sodass bei drücken eines > Taster's > der jeweilige Ausgang "High" geht und die anderen "Low". SAS560
-
Thread
PWM für Modellservos
und dazwischen? Wie lang ist denn ein Takt(wie lange muss das Signal jeweils low und high sein?)
Ich meine das nur die älteren Graupner Anlagen (vor 1990) 1,5 ms high / 18,5 ms low machen. Alle anderen Anlagen machen 1,5 ms low / 18,5 ms high. Bin da aber auch nicht mehr so auf dem Laufenden. Da alle Servo-Signale nacheinander kommen braucht man halt eine
-
Thread
lichtschrankenauswertung, zeitweise sperrung Eingang
[i] = LOW; } } if (sensorPinBlocked[i] == LOW) { if (buttonState[i] != lastButtonState[i]) { myCounter = HIGH; }else { myCounter = LOW;
high. Am Ende der "Totzeit" wird sensorPinBlocked low, erst dann kann myCounter low werden, aber dann ist sensorPinBlocked auf low festgesetzt. Probleme bei deinem Code: Wenn der Pin sich innerhalb
-
Thread
Arduino UNO Taster und 3 LEDs
VorherigerStatus) { if (Tasterstatus == LOW) { digitalWrite(LED1, LOW); delay (10); digitalWrite(LED2, HIGH); delay (10); digitalWrite(LED4, HIGH); delay (100); digitalWrite(LED4, LOW); delay (100); digitalWrite(LED5, HIGH); } else
VorherigerStatus) { if (Tasterstatus == LOW) { digitalWrite(LED1, LOW); delay (10); digitalWrite(LED2, HIGH); delay (10); digitalWrite(LED4, HIGH); delay (100); digitalWrite(LED4, LOW); delay (100); digitalWrite(LED5, HIGH); } else
-
Thread
Probleme bei Programmierung von Lichtschranken-Stoppuhr
r0, a brsh ByteBinToSevenSegPatternLoop dec r1 add r0, a ldi ZL, Low (SRAM_SEVENSEGMENTPATTERN) ldi ZH, High(SRAM_SEVENSEGMENTPATTERN) add ZL, r0 ld r0, Z ldi ZL, Low (SRAM_SEVENSEGMENTPATTERN) ldi ZH, High(SRAM_SEVENSEGMENTPATTERN
Kontaktes zieht der >Pulldown-Widerstand die Spannung am Eingang hinunter auf GND, was >logisch LOW entspricht. LOW oder HIGH wird am Eingang nur dann per >Widerstand erreicht, wenn es ein CMOS-Eingang ist, weil dieser extrem >hochohmig ist. spess53 schrieb im Beitrag #2113038: > Hi > >
-
Thread
Laflicht mit 27C64
Hallo Jakob, nach dem Einschalten ist der Eingang aufgrund der beiden Elkos kurz auf high (+5V) und der Zähler wird auf 0 gesetzt. Nachdem der Elko aufgeladen ist, muss der Pegel "low" (0V) werden. High = 1 = hier 5V (je nach Logikfamilie) Low = 0 = 0V Gruss Otto
gesteuert. Die Anzeige könnte evtl. mit dem 4543 betrieben werden. @Jakob, lege doch den Pin BI (7) auf Low (VSS) und schau was dann passiert. Wenn die Zahlen dann invers dargestellt werden dann lege den Pin PH (6) auf High (+5Volt). Ach ja, Vorwiderstände vor der LED 7 Segmentanzeige wären eventuell auch
-
Thread
Sinus Generator in Assembler, Werte übergeben
, den du dir da besorgt hast, realisiert eine DDS. Hier .... [c] ... MOV A,Phase_low ADD A,#lo(Frequency) MOV Phase_low,A MOV A,Phase_high ADDC A,#hi(Frequency) MOV Phase_high,A ;16 bit phase-accumulator ... [/c]
8051 die Sache in der Addition anschreiben muss) [avrasm] MOV A,Phase_low ADD A, "den Inhalt der Speicherzelle Frequ_low" MOV Phase_low,A MOV A,Phase_high ADDC A, "den Inhalt der Speicherzelle Frequ_high" MOV
-
Thread
Schieberegister (74HCT595) in C
#define F_CPU 16000000 #include <avr/io.h> #include <util/delay.h> // Enable = Low // Data <--> PORTA.4 // SCK <--> PORTA.5 // SCL / MR <--> PORTA.1 // MasterReset muss auf High (Low Active) // RCK <--> PORTA.0 // OE <--> PORTA.2 // Muss auf LOW damit die
Ich kann sie mit Enable High / Enable Low alle auf einmal ausschalten... nur das will ich ja gar nicht :D enable sollte ja dauerhaft auf low liegen...
-
Thread
AT91SAM7X256 alle IO Pins auf High
Beschreiben des Controller Flashs funktioniert. Das Problem ist, dass nach der Konfiguration alle IO Pins High Level (3,3V) fuehren. Egal welches Programm auf den Controller geladen wird. Die Initialisierung (LowLevelInit) ist soweit "standard", also die die auch von Atmel zur Verfuegung gestellt wird. Ebenso
/ reset watchdog AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA25; // Set pin state to 'high AT91C_BASE_PIOA->PIO_CODR = AT91C_PIO_PA25; // Set pin state to 'low } [/c] Leider tut sich nach wie vor garnichts. ALle Pins haben 3,3V. Ich bin immer noch recht neu
-
Thread
Problem mit LCD-TFT Controller
kommen. Eine weitere Möglichkeit wäre, wenn DataEnable invertiert ist. Einige TFTs möchten den High aktiv, andere Low aktiv.
hat falsche Polaritaet, aber das aendert nichts an der Sache! Eigenartig, waehrend der Dataenable low-phase kommt stets ein kurzer high-pegel von 0,2us Dauer? Thanks,
-
Thread
Atmega8 PORTD7 Problem
großen Nachteil, sie funktioniert nur wenn es in der Halbbrücke einen ständigen Wechsel zwischen high-aktiv und low-aktiv gibt (wie bei den Halbbrücken der BLDC-Fahrregler). Man hätte bei dem Fahrregler mit seinem normalen Bürstenmotor also tricksen und in stromlosen Phasen kurz die low side durchsteuern
#7108492: > sie funktioniert nur wenn es > in der Halbbrücke einen ständigen Wechsel zwischen high-aktiv und > low-aktiv gibt (wie bei den Halbbrücken der BLDC-Fahrregler). So ist es. Beim BLDC gebe ich sporadisch ganz kurze PWM-Sequenzen (so kurz, dass der Motor davon nichts merkt), so funzt
-
Thread
Schieberegister ansteuern
die fallende Flanke vom /OE >> losläuft und eine bestimmte Zeit länger an bleibt, solange der /OE low >> ist > > Das wird nichts helfen, wenn die restlichen Beobachtungen korrekt sind. > Man könnte auf die Art die Dunkelphasen ein wenig länger machen, indem > man dem OE ein High aufzwingt, wenn
sind. > Man könnte auf die Art die Dunkelphasen ein wenig länger machen, indem > man dem OE ein High aufzwingt, wenn das Original schon auf Low gegangen > ist, aber umgekehrt funktioniert es nicht: Auf die Art kann man die > Leuchtphasen in dieser Schaltung/Programmierung nicht länger machen.
-
Thread
UART - Led - Blinkschaltung?
Pegels steckt in den Flanken. Wenn sich der Pegel eines RS232-Signals nicht mehr ändert (egal ob es auf low oder auf high oder high-z sitzt), dann wird nichts mehr übertragen. Also einfach ein flankengetriggertes Monoflop und fertig. Veit D. schrieb im Beitrag #7695642: > jeweils an Tx Rx einen OPV Impedanzfolger
Funktion prüfen, und dieser arbeitet in positiver Logig mit definierter Ruhelage. Diese Ruhelage ist der High-Pegel 5V/3,3V. Bei Datentransfer wechselt der Pegel zwischen High und Low. Da Du nicht die einzelnen Bit, sondern nur die Funktion sehen willst genügt ein LED-Treiber. Ob das nun ein Transistor,
-
Thread
Arduino: digitalRead in Interrupt ist unzuverlässig
von high nach low aus dem Geschwindigkeitsausgang, während der Richtungsausgang jetzt high sein müsste, kann es sein, dass der Puls in die falsche Richtung gezählt wird, weil das Richtungssignal noch dabei ist
Magnet in deren Richtung gedreht ist. Also gibt es zwei "Buttons" (C1 & C2), die entweder gleichzeitig HIGH sind oder nur eine HIGH andere LOW. Wenn beide HIGH, dreht es sich in Uhrzeiger, wenn der C1 HIGH und C2 LOW, dann dreht es sich gegen die Uhrzeiteger. Ich danke euch vielmals für euren Input und
-
Thread
Atmega48PA RS232 Problem
1 Prozent und damit zu hoch!" .endif ; Stackpointer initialisieren ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, LOW(RAMEND) out SPL, temp ; Baudrate einstellen ldi temp, HIGH(UBRR_VAL) out UBRRH, temp ldi temp, LOW
1 Prozent und damit zu hoch!" .endif ; Stackpointer initialisieren ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, LOW(RAMEND) out SPL, temp ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Set baud rate out UBRR0H, HIGH(UBRR_VAL) out UBRR0L, LOW (UBRR_VAL)
-
Thread
DS18S20 auslesen (finde den fehler nicht)
104us unsigned char read_bit(void) { unsigned char i; DDRC |= (1<<PC5); // pull DQ low to start timeslot DDRC &= ~(1<<PC5); // then return high _delay_us(10); i = (PINC & (1<<PC5)) >> PC5)); _delay_us(105); return i; // return value of DQ line } unsigned char
Verbesserungspotential: Der gröbste Bug: void ow_wr_bit(unsigned char bitwert) { // Start Time Slot: DQ auf Low OWDDR |= (1<<OWICPIN); // 1-wire Leitung auf LOW (Ausgang) OWPORT &= ~(1<<OWICPIN); // DQ auf Low // Bei logŽ1Ž: sofort wieder auf High = nur kurzer Low-Impuls if(bitwert) {
-
Thread
Batterie von ADC-Eingang des uC trennen (low power)
Serienwiderstand vermutlich zu groß ... Was ist, wenn du den ADC-Input im Power Down als "Output High" GPIO konfigurierst? Der Controller bei dem ich mal Low-Power-Kram gemacht habe, hat die GPIO-Zustände im Power Down beibehalten, und dann würde kein Strom in den Pin fließen. Edit: Äh ne moment,
Servus, man könnte die Messung dynamisch machen. Sequenz zur Messung: 1. ADC-Port auf Output low schalten 2. Pulse High -> über den Transistor C1 entladen. 3. ADC-Port auf Analog Input schalten. 4. Pulse Low -> Transistor sperrt. Über C1 liegt nun die Batteriespannung am ADC an. 5. Messung
-
Thread
2 Stk. MCP2515 an einem z.B. ATMega32
high nach low einstellen. Gemäß Table 13-2 Datasheet ATMega328P: (1<<ISC01). Der ISC00 muß Null bleiben. Da du erstmal nur mit INT0 testen solltest/kannst/willst, kannst du also einfach erstmal EICRA =
- can_send_message also überall da, wo im Origninal vorkommt PORTB &= ~(1<<SPI_CS); // CS low ersetzen durch if (!CAN_sw) PORTB &= ~(1<<SPI_CS1); // CS1 low else PORTB &= ~(1<<SPI_CS2); //CS2 low und PORTB |= (1<<SPI_CS); // CS high ersetzen durch PORTB
-
Thread
LOW-Pegel von MAX232 zu hoch
Daten vom PC kommen liegen diese auch am Ausgang (richtung µC) des MAX232 an, allerdings stimmt der Low-Pegel nicht. Mein High-Pegel ist bei 5V, mein Low-Pegel bei 4,5 V. Mein Atmega128 empfängt so natürlich nichts... Im Moment ist der MAX232 direkt mit dem UART meines ATMEGA128 verbunden. Hatte
Matthias schrieb im Beitrag #3132854: > Mein High-Pegel ist bei 5V, mein Low-Pegel bei 4,5 V. Das hört sich nach Kurzschluss oder Buskollision an... Matthias schrieb im Beitrag #3132908: > Habe mein Programm nochmal überpüft, die Pins werden nicht
-
Thread
2 Schrittmotore mit Arduino - wieviele rpm erreichbar?
(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime); digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime);[/code]
-
Thread
uC Taktsignal Zeitdiskret ausgeben
Informationseinheit dauert bei der Übertragung 355 + 405 = 760ms. Richtig? Es wird entweder. 760ms lang ein Low-Pegel übertragen oder 355ms lang ein High-Pegel gefolgt von 405 ms Low-Pegel. Richtig? Die kleinste Informationseinheit ist vermutlich entweder 0 oder 1. Die 0 wird vermutlich mit den 760ms Low-Pegel
festgelegt, aber bleiben wir dabei. Um eine logische 1 zu senden, setzt du den Leitungspegel auf High und schaltest ihn nach der Zeit t wieder auf Low. Bei einer logischen 0 wird der Leitungspegel ebenfalls auf High, aber erst nach 2t wieder auf Low gesetzt. Wichtig ist, daß die Leitung auch auf
-
Thread
UART Übertragungsfehler bei bestimmten Zahlenwerten
else if (state == "highByte") { highByte = rx_value; value = (UInt16)((highByte << 8) | lowByte); //zusammensetzen von low und highByte Console.WriteLine
Thomas F. schrieb im Beitrag #7341977: > [Low Byte & High-Byte]... > Diese werden beide über UART an den PC gesendet. Sobald ein kleiner Übertragungsfehler passiert, wird der PC das nachfolgende High-Byte als Low-Byte (und umgekehrt) interpretieren
-
Thread
ATMeag32 / C-Code (einige Fragen, Performance etc.)
PD1 dann auf LOW zieht die PWM erneut gestartet wird? Beim High das selbe. Ebenfalls bei dem Zähler. Wenn 2 Impulse kamen soll die PWM gestartet werden. Wenn nun einer der Taster auf LOW zieht soll dieser "unbeachtet
Auswertungen nur auf High oder Low geschaltet werden. 4 Pins alles für die 2 Motoren. 1 Pin für Licht (also Transistor der dann ein Relai schaltet) Nur sowas halt.
-
Thread
Frage zu I2C Timing im Referenzhandbuch des STM32L073
beeinflusst wird (Clock-Stretching mal außen vor gelassen). Richtig? Ob ein Slave aktiv SCL auf Low hält oder die Leitungskapazität das tut, ist egal. Der Master kann das nicht erkennen. Die Low-Phase ist vorbei, wenn SCL wieder High ist, erst dann fängt die minimale High-Zeit an zu zählen. Das nennt
zu "darf sich SDA .... und spätestens 250ns *vor* der High-Flanke ändern", oder? Die Zeit während der Clock auf HIGH-Pegel ist, ist doch kürzer als die Zeit von spätestens 250ns *vor* der High-Flanke bis zur Low-Flanke. Es widerspricht auch zum Diagramm
-
Thread
PC-Tastatur mit AVR ersetzen
; alle Signale müssen noch invertiert werden!!!! ldi r16, 0b00000110 out DDRB, r16 ldi r16, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, r16 ldi r16, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, r16 .def temp1=r20 .def temp2=r21 .def parity
steht, nur dummerweise ist der Thread ohne eine endgültige Klärung abgerissen) Um die Leitungen LOW oder HIGH zu setzen, reicht es doch eine 0 oder eine 1 an dem I/O auszugeben oder muss ich noch etwas beachten? Wie bestimme ich das Timing um im richtigen Augenblick die Leitungen LOW oder HIGH
-
Thread
High Signal über Optokoppler an Arduino
Hallo, in meiner Schaltung gibt ein Optokoppler ein Signal an einen Mikroprozessoreingang mit positiver Logik (INPUT_PULLUP). Ich möchte den Eingang aus Stromspargründen (Batterien) aber gerne mit einem Pulldown auf GND ziehen und 5V als Eingangssignal verwenden. Kann ich nach dem Optokoppler noch einen PNP Transistor verwenden und falls ja welchen Wert müsste der Basiswiderstand haben bzw. was gibts für Alternativen? Danke für alle Antworten Matthias
-
Thread
Not or + AND gatter
Eingänge high sind, ist eider Ausgang high, ansonsten low. Ich nehme an, ersteres trifft zu. Lösungsvorschläge dazu wurde bereits genannt.
be stucki schrieb im Beitrag #3232364: > 1. Wenn die Eingänge 0 bis 7 low sind oder die Eingänge 0 bis 15 (oder > evt. auch 8 bis 23?) high sind, ist der Ausgang high, ansonsten low. Fast. Es sind ca. 16 Ausgänge, wenn bestimmte ausgänge low sind, und andere bestimmte
-
Thread
Danneggers Entprellroutine im AVR benutzen
habe ich richtig verstanden? Was brauchst Du denn von den Schaltern an Information: Nur den HIGH/LOW Status? Oder eine Info, "Taster wechselt den Status" (Flankenwechsel HIGH/LOW), um genau auf das Drücken oder das Loslassen des Tasters bzw. das Umlegen des Schalters mit einer Aktion zu reagieren
* und eines davon heißt Debounce: [code] /* Debounce Each time the input pin goes from LOW to HIGH (e.g. because of a push-button press), the output pin is toggled from LOW to HIGH or HIGH to LOW. There's a minimum delay between toggles to debounce the circuit (i.e. to ignore noise
-
Thread
CAN übertragung brich ca. nach 10 sek ab
Datenblatt geht für den slopewiderstand an pin 8 folgendes hervor: 3 Verschiedene modi's: 1.)For high-speed operation...connecting pin 8 to ground. 2.)For lower speeds or shorter bus length...can be programmed with a resistor connected from pin 8 to ground. 3.)If a HIGH level is applied to pin
---- /* * */ uint8_t mcp2515_read_register(uint8_t adress) { uint8_t data; /* CS low */ PORTB &= ~(1<<SPI_CS); spi_putc(SPI_READ); spi_putc(adress); data = spi_putc(0xff); /* CS high */ PORTB |= (1<<SPI_CS); return data; } // ----------
-
Thread
Open-collector Ausgang sperrt nicht richtig
einen extra Baustein und der ULN ist kein NAND. Bleibt imho nur noch: NAND durch OR ersetzen und LowSide schalten. Die Hoffnung besteht, dass das Ventil nicht zwangsweise HighSide geschaltet werden muss - was wir aber nicht wirklich wissen.
HildeK schrieb im Beitrag #6695521: > Bleibt imho nur noch: NAND durch OR ersetzen und LowSide schalten. Die > Hoffnung besteht, dass das Ventil nicht zwangsweise HighSide geschaltet > werden muss - was wir aber nicht wirklich wissen. LowSide Schalter hätte ich auch vorgeschlagen,
-
Thread
RFM 01 empfängt nicht
kommen, solange du kein SCK ausgibst. Korrekt müsste das etwa so heissen: [code]#define RFNIRQ_IS_HIGH() ( RF_PIN & (1 << IRQ) ) [..] // busy-wait for nIRQ low while (RFNIRQ_IS_HIGH()) { [.. Timeout zählen oder auch nicht ..] }[/code] Falls Du den timeout wirklich brauchst, dann kannst
Funktioniert auch wenn der Sender im Nebenraum ist. Verbindung scheint also irgendwie zu stehen. Bild: Low= Sender aus, High=Sender an und sendet Habt Ihr Vorschläge / Ideen? Gruß Hannes
-
Thread
Störungen auf Steuerleitungen beseitigen
diverse Steuerleitungen RD, WR, CS, RESET und RS (Befehle schreiben). Davon wird CS ganze Zeit auf Low gehalten (ist alles active Low) und RD auf High. RESET wird nur zu Beginn einmal für 100ms auf Low gezogen und ist sonst auch kontinuierlich High. Zum Schreiben von Registern wird RS auf Low gezogen, die Addresse des gewünschten Registers an die Datenleitungen gelegt, WR einmal kurz auf Low gezogen und dann RS wieder auf High. Das Schreiben von Pixeln ist damit identisch nur das RS High bleibt, also Daten anlegen und WR kurz auf Low. Das Display ließt die Daten bei steigender WR Flanke
-
Thread
Arduino 3 Kanal IR Steckdose
pinMode(rHifi,OUTPUT); pinMode(rTv,OUTPUT); pinMode(rHandy,OUTPUT); digitalWrite(lHifi,LOW); digitalWrite(lTv,LOW); digitalWrite(lHandy,LOW); digitalWrite(rHifi,HIGH); //Relai = aus digitalWrite(rTv,HIGH); // -||- digitalWrite(rHandy,HIGH); // -||- pinMode(Hifi
results.value, DEC); // IR Befehle am Seriellen Monitor ausgeben H=digitalRead(Hifi); if (H == HIGH) //wenn H= HIGH, dann Statusled an und Relai an(LOW) {digitalWrite (lHifi, HIGH);} digitalWrite (rHifi, LOW);} if (results.value == 16724175) {digitalWrite (lHifi, HIGH)
-
Thread
CAN-Sender im Mini-Format
denn. > Perfekt genug jedenfalls für einen 125 kbaud Multimedia-CAN. Bäh, vielleicht auch noch LowSpeed? Dann passt der TJA1050 aber nicht wirklich. Aber da LowSpeed schon länger am Aussterben ist, hoffentlich HighSpeed auf niedrigerer Geschwindigkeit.
und für > den MSCAN/MMCAN ein TJA1040 verbaut wird. Nein, die Buspegel sind unterschiedlich bei LowSpeed und HighSpeed: https://elearning.vector.com/index.php?&wbt_ls_seite_id=504216&root=376493&seite=vl_can_introduction_de Der TJA1040 ist ja nur etwas älter, aber ebenfalls ein HighSpeed Transceiver
-
Thread
ATMega324P und USART Probleme
,0 rcall wait_1s sbi PINB,0 rcall wait_1s ; Stackpointer ldi r16, HIGH(RAMEND) out SPH, r16 ldi r16, LOW(RAMEND) out SPL, r16 ; Baudrate, 20Mhz 9600 Bps ldi r16, HIGH(129) sts UBRR0H,r16 ldi r16, LOW(129) sts
,0 rcall wait_1s sbi PINB,0 rcall wait_1s ; Stackpointer ldi r16, high(RAMEND) out SPH, r16 ldi r16, low(RAMEND) out SPL, r16 ; Baudrate, 20Mhz 9600 Bps ldi r16, high(129) sts UBRR0H,r16 ldi r16, low(129) sts
-
Thread
Vergleichen von x und y in Assembler
mov r17,r15 ; In r17 und r18 das Ergebnis sichern für später mov r18,r16 subi r15,low(Konstante1) sbci r16,high(Konstante1) brcs ende_v1 sub xl,r15 sbc xh,r16 ldi r17,low(Konstante1) ldi r18,high(Konstante1) ende_v1: [/avrasm] Damit
ldi r17,low(Konstante2) ldi r18,high(Konstante2) ende_v2: [/avrasm]
-
Thread
PIC18F4550 oscillator Initialisieren
(void) { _asm goto YourHighPriorytyISRCode _endasm } #pragma code low_vector=0x18 void interrupt_at_low_vector(void) { _asm goto low_isr _endasm } #pragma code[/c] Wenn generelle Anfänger-Probleme bestehen, dann
_asm goto high_isr _endasm } #define low_priority // remove keyword #pragma interruptlow low_isr #pragma code low_vector=0x18 void interrupt_at_low_vector
-
Thread
WS2812 Timing
Ausführung der While Schlaufe benötigt halt auch ein bisschen Zeit. Dadurch bleibt der Pin länger auf Low als auf High. Dieser Code hier ist zwar extrem unschön jedoch sollten dann ein paar high/low Takte gleich lange Zeiten haben.
jau, jetzt sind sie exakt 186ns High, 186ns Low
-
Thread
HDD Festplatte ATA IDE an AVR µC Mikrocontroller ATmega1284p Assembler - viele Fragen
Device" abgerufen? - müssen an den unbeschalteten IDE-Anschlüssen (s.Schaltplan) nicht doch High oder Low angelegt werden? Bernhard
darfst du selber. > - müssen an den unbeschalteten IDE-Anschlüssen (s.Schaltplan) > nicht doch High oder Low angelegt werden? Auch das klärt die Schnittstellenbeschreibung. Kurzfassung: Eigentlich nicht.
-
Thread
STM32: I2C-Master setzt ARLO-Flag (arbitration lost)
=0 hier SCL: 9 mal Low-> High->Low gleichlange Zeiten,SDA Wechsel nur wenn SCL low. SCL und SDA unbedingt im Open-Drain Modus lassen! >errata_2_14_7_workaround() was macht die genau? Warum nimmst du nicht entsprechende
dummschwaetzer schrieb im Beitrag #6633009: > SDA und SCL sollten die 5V als High haben. Laut I2C-Spezifikation sollte High 70% von Vcc und Low 30% von Vcc sein.
-
Thread
Telefon-Wählscheibe mit Attiny13 Ausgang auf low setzen
folgenden Code von einem Bekannten bekommen und habe nun das Problem, das der Ausgang an Pin3 ein High-Signal liefert und bei richtiger Zahlenfolge auf low schaltet, ich das aber genau umgedreht brauche, sprich Pin3 auf low bei richtiger Zahlenfolge kurz auf High schaltet. Ich hoffe, hier kann mir einer
0b11100111; // PULL-UP für Eingänge Die zweite Zeile setzt Bit3 und Bit4 auf high, die musst du ändern: PORTB = PORTB | 0b00011000; wird zu-> PORTB &= ~( (1<<PB3) | (1<<PB4) ); //Bit3 und Bit4 auf low setzen Die dritte Zeile setzt Bit4 auf low,die musst du ebenfalls ändern
-
Thread
Bug? DAC im ATmega16m!
Das hat historische Ursachen: Timer 16 Bit lesen: - low byte (high wird gelatcht) - high byte Timer 16 Bit schreiben: - high byte (high wird gelatcht) - low byte + high latch ADC 10 Bit lesen: - low byte (high wird gesperrt) - high byte ADC 8 Bit lesen: - high byte Bis hierher kann der Compiler das alles gleich machen. Und nun kommts: DAC 10 Bit schreiben: - low byte (low wird gelatcht) - high byte + low latch DAC 8 Bit schreiben: - high byte
-
Thread
PiPico PIO programmieren
Signale zur Display-Steuerung aus) mehr als störend. In der Richtung wie in der Grafik gezeigt – /low/ to /high/ bleibt aus – ist der Fehler aber gar nicht existent. Die Richtung /low/ to /high/ geht bei korrekter Ansteuerung immer und hat mit RP2350-E9 nichts zu tun. Nur wenn der ›input‹ bereits /latched/ high ist, müssen aus ihm die ca. 100µA heraus fließen können um ihn wieder low zu bringen. Das es mit dem RP2040 geht, liegt wohl eher daran, dass bei dessen interner Pad Konfiguration und der externen
-
Thread
C++ Klassenbibliothek für AVR
pin = 13; void setup() { pinMode(pin, OUTPUT); } void loop() { digitalSwitch(pin, HIGH); // 4MHz digitalSwitch(pin, LOW); digitalSwitch(pin, HIGH); digitalSwitch(pin, LOW); digitalSwitch(pin, HIGH); digitalSwitch(pin, LOW); digitalSwitch(pin, HIGH); digitalSwitch(pin, LOW); digitalSwitch(pin, HIGH); digitalSwitch(pin, LOW); } [/c]