-
Thread
Spartan 3 Configuration
der Polarität des SPI Clocks. Jedes Mal, wenn sich das SPI Interface vom µc von Bus zurückgezogen (high Z) hat, war zu diesem Zeitpunkt der Clock auf LOW und in Verbindung mit dem internen Pull-Up vom FPGA interpretierte selbiger dies als steigene Taktflanke. Achja und sorry wegen der Scopeaufnahme
Polarität des SPI Clocks. Jedes Mal, wenn sich das SPI >Interface vom µc von Bus zurückgezogen (high Z) hat, war zu diesem >Zeitpunkt der Clock auf LOW und in Verbindung mit dem internen Pull-Up >vom FPGA interpretierte selbiger dies als steigene Taktflanke. Sicher? Wenn der FPGA konfiguriert
-
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
ESP32 fahrrad blinker mit warnblinker
Modus --- switch (currentState) { case LEFT: digitalWrite(ledLeftPin, blinkState ? HIGH : LOW); digitalWrite(ledRightPin, LOW); break; case RIGHT: digitalWrite(ledLeftPin, LOW); digitalWrite(ledRightPin, blinkState ? HIGH : LOW); break; case WARN: digitalWrite(ledLeftPin, blinkState ? HIGH : LOW); digitalWrite(ledRightPin, blinkState ? HIGH : LOW); break; case OFF: default: digitalWrite(ledLeftPin, LOW); digitalWrite(ledRightPin, LOW); break
-
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
nichtintegrierender Tiefpass
Wie soll das überhaupt funktionieren? Die Daten können über längere Zeit nur high oder nur low sein, das kann man dem Signal nicht ansehen. Deshalb werden solche Daten oft verscrambled, in der Hoffnung dass längere high- oder low-Zeiten sehr selten vorkommen.
dass ist die eigentliche Frage. Zumal es "diese Gleichspannung" ja garnicht gibt. Es gibt eine Low-Spannung (die scheint nicht gefragt) Es gibt ein High-Spannung (die scheint auch nicht gefragt) Es gibt eine resultierende Spannung. Aber erstens ist die ja gar nicht gefragt und zweitens, selbst
-
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
Nichtinvertierter Vergleichstyp zum ULN 2803 gesucht
Widerstände an den Ausgängen des PCF ebenfalls direkt per AVR schalten und nach dem Reset erstmal auf LOW lassen, PCF laden, dann high setzen. http://www.mikrocontroller.net/articles/Port-Expander_PCF8574 MFG Falk
Zuerst high weil auf Input, dann low durch umprogrammieren? Kann man machen muss man nicht!
-
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
High Precision Opamps - Dual/Quad - Vergleich
anderer Thread) aber mit anderem Hintergrund dachte ich es wäre vielleicht ganz schön, mal ein paar high precision Opamps zusammen zu tragen, die vorallem durch zwei Kriterien eingegrenzt sind, die sich aus der Anwendung in mobilem low power Equipment auszeichnen: a) Betrieb bei bis runter zu 3V Single
anderer Thread) aber mit anderem Hintergrund >dachte ich es wäre vielleicht ganz schön, mal ein paar high precision >Opamps zusammen zu tragen, die vorallem durch zwei Kriterien eingegrenzt >sind, die sich aus der Anwendung in mobilem low power Equipment >auszeichnen: Eine solche Auswahl finde
-
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
Ringing bei BLDC Vollbrücke. Fragen zu Layoutinduktivität
Verbaute Hardware: TI DRV8323 Gate Treiber, ON NVMFS5C638NLT1G MOSFET, Kondensatoren zwischen High-Side Drain und Low-Side Source: EPCOS B32522C0335J000 3.3uF 63V Folie und 5* 4.7µF 50V X7R Keramik. Oszilloskop Screenshots sind auch im Anhang. Gemessen habe ich fürs erste immer an der Low-Side
Mike Litoris schrieb im Beitrag #6140161: > Gemessen habe ich fürs erste immer an der Low-Side, habe keinen > ausreichend schnellen differentiellen Tastkopf für die High-Side. Du mißt hier immer die Addition der Schwingungen von Low- und High-Side. Somit ist das eigentlich nicht möglich
-
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
A4935 killt NMOS-Transistoren
Könnte man den High-Side FET nicht als Low-Side einsetzen? Und SA auf Masse klemmen?
kHz PWM Signals die Kapazitaet > durch die Last zu entladen? Das kommt darauf an, wie lange die Low-Phase ist. Wenn dein 20kHz PWM-Signal 40us low ist und 10us high, dann reicht das sicher. Wenn es 49us high ist, und nur 1us low, dann solltest du das im Auge behalten...
-
Thread
Grafikfähiger LCD Controller für 320x240 LCD mit D-RAM
Noch ein Nachtrag. (Ist mir zu spät eingefallen) Was genau hat es sich mit den Werten Low und High auf sich? "Kalibrierwert für Xmin Xmin Low / Xmin High" Bzw „01, X Low, X High, Y Low, Y High“. VG!
überschrieben. Sebastian Engel schrieb im Beitrag #2914473: > Was genau hat es sich mit den Werten Low und High auf sich? > > "Kalibrierwert für Xmin > Xmin Low / Xmin High" > > Bzw „01, X Low, X High, Y Low, Y High“. Da die Analogen Werte 10 Bit Breit sind passen sie nicht in ein Byte rein
-
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]
-
Thread
Levelshifter 0/3.3 zu -10/-5V 16MHz,
Data-Low und Data-High sind die entsprechenden Versorgungsspannungen.
Nö. MEINE erste Schaltung verwendet ein 74HC08 Gatter mit ca. 30 Ohm Ausgangswiderstand, welche für LOW und HIGH wirksam werden. Die Schaltung des OP verwendet einen Open Drain Ausgang mit 100 Ohm Ausgangswiderstand, welche nur bei HIGH wirksam werden. Bei LOW ist es der RDSON des MOSFETs, der ist aber
-
Thread
AVR, Pointer auf Flash-Speicher per Assembler
; compare low byte of Z with low byte of final address cpc ZH, r27 ; compare high byte of Z (with previous carry) with high byte of final address brcs loop ; check is carry flag
of the current flash-address into r24 and increment Z sts DACB_CH0DATA, r24 ; write to DAC - low byte sts DACB_CH0DATA+1, r25 ; write to DAC - high byte cp ZL, r26 ; compare low byte of Z with low byte of final address cpc ZH, r27 ; compare high byte of
-
Thread
Automat für UND und ODER
, StateBit1Low, Trxxx) AddRule( StateIdle, EvtBit1High, StateBit1High, Trxxx) AddRule( StateBit1Low, EvtBit2Low, StateBit1LowBit2Low, Trxxx) AddRule( StateBit1Low, EvtBit2High, StateBit1LowBit2High, Trxxx) AddRule( StateBit1High, EvtBit2Low, StateBit1HighBit2Low, Trxxx) AddRule( StateBit1High, EvtBit2High, StateBit1HighBit2High, Trxxx) AddRule( StateBit1LowBit2Low, EvtReset, StateIdle, Trxxx) AddRule( StateBit1LowBit2High
-
Thread
habe auch Probs mit DS1620
;clk high clr p1.0 ;clk low setb p1.0 ;clk high clr p1.0 ;clk low setb p1.0 ;clk high clr p1.0 ;clk low ->> "0000" auf dq ausgegeben ->> write config ;----------------
;clk low setb p1.2 ;dq 0 setb p1.0 ;clk high clr p1.0 ;clk low setb p1.0 ;clk high clr p1.0 ;clk low setb p1.0 ;clk high clr p1.0 ;clk low ->> "0000"
-
Thread
Verständnisfrage zu Einschaltzerzögerung mit NE555
). TRIG = LOW = NE555 kippt noch nicht, Threshold = LOW = OUT HIGH (anscheinend) = über VCC angeschlossene LED aus. Wenn der Kondensator über 2 Drittel aufgeladen ist schaltet der 555er OUT auf LOW und die LED kann
Spannung unter einem Drittel der Betriebsspannung abfällt (neg. Flanke), > wird der Ausgang auf high geschaltet. > Eine Frage hätte ich dazu aber noch: wo genau ist das Verhalten beschrieben, dass OUT (Pin 3) HIGH ist, wenn Threshold LOW ist, während TRIGGER (Pin 2) noch nicht gesetzt wurde (
-
Thread
AVR Assembler-Frage
Der nette Nebeneffekt ist, dass die BAM während eines gesammten Durchlaufs die Flanke mehrmals auf High bzw. Low setzt und so in Durchschnitt eine höhere Frequenz erwirkt wird, während ein "nur" PWM während eines Durchlaufs die Flanke jeweils nur einmal auf High bzw. Low setzt. Ist das so richtig?
iwr0, Y+ out PORTD, iwr0 ;output pattern ldi iwr0, low(pwm_data_end) cpse yl, iwr0 reti ldi yl, low(pwm_data) ldi yh, high(pwm_data) reti [/avrasm] Ein Bit habe ich auf 24 Zyklen festgelegt (3
-
Thread
suche 8-bit serial input High-Level-Load shiftregister
suche ein am Eingang zum HC165 "inverses" Bauteil. Zur Erklärung: das HC165 gibt bei einem auf "Low" schaltenden Signal die Änderung an den uP weiter. Ich suche ein Baustein der das bei "High" Signal tut... Beim druck auf meinen Schalter werden 5V an das Register geschalten... Besten Dank für
Boris Novski schrieb im Beitrag #3065100: > das HC165 gibt bei einem auf "Low" schaltenden Signal die > Änderung an den uP weiter. Ich suche ein Baustein der das bei "High" > Signal tut... Du weisst aber schon, was ein Schieberegister ist, oder?
-
Thread
Suche Protokol zu Datenstrom
dazu ein Protokoll das passen könnte. Scheinbar fängt das Signal mit 4 Start-Bits an. 1* 11µs High,11µs Low 1* 11µs High,22µs Low 1* 11µs High,11µs Low 1* 11µs High,11µs Low dann 616µs High (Pause) Dann ein Datenstrom von ca.106 bis 119 mal High wobei die Längen der Bits sich ändern. (
Robert schrieb im Beitrag #6015708: > Scheinbar fängt das Signal mit 4 Start-Bits an. > 1* 11µs High,11µs Low > 1* 11µs High,22µs Low > 1* 11µs High,11µs Low > 1* 11µs High,11µs Low > > dann 616µs High (Pause) > > Dann ein Datenstrom von ca.106 bis 119 mal High > wobei die Längen der Bits
-
Thread
ASM beim ATMega88 Stack verbiegen oder ganz anderst?
Hi Warum die Verrenkungen? [avrasm] Wechsel: ldi r16,high(RAMEND) out SPH,r16 ldi r16,Low(RAMEND) out SPL,r16 ldi r16, Low(zieladresse) push r16 ldi r16,High(zieladresse) push r16 reti [/avrasm] MfG Spess
und noch was kürzer: Wechsel: ldi r16,high(RAMEND) out SPH,r16 ldi r16,Low(RAMEND) out SPL,r16 rjmp zieladresse Zieladresse: sei . . Empfehlen würde ich es auch nicht, es geht auch "sauber".
-
Thread
AVR Programm, brauche Hilfe bei Kommentar bitte
Overflow Interrupt Enable TCNT1=53816; ////Timer/Counter1 – Counter Register High byte, sorgt dafür, dass die High-und Low Bytes gleichzeitig lesen und geschrieben werden } void USART_Init( unsigned int ubrr) //initialisieren der USART mit Baudrate=9600, 1Stop Bit
TCNT1 = 53816; // Timer/Counter1 – Counter Register High byte, sorgt dafür, dass die High-und Low Bytes gleichzeitig lesen und geschrieben werden } void USART_Init (unsigned int ubrr) // initialisieren der USART mit Baudrate=9600
-
Thread
Arduino Uno verus Nano Every
led_pinH, OUTPUT); pinMode(led_pinI, OUTPUT); } void loop() { if (digitalRead(switch_pin) == HIGH) { blinkRate=12; } if (digitalRead(switch_pin) == LOW) { blinkRate=50; } digitalWrite(led_pinA, HIGH); digitalWrite(led_pinB, HIGH); digitalWrite(led_pinC, HIGH
delay zu programmeiren [c] bool status=0; void loop() { if (digitalRead(switch_pin) == HIGH) { veroegerung=12; } if (digitalRead(switch_pin) == LOW) { veroegerung=50; } static long ntime = 0; if(millis-ntime >= veroegerung){ status = status^1; digitalWrite
-
Thread
I2C Multimaster realisieren
zu. Wenn zum Zeitpunkt eises RESETs ein Slave ausgelesen wird und der gerade die SDA-Leitung auf LOW treibt... A HIGH to LOW transition on the SDA line while SCL is HIGH defines a START condition. A LOW to HIGH transition on the SDA line while SCL is HIGH defines a STOP condition. Und nu? Was mach ich beim Neustart? Gegen ein LOW auf SDA komm ich nicht an. Solange händisch am SCL toggeln (LOW,HIGH) bis SDA auf HIGH geht und dann SDA auf LOW gefolgt von HIGH (START . STOP)? Funktioniert das immer ? Manche Mikrokontroller
-
Thread
Atmega/C: eine Funktion aus einer Funktions heraus aufrufen
(uint8_t ziffer) { if ( ziffer & ( 1 << 7 ) ) { PORTE |= (1 << DATA); } //Wenn Bit 7 = High, dann High ausgeben else { PORTE &= ~(1 << DATA); }; //Wenn Bit 7 = Low, dann Low ausgeben PORTE |= (1 << CLK); // Datenleitung = HIGH PORTE &= ~(1 << CLK); // Schiebetakt = HIGH, LOW if ( ziffer & ( 1 << 6 ) ) { PORTE |= (1 << DATA); } else { PORTE &= ~(1 << DATA); }; PORTE |= (1 << CLK); // Datenleitung = HIGH PORTE &= ~(1 <<
-
Thread
WordClock mit WS2812
und RST auf high. Dann einmal RST low und wieder high und GPIO0 auf high und ich konnte den ESP programmieren.
/hattest. > Den Chip Select (CH_PD) darf man natürlich auch nicht vergessen, der > muss auch high sein. Ist klar, der Pin wird aber auch vom STM32 gesteuert, wenn das ESP-Modul am STM32 hängt. > GPIO0 habe ich dann beim Einschalten auf low gelassen und RST auf high. > Dann einmal RST low
-
Thread
LCD wird immer aktualisiert
einbinden .def temp1 = r16 ; register bestimmen .def temp2 = r17 .def temp3 = r18 ldi temp1, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp1 ldi temp1, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp1 ldi temp1, 0xFF ; I/O's setzen out DDRC, temp1 ; Port C
einbinden .def temp1 = r16 ; register bestimmen .def temp2 = r17 .def temp3 = r18 ldi temp1, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp1 ldi temp1, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp1 ldi temp1, 0xFF ; I/O's setzen out DDRC, temp1 ; Port C
-
Thread
byte zu Zahl in C
für das zusammenbasteln der zwei byts habe ich dass gefunden: uint16_t u16; uint8_t u8_low; uint8_t u8_high; u16 = u8_high * 256 + u8_low; ------ oder uint16_t make_u16(uint8_t high_byte, uint8_t low_byte) { return ( ((uint16_t)high_byte)<<8 | low_byte) } bei den positiven
u16 = u8_high * 256 + u8_low; ist übrigens das gleiche wie u16 = (u8_high << 8) + u8_low; Wurde hier auch schon ein paarmal in diversen Codeschnipseln gezeigt. Bitshifting muss man bei µC Programmierung
-
Thread
PWM-Signal mit 0,1 Hz erzeugen
); } // the loop function runs over and over again forever void loop() { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(13, LOW); // turn the LED off by making the voltage LOW delay(1000);
void loop() { int PwmOffTime_ms=PwmPeriodTime_ms*PwmOn_percent/100; digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(PwmPeriodTime_ms-PwmOffTime_ms); digitalWrite(13, LOW); // turn the LED off by making the voltage LOW delay(PwmOffTime_ms
-
Thread
DCF-Uhr mit LCD in C
dcf_sync(void)" etwas genauer zu beschreiben. Als Randbedingung noch zu beachten: die Variable counter_high wird in der ISR erhöht, also alle 1ms um +1. [c] if(!(dataPC & (1<<PINC1))) //ist am Eingangspin ein Low-Pegel wird dieser Zweig ausgeführt { if(counter_high>=1750 && counter_high<=1950)
ein Impuls ausfallen, soweit zu sieht gut aus. Du könntest sogar Merker setzen der alle Impulse high low zählt die ins Raster passen müssen, ich tippe mal der kommt nie bis 59
-
Thread
27C64 durch 27C256 ersetzen
3FFFH > .. > 0000H - 1FFFH -> 6000H -7FFFH dieses getan, dann war mir das egal ob die Leitung high oder low ist.
> dieses getan, dann war mir das egal ob die Leitung high oder low ist. Angsthase.
-
Thread
3 Interrupts am Arduino Nano
Pins (Beschriftung auf der Platine) D2, > D3, D4 angeschlossen. Die Dinger wechseln immer zwischen High und Low. An welcher Stelle ist da jetzt ein Interrupt nötig? > Die Dinger wechseln immer zwischen High und Low. Wie schnell wechseln die zwischen h und l? Und welche Information ist darin versteckt
von High auf low) Danke für den Tip, aber habe ich das nicht in meiner ISR gelöst? So wie ich es verstanden habe löst dir ISR aus wenn irgend einer der maskierten Pins von low auf high oder umgekehrt wechselt
-
Thread
max. Input Frequenz ATMEGA328
#5722813: > - was ist PulseIn()? Arduino funktion? sonst poste den Code Ja, misst die Zeit von Low bis wieder ein High anliegt. K. S. schrieb im Beitrag #5722813: > - was macht der restliche Code? auf einem LCD die Zahl ausgeben. Plus den Höchstwert jeweils in eine Variable schreiben. K
auf 64 verringern, dann paßt es wieder. > 1'000'000 us / 2, weil die Zeit gemessen wird, bis von low wieder ein > high einliegt, und nicht die volle Periode. Funktioniert so nicht wirklich gut. Du willst die PERIODENDAUER messen, als von HIGH-LOW zu HIGH-LOW Flanke! Nicht die LOW oder HIGH Zeiten
-
Thread
RPi 5 externer Ein/Aus Taster mit Led als Statusanzeige [Schaltplan Hilfe]
machen lassen will. Grundsätzliche Funktionen der Schaltung: - RPi ist aus (+3.3V Rail am RPi ist LOW, GPIO Ausgang ist LOW): Nach dem drücken des Tasters oder IR Fernbedienung fährt der RPi hoch (+3.3V Rail am RPi ist HIGH). Die Led blendet(fadet) hoch und runter bis ein Python Skript den GPIO Ausgang
nach Bedarf hoch oder > runterziehen. Es geht nicht darum, dass man die Portpins als Ausgang high oder low schalten kann, sondern ob man an einem Eingangs-Portpin einen Pullup zuschalten kann.
-
Thread
5-fach Relaisschaltung
(1000); digitalWrite(Schloss_2,LOW); Zaehler++; Flag=0; } if (Flag==1 && Zaehler==3) { digitalWrite(Schloss_3,HIGH); delay(1000); digitalWrite(Schloss_3,LOW); Zaehler
Flag=0; } if (Flag==1 && Zaehler==4) { digitalWrite(Schloss_4,HIGH); delay(1000); digitalWrite(Schloss_4,LOW); Zaehler++; Flag=0; } if (Flag==1 && Zaehler==5) { digitalWrite(Schloss_5,HIGH); delay
-
Thread
AT-Tastatur - PC - µC "einschleifen" -> RS232
schon gepostet. Eigentlich sollten die Hostkommandos gar nicht stimmen, weil der Zustand bei CLK=High statt Low gelesen wird.(zumindest ist es nicht garantiert)
TCCR0B = 0x03; while(TCNT0 <= 2); TCCR0B = 0x00; //CLOCK wieder als Eingang mit HIGH durch PULLUP DDRD.CLOCK = 0; //CLOCK->Eingang PORTD.CLOCK = 1; //Daten werden bei LOW geschrieben und vom Eingabegerät mit HIGH übernommen while(PIND.CLOCK==1); while(
-
Thread
Phänomen Unterprogramm schlägt wieder zu!
ldi temp, LOW(RAMEND) ;LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ;HIGH-Byte der obersten RAM-Adresse out SPH, temp Versuchs mal in dieser Reihenfolge, ist bei
@ Christoph: Zugriff auf 16- Bit Reg.: Schreiben: High dann Low; Lesen: Low dann High Also dürfte deine Aussage Schwachsinn sein.