-
Thread
Arduino Nano Loop "hängt"
/ if ((value_Fhem_Tor_auf==1)||(value_FFB==1234567)&&(value_S2==1)) { digitalWrite(K1,LOW); digitalWrite(K3,LOW); } else{ if ((value_S1==1)&&(value_FFB==0)&&(value_Fhem_Tor_auf==1)){digitalWrite(K1,HIGH);digitalWrite(K3,HIGH);} } ////////////////
if ((value_Fhem_Tor_zu==1)||(value_FFB==1234567)&&(value_S1==1)) { digitalWrite(K2,LOW); digitalWrite(K3,LOW); } else{ if ((value_S2==1)&&(value_FFB==0)&&(value_Fhem_Tor_zu==1)){digitalWrite(K2,HIGH);digitalWrite(K3,HIGH);} } } [/c]
-
Thread
VFD Ansteuerung mit STM8
Wahrscheinlich kann ich dann vieles weglassen, oder? Dieser Teil wird so übernommen, oder? #define LCD_STB_HIGH() GPIO_WriteHigh(LCD_PORT, LCD_STB_pin) #define LCD_STB_LOW() GPIO_WriteLow(LCD_PORT, LCD_STB_pin) #define LCD_SCK_HIGH() GPIO_WriteHigh(LCD_PORT, LCD_SCK_pin) #define LCD_SCK_LOW() GPIO_WriteLow(LCD_PORT, LCD_SCK_pin) #define LCD_SDI_HIGH() GPIO_WriteHigh(LCD_PORT, LCD_SDI_pin) #define LCD_SDI_LOW() GPIO_WriteLow(LCD_PORT
-
Thread
Probleme mit TM7705 an Arduino nano3
: [c] #define AD7705_CS_OUT() sbi(DDRD,5) // CS an PD5 auf Ausgabe setzen #define AD7705_CS_LOW() cbi(PORTD,5) // CS an PD5 low setzen #define AD7705_CS_HIGH() sbi(PORTD,5) // CS an PD5 high setzen #define AD7705_DRDY (PIND & 0x40)// 0100 0000 PD6: test for DRDY BYTE data_h, data_l
AD7705_CS_LOW(); // CS low vor Schreiben SPI sbi(SPCR,SPE); // SPI aktiv schalten SPDR = 0x0C; // put byte 'out' in SPI data register for output // 0000 1100 teilt 4.9MHz durch 2, 50Hz
-
Thread
Takt pic 16f877a ; Brennen funktioniert nicht
ist der RB3 Status bei HVP egal: "The Program/Verify mode is entered by holding pins RB6 and RB7 low, while raising MCLR pin from VIL to VIHH (high voltage). In this mode, the state of the RB3 pin does not effect programming." Hier steht jedoch, holding RB6 und RB7 low ... bedeutet dies etwa,
RB3 Status bei HVP egal: > > "The Program/Verify mode is entered by holding pins > RB6 and RB7 low, while raising MCLR pin from VIL to > VIHH (high voltage). In this mode, the state of the RB3 > pin does not effect programming." JA, völlig Richtig! Bei Microchip ist -anders als bei Atmel-
-
Thread
Schmitt Trigger und LCD - Verständnisfrage
und einem LCD einen Schmitt Trigger verbauen. Soweit ich das sehe werden die Signale umgedreht, aus High wird Low usw.. Das würde bedeuten, dass ich ALLE Signale über den Schmitt Trigger ziehen muss, also Daten- und Steuersignale. Bin ich da richtig oder komplett auf dem Holzweg ? Beim LCD Controller
Rudolf M. schrieb im Beitrag #6177921: > Für mich sagt das, daß der Impuls > (high 450ns und low 550ns) lang sein muss. Falsch. Er muss mindestens 450ns aktiv sein, und er muss insgesamt mindestens 1000ns dauern. Du kannst auch 3 Sekunden H und 5 low machen, das geht auch. 2MHz
-
Thread
Projekt an der Uni - Kühlschrankwächter mit MC, WLAN oder GSM
float temp = ((T1+T2)/2); if(temp >25 || temp <20){ digitalWrite(D3, LOW); digitalWrite(D0, HIGH); delay(1000); digitalWrite(D3, HIGH); digitalWrite(D0, LOW); } display.drawRect(1, 1,
float temp = ((T1+T2)/2); if(temp >25 || temp <20){ digitalWrite(D3, LOW); digitalWrite(D0, HIGH); delay(1000); digitalWrite(D3, HIGH); digitalWrite(D0, LOW); } display.drawRect(1, 1,
-
Thread
PS2 Maus
ich habe jetzt etwas getrickst. problem ist ja, dass der datenpin während der abrfrage nach low an clock nicht high sein darf. ich habe jetzt in dieser abfrage data auf low gezogen. wenn dann der low clock kommt, wird das datenbit evtl. auf high angepasst oder bleobt so, und steht dann nach
ergeben. - die Maus hört auf, Takte beim schreiben eines Commandobytes zu senden, sobald einmal High im zu sendenden Commando auftritt. High am SDA sorgt dafür, dass SCL nicht mehr auf Low geht. ich habe das ganze momentan derart ausgetrickst, dass ich während der SCL-Low-Abfrage (=warten auf Takt
-
Thread
5V Input an LED schalten mit 3V3 vom ESP01s
Grund: Wenn die Last-Spannung größer als 3,3V bzw. 5V ist, braucht man zwei Transistoren, um die High-Side zu schalten. Um die Low-Side zu schalten reicht ein einzelner Transistor.
Nummerierung angehängt. Der verwendete GPIO0 muss zum normalen Start offen sein oder schwach auf HIGH gezogen werden. Gibt beim Booten LOW Impulse aus. Für den anderen Pin darunter (GPIO2) gilt die selbe Einschränkung. Du ziehst ihn hingegen auf LOW. So wird der Chip nicht booten. Eventuell hast
-
Thread
Mit Servosignal & uC schalten
würd ich das ganz trivial so lösen, dass ich erst mal auf die steigende Flanke warte. while (isPinLow()) {} Wenn ab 1,5 ms ausgelöst werden soll, dann wart ich ab jetzt diese Zeit (delayMs(15) oder so ähnlich) und wenn danach wieder low ist, wird nicht geschaltet, wenn immer noch high, dann wird
ich das ganz >trivial so lösen, dass ich erst mal auf die steigende Flanke warte. > >while (isPinLow()) {} > >Wenn ab 1,5 ms ausgelöst werden soll, dann wart ich ab jetzt diese Zeit >(delayMs(15) oder so ähnlich) und wenn danach wieder low ist, wird nicht >geschaltet, wenn immer noch high, dann
-
Thread
"Machbarkeits-Studie" I2C/ULN2803/Modelbahn-Weichen
Die Gleise haben vermutlich nur zwei Zustände, links oder rechts, genauso wie dein Pin, 1 oder 0, High oder Low. Warum verwendest du zwei Pins und nicht einen einzigen, wobei der zweite Pol des Gleises durch einen Inverter angeschlossen ist. Dadurch hast du einen Pin frei den du zur Überwachung verwenden
. Meiner "Hoffnung" nach, ist U2´(rechts) "stark" genug um bei Abfrage von IC1 an Pin 0.0 ein "high" auszugeben, aber zu "schwach" um IC2 IN1 zu schalten. IC2 Pin 0.1 ist "frei", also bei Abfrage "low". Wenn jetzt der "Schaltbefehl" von IC1, Pin 0.1 auf "high" zu setzen kommt, (500ms müssten
-
Thread
Drehzahlmesser ansteuern
US_TO_MS = 1000 gpio.mode(LED_PIN, gpio.OUTPUT) while true do gpio.write(LED_PIN, gpio.HIGH) tmr.delay(1 * US_TO_MS) gpio.write(LED_PIN, gpio.LOW) tmr.delay(50 * US_TO_MS) end ----- Muss an dem Signal-In eine bestimmte Spannung anliegen? Leider gibt es zu dem Teil keinerlei Dokumentation
Signal des ESP mit dem Oszi anschaue, sehe ich, dass mit while true do gpio.write(LED_PIN, gpio.HIGH) gpio.write(LED_PIN, gpio.LOW) tmr.delay(50 * US_TO_MS) end die Frequenz doch sehr nah an den 20Hz ist. Ggf. 1180 rpm statt 1200, aber definitiv keine 833. (Tatsächlich waren die 833 schon
-
Thread
PIC - Interrupt Priority
Interrupt-Flags drin, wenn der Interrupt ausgelöst hat IPR - hier legst du die Priority fest (0 = high und 1 = low, oder umgekehrt, weiß ich nicht aus dem Kopf) PIE - damit kannst du die die gewünschten Interrupts aktivieren/deaktivieren Low-Priority-Interrupts können von High-Priority-Interrupts
Ahh, danke. Das klappt jetzt alles mit high und low :) Und auch wenn es wohl eine Umstellung bedeutet kann man sich sicher an die nur zwei ISR gewöhnen.. Könnt ihr mir auch noch sagen wieso die Zeile: [c] #pragma interruptlow ISR_low [
-
Thread
DDS normal ?
100, 220, 470, 820 parallel. Schaltbar über PINs an PORTC. PIN : Eingang C ab. PIN : Ausgang und low oder High dran. Das scheint zu funktioneren. Grüße Werner
eine Verzögerung vorhanden, oder man braucht eine 4-fach-Fallunterscheidung: Signal - bleibt high: nichts oder FF ausgeben - bleibt low : nichts oder 00 ausgeben - steigende Flanke: 7f ausgeben - fallende Flanke: 80 ausgeben
-
Thread
Stack Monitor Disabled ????
******** Konv: lsr lowByte ; Rechtsschieben lsr lowByte ; Rechtsschieben ldi temp,64 MUL highByte,temp ;High *64 mov highByte,r0 ; errechneten Wert highByte zuweisen Add lowByte,highByte ; High + Low rcall Nullstellung ;************ Knüppelstellung bestimmen ********************** Nullstellung: ;;************ unter 127 ---
-
Thread
Problem mit MMC, bekomme immer illegal command
Die Frage ist halt ob die MMC auch wirklich 3.3V rausschickt, oder ob sie einfach bei low gegen Masse schaltet und bei High "loslässt" und wenns nicht hoch gezogen wird dann macht der Pegel irgendwas. Eigentlich sollte doch durch einschalten des SPI dieser Pin richtig eingerichtet werden
Ja, wenn ich es vor dem cs low weglasse gehts nicht mehr, hinterher senden (nach dem cs wieder high??) habe ich noch nicht probiert, werde ich aber noch tun und berichten, aber hauptsache es funktioniert jetzt mal, danke danke danke
-
Thread
Timing & Triggern mit 2 Timern in ASM
vlt auch ein Tipp wie das besser > geht? warum schreibst du es nicht so [C] ldi H_byte, HIGH( 2600 ) sts OCR1AH, H_byte ldi L_byte, LOW( 2600 ) sts OCR1AL, L_byte [/C] beim Stack-Pointer beschreiben hast du ja auch die HIGH und LOW Makros benutzt. Warum diese Schreibweise
ein Tipp wie das besser >> geht? > > warum schreibst du es nicht so > [C] > ldi H_byte, HIGH( 2600 ) > sts OCR1AH, H_byte > ldi L_byte, LOW( 2600 ) > sts OCR1AL, L_byte > [/C] > > beim Stack-Pointer beschreiben hast du ja auch die HIGH und LOW Makros > benutzt. > Warum
-
Thread
CAN und MCP2515 - Kein Senden möglich
Er liefert ja aber einen Active Low Pegel, daher habe ich nicht so weit gescrollt. So oder so sollte doch aber ein Pull-up nicht schaden? > When an interrupt occurs, the I̅N̅T̅ pin is driven low by the MCP2515 > and will remain low
Einstellung finde, aber man sieht der INT wird zu unterschiedlichen Zeitpunkten abgeholt und ordnungsgemäß HIGH gesetzt. Bei fehlendem Traffic bleibt er HIGH und alles schaltet nach 10 Sekunden ab. Beim Abschalten geht INT mangels Stromversorgung wieder LOW.
-
Thread
Wie viele Takte braucht diese ISR ca?
Zu Beginn der ISR einen Pin auf High, zum Schluss wieder auf Low. Oszilloskop dran, auf'n Bildschirm schauen, fertig!
Norbert schrieb im Beitrag #6974900: > Zu Beginn der ISR einen Pin auf High, zum Schluss wieder auf Low. > Oszilloskop dran, auf'n Bildschirm schauen, fertig Ja, das bringt es - bei enthaltenen IF-Abfragen.
-
Thread
12bit Integer aus 8bit Array lesen
hier konstant ########################################### ... uint16_t value; uint16_t data_low, data_high; uint8_t position = numChannels - 1 - ((row*3)+color); uint8_t posarray = position*3/2; ... data_high = (((uint16_t)gsDataBuffer[posarray][column])&(15UL)); //liest die ersten 4bit der "oberen" 8bit Zahl ein. posarray++; data_low = ((uint16_t) gsDataBuffer[posarray][column]); //liest alle 8bit der "unteren" 8bit Zahl ein. value = (data_high<<8) + data_low; //Addieren return(value); ####################################
-
Thread
indizierte addressierung
einer Speicherausnutzung von 50% sehr ineffizient wäre. Der lpm-Befehl ermöglicht es aber, einzeln auf Low- und High-Byte der Worte zuzugreifen, indem er die Adresse künstlich verlängert und 'rechts' vom LSB ein zusätzliches Bit einfügt, mit dem er entscheidet, ob das Low- oder das High-Byte angesprochen
einfach per : STRING: .db "Hello world",0 ; 0 zeigt das Ende des Strings an. ldi ZH,HIGH(STRING*2) ldi ZH,LOW(STRING*2) rcall PRINT Das ist soweit die einfachste und effizienteste Methode um ein LCD zu beschreiben und verdeutlicht am besten das lpm-Prinzip.
-
Thread
Taster mit 3 Pins mit Arduino ausführen
davon aus, dass es sich um einen Pull-Down-Widerstand handelt, er zieht den Pin permanent auf Masse (Low-Zustand). Erst wenn der Taster gedrückt wird, wird die Verbindung zur Versorgungsspannung hergestellt (High). Wie könnte ich den Taster jetzt mit einem Optokoppler ausführen lassen? Wenn ich die
Ich werde es als Input definieren und erst dann, wenn ich es brauche, auf Output stellen und auf HIGH schalten. [CODE]pinMode(8, OUTPUT); digitalWrite(8, HIGH); delay(100); digitalWrite(8, LOW); pinMode(8, INPUT);[/CODE] Das sind nur 100 Millisekunden, wenn ich es kurz auf Output und auf HIGH
-
Thread
1 Kanal Relais Modul ist die Zeichnung richtig
Karl B. bist Du leider nicht eigegangen. Geschaltet werden soll, wenn IN1 angesteuert wird. Ob High oder LOW in der Ausgangsstellung für Durchgang sorgt, ist egal, da ich es ja auf Öffner oder Schließer Seite anklemmen kann. Oder habe ich jetzt was falsch verstanden?
D. Z. schrieb im Beitrag #6668130: > Ob High oder LOW in > der Ausgangsstellung für Durchgang sorgt, ist egal, da ich es ja auf > Öffner oder Schließer Seite anklemmen kann. > > Oder habe ich jetzt was falsch verstanden? Ist nicht egal
-
Thread
Hausdrainage-Kontrolle mittels DuoLED und Levelsensor - Anfängerprojekt!
Befehl, wenn das angegebene Bit 0 (low) ist. sbi PORTB, 1 ; PB1 auf high setzen, grüne LED leuchtet - unterhalb Pegel rjmp loop sensor2: sbis r16,1 ; Der Befehl sbis
out PORTD, r16 .def temp = r16 ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp loop:
-
Thread
12V Schrittmotor an 12V Netzteil dreht nicht
dir, OUTPUT); } void loop() { for(int i = 0; i < 400; i++ ) { digitalWrite(dir, HIGH); digitalWrite(ste, HIGH); delay(250); digitalWrite(ste, LOW); delay(250); } for(int i = 0; i < 400; i++ ) { digitalWrite(dir, LOW); digitalWrite(ste, HIGH
funktionieren, wie bei den anderen. Nochmal, was soll die dauernde Fummelei an der Dir-Leitung. Einmal High und einmal Low setzen sollte doch reichen. Bei jedem Schritt den Wert noch einmal zu setzen, bringt die Welt nicht weiter. Was macht der Treiber, wenn du ihn von Hand ansteuerst, also einfach direkt
-
Thread
Arduino Uno Spannungsabfrage 1 oder 0?
Serial.println("\nstatus=IDLE"); } void loop() { if(digitalRead(7) == LOW) { //Kein Signal geben digitalWrite(2,HIGH); massageSend = 0; } else { //Hier wird der Alarm gestartet und das GSM-Shield sendet die SMS digitalWrite(2,LOW); delay(300); digitalWrite(2,HIGH); delay(300); digitalWrite(2,LOW); if(started && massageSend == 0) { //Zum Sms senden if (sms.SendSMS("06605557559", "Dein Fahrrad wird gestohlen!"))
-
Thread
iLI9163B Ansteuerung mit SPI
SPI_DATA_LOW(); /* ansonsten auf 0 */ } data = data << 1; SPI_CLK_HIGH(); //Clock bit rising edge } SPI_CLK_LOW(); //CS high, übertragung beendet } void
!CS low Kommando plus zugehörige Daten !CS high fchk
-
Thread
Problem mit CAN Interface MCP2515/2551
Serial.println("Trying to reset MCP2515"); digitalWrite(SLAVESELECT, LOW); SPI.transfer(RESET); digitalWrite(SLAVESELECT, HIGH); delay(200); Serial.println("Reading MCP2515 status:"); digitalWrite(SLAVESELECT, LOW); SPI.transfer(READ); SPI.transfer
(SLAVESELECT, HIGH); Serial.print("MCP2515 Status: "); Serial.println(canStatus, BIN); Serial.println("Setting to normal mode"); digitalWrite(SLAVESELECT,LOW); SPI.transfer(WRITE); SPI.transfer
-
Thread
Ansteuerung DS 1302 (Timekeeping) über I2C-Bus (
LOW); delayMicroseconds (TWW / 2); digitalWrite (SCLK, HIGH); delayMicroseconds (TWW); digitalWrite (SCLK, LOW); delayMicroseconds (TWW); } delayMicroseconds (TWW + TWW);
bits ++) { digitalWrite(SCLK, LOW); delayMicroseconds(TWW); digitalWrite(IO, (Register & 1 << bits) ? HIGH : LOW); delayMicroseconds(TWW / 2); digitalWrite(SCLK, HIGH); delayMicroseconds(TWW); } pinMode
-
Thread
Attiny85 Pin als Eingang
mal nicht. Es empfiehlt sich, die Schreibweise [c] PORTB |= (1 << PB4); // Ausgang B4 auf HIGH setzten PORTB &= ~(1 << PB3); // Ausgang B3 auf LOW setzen [/c] anzugewöhnen und mal durchzudenken. @Arduino Funboy Das hier ist es nicht ganz - stell dir vor, B3 war vorher Ausgang :-)
bekannten Version PINB = (1<<PB0); // oder auch der LED1 ^= 1; // Toggle if (INPUT == HIGH) LED1 ^= 1; // Input-Abfrage if (INPUT == LOW) LED0 ^= 1; while(1) asm("NOP"); // nur wegen Simulator } [/c] Hat was für die Lesbarkeit, oder?
-
Thread
ATmega48 - Timer0: PWM mit Poti zum LED dimmen in C
0x01; // PD0 high => LED an } if (result >= 191) { PORTD &= ~0x19; // PD4, PD3 & PD0 low PORTD |= 0x04; // PD2 high => LED an } }
|= 0x01; // PD0 high => LED an } if (result >= 191) { PORTD &= ~0x19; // PD4, PD3 & PD0 low PORTD |= 0x04; // PD2 high => LED an } }
-
Thread
der Begriff 'High Side Driver'
Hi, was versteht man eigentlich unter dem Begriff 'High Side Driver'? Gehören CAN-Transceiver auch dazu? Ciao
indirekt. Mein neuer Favorit ist http://eu2.ixquick.com/deu/ @Owen: Ein Can Tranceiver hat einen High und einen Low Side Driver
-
Thread
TWI mit USI nach AN-310
)? Normalerweise schon. Zuerst die Startbedingung (die sieht noch OK aus) "The SCL is set to HIGH and SDA shifts from HIGH to LOW state." dann SCL->L, SDA->MSB(Adresse), SCL->H... > Leigt das an der recht geringen clk von 10kHz? lt. DB gibt es keine untere Grenze für fclk. Eventuell übersehen
soll, ist der nicht auch deiner meinung nach an der falschen Position? Ich würde erwarten, dass SDA low bliebt bis SCL auf high geht und DANN das MSB übertragen wird, also um einen clk zyklus nach rechts verschoben - und vor allem nicht nur als kurzer impuls. der 9 clk zyklus, in dem der slave die
-
Thread
DS18B20 Dezimalwert berechnen
welches ich zur berechnung hergenommen habe. [code] Num_Ausgabe: clr r29 calc: lsl t_high inc r29 cpi r29,4 brne calc clr r29 calc1: andi t_high, 0b11110000 andi t_low, 0b00001111 or t_high, t_low mov temp1, t_high rcall lcd_number clr t_high clr t_low ret [/code
du nur die Vorkommastellen haben willst, musst du ähnlich wie in deinem Programmausschnitt aus dem High-Nibble von t_low und dem Low-Nibble von t_high ein Byte machen. swap t_low swap t_high andi t_low, $0F andi t_high, $F0 or t_low,t_high Den Wert musst du dann nach dezimal wandeln und an das
-
Thread
LC320 macht nichts!
schon eine kleine Bestätigung bringen... Eine Frage... Beim Timing des 640... Wenn du /Hold auf high setzt, dann hat er ja ein low und die Bits sind ja dann Don't Care, oder etwa nicht? ...hm..
> Eine Frage... > Beim Timing des 640... > Wenn du /Hold auf high setzt, dann hat er ja ein low und die Bits sind > ja dann Don't Care, oder etwa nicht? ...hm.. PS:Timing ist gleich wie beim 640
-
Thread
Atmel oder PIC Gesperrt
erkennt? Welcher PIC das genau ist, weiß ich nicht mehr. Er hat folgende IO-Register: - Adresse Low-Byte - Adresse High-Byte - Lesen/Schreiben von Adresse - Lesen/Schreiben von Adresse mit Adreßincrement - Lesen/Schreiben von Adresse mit Adreßdecrement Und das ganze 3-mal, also 15 "magische"
dachte ich auch "Was für ein Fuchs" > > > > mfg Jup, aber dann bitteschön auch die 0 aus dem low word Register in das low word des RAM laden und das gleiche nochmal mit den high words. Wehe wenn einer die beiden Nullen vertauscht!
-
Thread
ADC auswertung
3 ADCH4 = 4 ; ADC Data Register High Byte Bit 4 ADCH5 = 5 ; ADC Data Register High Byte Bit 5 ADCH6 = 6 ; ADC Data Register High Byte Bit 6 ADCH7 = 7 ; ADC Data Register High Byte Bit 7 ; ADCL - ADC Data Register Low Byte ADCL0 = 0 ; ADC Data Register Low Byte Bit 0 ADCL1 = 1 ; ADC Data Register Low Byte Bit 1 ADCL2 = 2 ; ADC Data Register Low Byte Bit 2 ADCL3 = 3 ; ADC Data Register Low Byte Bit 3 ADCL4 = 4 ; ADC Data Register Low Byte Bit
-
Thread
[ATTiny24] Bitte um Blick auf Code
prev_tachoB) * 1000 / delta_time; } //Write everything into the txbuffer txbuffer[0] = HIGH_BYTE(speed_A); txbuffer[1] = LOW_BYTE(speed_A); txbuffer[2] = HIGH_BYTE(tacho_A); txbuffer[3] = LOW_BYTE(tacho_A); txbuffer[4] = HIGH_BYTE(speed_B); txbuffer[5] = LOW_BYTE(speed_B
prev_tachoB) * 1000) / delta_time; } //Write everything into the txbuffer txbuffer[0] = HIGH_BYTE(speed_A); txbuffer[1] = LOW_BYTE(speed_A); txbuffer[2] = HIGH_BYTE(akt_tacho_A); txbuffer[3] = LOW_BYTE(akt_tacho_A); txbuffer[4] = HIGH_BYTE(speed_B); txbuffer[5] = LOW_BYTE
-
Thread
SPI Probleme zwischen STM32 und ADT7310
// Output : none int16_t DigitalTempDataReg16bit; // SET Chipselect ADC nSS to low IO_CLR_PIN(TSens_SPI2_GPIO, TSens_SPI2_nSS_PIN); SPI_I2S_SendData(SPI2, 0x00); while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) { } // SET Chipselect ADC nSS to High IO_SET_PIN
11k Ohm zu 3.3V angeschlossen Aber eben hatte kein Wirkung. MISO geht zwar jetzt schneller auf High bei /CS to High.
-
Thread
Gemeinsamer IO Pin für Ein und Ausgang
Schau Dir mal das Prinzip der Porterweiterung von z.B. einem PCF8574. Der kann ein Signal ausgeben (low oder high). Und er kann auch den Pin einlesen. (µP Eingang) Ein Pull-Up kann von der Peripherie bei High belassen werden oder mit Low überstimmt werden. (µP Ausgang) Bei "normaler" Dimensionierung
"high" ausgebe, dann treibt der Ausgang 24V. Und wenn ich > "low" ausgebe, dann kommt da kein Strom heraus. > > In diesem "inaktiven" low Zustand kann ich von aussen 24V anlegen und > über den µC-Eingang
-
Thread
Arduino: Schalter reagiert nur gelegentlich
[c] if (on == 0) { if (digitalRead(taster) ==LOW) { digitalWrite(relaisein,HIGH); if (digitalRead(taster) == HIGH) **1 { digitalWrite(relaisein,LOW); } } on = 1;
pinMode (45,OUTPUT); pinMode (43,OUTPUT); } void loop() { int x = 0; do { digitalWrite(45,HIGH); delay(10); digitalWrite(45,LOW); delay(500); digitalWrite(43,HIGH); delay(10); digitalWrite(43,LOW); delay(500); x = x+1; } while (x < 5); delay(1000); } _________________________
-
Thread
Flash-Tool für LPC43xx Mikrocontroller
bits are zero Boot mode Pins Description P2_9 P2_8 P1_2 P1_1 USART0 LOW LOW LOW LOW Boot from device connected to USART0 using pins P2_0 and P2_1. SPIFI LOW LOW LOW HIGH Boot from Quad SPI flash connected to the SPIFI interface on P3_3 to P3_8[1]. ... USB0 LOW HIGH LOW HIGH Boot from USB0 USB1 LOW HIGH HIGH LOW Boot from USB1. ... [/code] Vielleicht findest Du doch auch Angaben in der Doku zu Deinem Prozessor.
-
Thread
Umsetzung eines 5V Output mit ESP32 und AQY Halbleiterrelais
alles Low-Side mit NPN (oder N-MOSFET). Ich denke, das ist bei KFZ der Normalfall. Nur die Beleuchtung ist High-Side geschaltet, aber rein mechanisch, an der Elektronik-Box vorbei. Ich habe früher öfter
elektronische Schaltungen zum Einbau in Schaltschränke entwickelt und gebaut. Auch da wurde immer Low-Side geschaltet. Meistens haben die Platinen Relais angesteuert, die der Elektriker daneben auf die Hutschiene montiert hat. Nie hat jemand bemängelt, dass er lieber die High-Side geschaltet haben will
-
Thread
Was stimmt an diesem Code nicht?
int counter=0; int schalter=digitalRead(2); Serial.println(schalter, DEC); if(schalter==HIGH){ counter++; } if(counter==0){ digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, LOW); } if(counter==1){ digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); } if(counter==2){ digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(11, LOW); } if(counter==3){ digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite
-
Thread
Sanftanlauf für ferngesteuertes Auto
Freilaufdioden für meine PWM, oder? Normalerweise schon, vor allem für die Zeiten, wo weder der High-Side noch der Low-Side Transistor eingeschaltet ist. > Soft-Stop realisieren Normalerweise schließt man den Motor kurz. Also beide Low-Side oder beide High-Side Transistoren an (ohne PWM). Das
>> Soft-Stop realisieren > > Normalerweise schließt man den Motor kurz. Also beide Low-Side oder > beide High-Side Transistoren an (ohne PWM). Das ist soft genug. > Ok, glaube ich Dir, dass man die nicht braucht, müsste dann mal nachschauen, ob das die H-Brücken schon machen oder
-
Thread
LED-Matrix 5x24 mit MOSFETs
denn? Du hast 2 verschiedene (Leute, redet ihr im normalen Leben auch so einen Kauderwelsch?) Die Low Side MOSFETs IRF7103 kann man direk mit dem AVR mit 5V betreiben, die High Side MOSFETs IRF7104 brauchen einen [[Pegelwandler]]. HEF4104 oder ähnlich reicht hier. >Als LEDs möchte ich 2mA Low Currents
@ MaWin (Gast) >Er HAT doch low current LEDs. Den Thread vorher zu lesen ist nicht deine >Stärke. Er HATTE auch mal High Side Treiber!
-
Thread
Hilfe zu DS18S20
/ 15-60 us until DS1820 pulls down the bus (and here the pullup resistor must bring the bus from low to high) // high detected check (sample some pulses to be independent of spikes) byte b; for (b= 0; b < 10; ++b) { if ((PIND & (1u<<4)) == 0) { TRACE("no high after reset (wire
// 15-60 us until DS1820 pulls down the bus (and here the pullup resistor must bring the bus from low to high) // high detected check (sample some pulses to be independent of spikes) byte b; for (b= 0; b < 10; ++b) { if ((PIND & (1u<<4)) == 0) { TRACE("no high after reset (wire
-
Thread
AVR AtMega8 Preemtive Scheduler
20C-Programmierung/CVAVR_05.pdf S.64 uint16_t *Stack_Ptr = 0; volatile uint16_t tmp_ptr = 0; volatile uint8_t low_ptr, high_ptr; SIGNAL (TIMER2_COMP_vect)//TIMER1_COMPA_vect) { PORTC = 0b00100000; tmp_ptr = (unsigned int) pt_function1; low_ptr = tmp_ptr; // get lowbyte asm volatile("push r24");// push low byte of adress to the stack tmp_ptr -= low_ptr;//clear low byte of the adress high_ptr = 0; //***************************************************** // obtaining high byte of the adress and push
-
Thread
Als Ausgang gesetzt als Eingang erkannt?
Welche Methode einen Taster am uC anzuschließen bevorzugt ihr? 1. Bei Betätigung wird der Pin auf Low gezogen. (Mit pull-up) 2. Bei Betätigung wird der Pin auf High gezogen.(Mit pull-up) Und wieso? ;-)
Ausgang. Das PORT-Register enthält im Falle eines Ausgangs immer den Zustand des Ausgangstreibers (high/low) und im Falle eines Eingangs den Zustand des Pullup-Widerstandes (ein/aus). > Dann werd ich diesen Versuch mal lassen bevor ich mir den uC schrotte. Stimmt, das wäre besser. Auf Dauer könnte der
-
Thread
Pollin RFM Evaluation Board SPI/ICP konflikt?
die Select-Leitung des Moduls, der diese > beim Controllerreset in die gewünschte Richtung (hier LOW) zieht. Ich würde sagen eher HIGH. Denn Select an den Modulen ist LOW active. Ist ein bischen schade, denn auf Senderseite möchte ich so viel Strom sparen wie möglich. Und da stehe ich prinzipiell
auch hochohmig gehalten werden kann? > > Ja, die Chip Select Leitung. Zieh sie per Pullup auf High > und ICP funktioniert. Naja, das ist klar, aber bei so ultra-low-power Anwendungen halt blöd, weil da immer Strom fließt, sobald die Peripherie selectiert wird. Netter wäre es, wenn man einen
-
Thread
SPI: Clock ist in Idle-Status Low - Warum?
Verwendeter uC: STM32F303 SPI Mode: CPOL = 1 bzw. CPHA = 1 Das bedeutet, dass im Idle-Status der Clock HIGH sein sollte. Hier fängt schon das Problem an: Der Clock bleibt nach dem Einschalten der SPI LOW. In einer while-Schleife sende ich zum testen die Adresse 0x6 (SPI1->DR = 0x6;) Im Oszilloskop (siehe im Anhang ein Bild davon), sieht man, wie die Clock-Leitung (gelb) LOW bleibt bzw. zum Zeitpunkt des Sendens der Adresse 0x6 geht sie kurzfristig HIGH (für ca. 200ns), dann gleich wieder auf LOW... Auf der MISO-Leitung (grün) tut sich jedoch nichts... Kann mir jemand