-
Thread
Überhitzungserkennung mit Thermistor, so richtig?
. Y-Achse: Spannung am uC Pin mit meinem Spannungsteiler. Blau: Spannung am PTC. Rot: unterstellte Low-Schwelle von 1,5V, Gelb: unterstellte High-Schwelle von 3,5V. Bis 80 Grad bleibt es unter 1,5V - das wird niemals ein High-Pegel werden. Und bei 90 Grad kommt es bei 4 Volt raus, das wird sicher
Frage, ob der Port eine Hysterese hat und davon würde ich fast ausgehen, dass er nicht bei 3,0V auf High schaltet und bei minimalem Absinken auf 2,95V gleich wieder auf Low...
-
Thread
ATmega8 und UART => Code bringt Einsteiger zum Verzweifeln
Messzyklus starten) loop_until_bit_is_clear(ADCSR, ADIF); //warten bis Messung fertig lowByte = ADCL; //immer zuerst das LowByte auslesen highByte = ADCH; //dann das mittlerweile gesperrte HighByte auslesen ergebnis = highByte * 256 + lowByte; //Zusammenführung
; //definiere zeichen als unsigned integer 8bit volatile uint8_t lowByte; //definiere lowByte als unsigned integer 8bit volatile uint8_t highByte; //definiere highByte als unsigned integer 8bit volatile uint16_t ergebnis; //definiere ergebnis
-
Thread
SD Karte(FatFs) verträgt sich mit ENC28J60 nicht
> Das passt schon. Nur zur Klarstellung: Das is solange SD Mode, bis das Kommando CMD0 mit CS=Low durch ist und die Karte korrekt antwortet. Erst ab dann kann man die Karte mit CS=High *deselektieren*.
Beitrag #4874721: > Nur zur Klarstellung: Das is solange SD Mode, bis das Kommando CMD0 mit > CS=Low durch ist und die Karte korrekt antwortet. Erst ab dann kann man > die Karte mit CS=High deselektieren. Nein. Karte braucht erst mal etwa 80 Clocks (minimum) mit CS=High. Das macht man deswegen
-
Thread
PWM Frequenz für den VNH3SP30-E
|= (1<<WGM10); TCCR1B |= (1<<WGM12); //Timer 1 Compare Output mode einstellen: Pin geht auf high bei Compare match, auf low bei Überlauf. TCCR1A |= (1<<COM1B1);//Nur Channel B [/c] Ich habe absichtlich den Code beider Timer gepstet, falls Jemand einen Seiteneffekt kennt/sieht. Gibt es einen
im Beitrag #4660208: > Nö. Normale PWM Naja, laut Datenblatt schaltet man mit den PWM Pin die Low-Side Fets frei. Ich würde mal den PWM Pin auf high setzten und die beiden Eingänge complementär oder mit phase correct ansteuern. mfg
-
Thread
Schrittmotor Starten/Stoppen
== 58016) //richtige Taste erkannt { Serial.println(results.value, DEC); if (state == LOW) { state = HIGH; // Button pressed, so set state to HIGH digitalWrite(LED1, HIGH); } } if (state == HIGH) {myStepper.step(1);} lastPressTime
== 58016) //richtige Taste erkannt { Serial.println(results.value, DEC); if (state == LOW) { state = HIGH; // Button pressed, so set state to HIGH digitalWrite(LED1, HIGH); } } if (state == HIGH) {myStepper.step(1);} [/c]
-
Thread
Naked ISR hier ok?
#if DEBUG_MODE == OFF if ( Pulsegenerator < PULSE_DURATION_MS && Timeout ) PULSE_LOW(); else PULSE_HIGH(); #elif DEBUG_MODE == ON if ( Pulsegenerator < PULSE_DURATION_MS && Timeout )PORTB &= ~(1<<PB1); else PORTB |= (1<<PB1); PULSE_LOW();
#if DEBUG_MODE == OFF if ( Pulsegenerator < PULSE_DURATION_MS && Timeout ) PULSE_LOW(); else PULSE_HIGH(); #elif DEBUG_MODE == ON if ( Pulsegenerator < PULSE_DURATION_MS && Timeout )PORTB &= ~(1<<PB1); else PORTB |= (1<<PB1); PULSE_LOW();
-
Thread
4 CH Relais schaltet alle Kanäle auf einmal
); delay(1000); digitalWrite(4, LOW); digitalWrite(1, HIGH); delay(100); digitalWrite(3, HIGH); delay(1000); digitalWrite(1, LOW); digitalWrite(3, LOW); delay(1000); digitalWrite(2, HIGH); digitalWrite(4,
HIGH / LOW richtig eingestellt?
-
Thread
Arduino Beschleunigungssensor + LED + Taster
für yWert if (yWert >= 363) { digitalWrite(2, HIGH); delay(3000); digitalWrite(2, LOW); } if (yWert <= 350) { digitalWrite(2, HIGH); delay(3000); digitalWrite(2, LOW); } //if-Abfragen für zWert if (zWert >= 307) { digitalWrite(2, HIGH); delay(3000); digitalWrite(2, LOW); } if (zWert <= 298) { digitalWrite(2, HIGH); delay(3000); digitalWrite(2, LOW); } } [/code]
-
Thread
Tristate Treiber
aber immer gleich: Den Mittelabgriff eines Spannungsteilers an den Ausgang. Wenn Der Ausgang nun High ist, liegt das High-Signal am Mittelabgriff, ist der Ausgang Low, liegt das Low-Signal an, und ist der Ausgang hochomig, liegt VCC/2 an. Nun kannst Du dieses Spannungssignal weiterverarbeiten. Z.B
High = High Low = Low U/2 oder offen = Z mit MultiSim7 simuliert... sollte also gehen.
-
Thread
16 Bit Integer in 2x8Bit Char wandeln (in C)
[c] LowByte = i; HighByte = i >> 8; [/c]
word; word.w = x; //zu wandelnde 16Bit Variable(x) unsigned char HighByte = word.b[1]; //HighByte unsigned char LowByte = val.b[0]; //LowByte Gruß
-
Thread
Zeitdifferenz zwischen zwei Rechtecksignalen
GEKU schrieb im Beitrag #5883127: > == HIGH ist die Polarität der Taster richtig? Sonst hätte er in der While Schleife auf Ewig hängen bleiben müssen! Wenn nicht probiert != HIGH oder == LOW
es gehen: [c] int Condition=0; //Folgezeile Kommentar entfernen, wenn bei ungedrücktem Taster HIGH am Eingang //Condition = HIGH; //Folgezeile Kommentar entfernen, wenn bei ungedrücktem Taster LOW am Eingang //Condition = LOW; while (digitalRead(2)==Condition){} start = millis(); while (digitalRead
-
Thread
Schaltung zur Erkennug eines langen Pulses
#5803629: > Am Eingang liegt ein 5V Puls von 11s an, Ausgang geht für eine bestimmte > Zeit auf high und danach wieder auf low Nach Ende des 11s Pulses oder nach 10s?
PB0 low PPORTB|=2; // dann PB1 high setzen delay_ms(EineBestimmteZeit); // ...abwarten.... PPORTB&=~2; // dann PB1 wieder low setzen } } } [
-
Thread
IR NEC Signal mit einlesen
Ich möchte: Wenn Taster an Fernbedienung gedrückt ist: PD5 ansteuern Fall 1: - solange PD3 low ist - solange PD3 dann high ist Aufhören wenn PD3 dann wieder low ist (PD5 nicht mehr ansteuern) Also low, high, low -> Aus Fall 2: - solange PD3 high ist Aufhören wenn PD3 dann low ist
beinhaltet. Probleme: OK Taste wird gar nicht beachtet :-( Fall 1 ist erst zu Ende wenn PD3: low, high, low, high, low -> Aus Fall 2 ist erst zu Ende wenn PD3: high, low, high, low -> Aus Nur warum muss "hinten" immer ein weiteres high, low dazu? Vor dem else if frag ich nur normale
-
Thread
SD Karte 4 Bit Modus CRC Datencheck
möchte #ifdef SD_4BIT_MODE for(j = 0; j < 2; j++) { SD_CLK_LOW; SD_DAT_WRITE((Data8 >> 4) & 0x0F); SD_CLK_HIGH; Data8 <<= 4; } #endif } // Crc-Datencheck #ifdef SD_4BIT_MODE for(j = 0; j < 16; j++) { SD_CLK_LOW
card for(i = 0; i < 32 && !bWriteSuccess; i++) // Glaub sollte nur 12 bits sein { SD_CLK_LOW; SD_CLK_HIGH; // CRC response output is always two clocks after the // end of data if ((SD_TEST_DAT & 0x01) == 0x01) // (DAT0==LOW: busy indicate bWriteSuccess
-
Thread
Motorola MC68332 und BD32
FREEZE muss 5V führen, wenn der BDM aktiv ist. BDM kann man ja nur dadurch aktivieren, dass BKPT/DSCLK low ist, während ein RESET durchgeführt wird, aber nachdem der RESET ausgeführt wurde, muss ja BKPT wieder HIGH sein, denn im Manual heisst es irgendwie sowas: If BKPT/DSCLK is held low during normal
current bus cycle is tagged with a breakpoint. Muss ich jetzt BKPT gleichzeitig mit RESET auf high legen, oder noch eine gewisse Zeit lang auf LOW halten, während RESET auf high geht? Gruss Tobias
-
Thread
Signalbewertung beim avr (low-pegel)
Hallo, ab welchem Spannungspegel erkennt ein AVR (atmega48) ob es sich um ein Low-Pegel oder High-Pegel handelt? Ist das der gleichen Signalbewertung wie bei TTL zugrundegelegt? Da folgendes Problem: Wenn einem Eingang ca. 0,2V anliegen, so funktioniert mein Programm. Liegen aber
@ Paul (Gast) >ab welchem Spannungspegel erkennt ein AVR (atmega48) ob es sich um ein >Low-Pegel oder High-Pegel handelt? Das hängt von der Betriebsspannung ab. Musst du inst Datenblatt schauen. Ich tippe mal so auf 30/70%Vcc. > Ist das der gleichen Signalbewertung wie bei TTL zugrundegelegt
-
Thread
LCD Modul Problem
PA5 - 0*/ IOPINS_PinHigh(A, 2); /*DB5 - PA2 - 1*/ IOPINS_PinHigh(A, 7); /*DB4 - PA7 - 1*/ IOPINS_PinLow(B, 3); /*DB3 - PB3 - 0*/ IOPINS_PinLow(A, 1); /*DB2 - PA1 - 0*/ IOPINS_PinLow(B, 2); /*DB1 - PB2 - 0
> IOPINS_PinLow(A, 6); /*DB7 - PA6 - 0*/ > IOPINS_PinLow(A, 5); /*DB6 - PA5 - 0*/ > IOPINS_PinHigh(A, 2); /*DB5 - PA2 - 1*/ > IOPINS_PinHigh(A, 7); /*DB4 - PA7 - 1*/ > IOPINS_PinLow(B, 3); /*DB3 - PB3
-
Thread
DCF77-Modul - Timing stimmt nicht
{ uint16_t x=0,y=0,thigh, tlow, tsum; pinMode(DCF77_DATA,INPUT);digitalWrite(DCF77_DATA,LOW); pinMode(DCF77_GND,OUTPUT);digitalWrite(DCF77_GND,LOW); pinMode(DCF77_VCC,OUTPUT);digitalWrite(DCF77_VCC,HIGH); while (true) { thigh=0; tlow=0; while (!digitalRead(DCF77
Andreas K. schrieb im Beitrag #6211142: > pinMode(DCF77_GND,OUTPUT);digitalWrite(DCF77_GND,LOW); > pinMode(DCF77_VCC,OUTPUT);digitalWrite(DCF77_VCC,HIGH); Warum das? Andreas K. schrieb im Beitrag #6211142: > pinMode(DCF77_DATA,INPUT);digitalWrite(DCF77_DATA,LOW); Wo kommt der Highpegel
-
Thread
Wie Kodierschalter auswerten?
Ports am MCU den Pullup Resistor aktivieren. Und dann wie bei dem DIP Schalter schauen ob an dem PIN high oder low vorzufinden ist. Stimmt das so? Oder habe ich da einen Denkfehler?
Pins. Also ich seh' da nur fünf. C an GND und die anderen 4 an den Controllerport. Pullups auf High und fertig. El Nino schrieb im Beitrag #2140398: > Und dann wie bei dem DIP Schalter schauen ob an dem PIN high oder low > vorzufinden ist. Nicht an DEM Pin, sondern alle 4 zusammen als Zahl
-
Thread
"Toleranz" bei CMOS-Eingängen bezüglich anliegender Spannung HI/LOW
Welche Schnittstelle haben DAC und µC? Welche Spannung erkennt der DAC als sicher High? Gruß PP
Also ganz einfache Kiste, jede Logik-famileie hat ihre eigenen Pegelbereiche, die als High und Low akzeptiert werden. Üblicherweise sind da nur die Low-Pegel wichtig (meist bis max 1,2 V) und das schmale band zwischen Low und High. Wenn du dich nicht an diese Pegel hälts, kann der Eingang
-
Thread
Ich messe 100mA für ein digital Pin auf dem Arduino Nano bei digitalWrite HIGH?
OUTPUT); } void loop() { Serial.println("Start new Cyclus."); digitalWrite(relais_pin, HIGH); delay(1000); digitalWrite(relais_pin, LOW); delay(1000); } [/c] wo ich abwechselnd digital Pin 6 genau 1000 ms auf HIGH dann 1000 ms auf LOW schalte. Mit einem einfachen Oszilloskopen
); } void loop() { Serial.println("Durchlauf "+ String(++d)); digitalWrite(6, HIGH); delay(5000); digitalWrite(6, LOW); delay(5000); } [/c] Ergebnis mit einem Peaktech 3415 Multimeter an einem ATmega4809: leicht von 66mA auf 65mA abfallender Strom bei high und
-
Thread
DHT22: Datenblatt + Pegel passt nicht / ungenau
fangen schon mit der Startsequenz (Datenblatt Seite 4) an. Es soll der Bus zwischen 1 und 18 ms auf low gezogen werden. Mit 1 - 2 ms langen Pulsen reagiert der Sensor, sonst nicht. Ich ziehe den Bus also 2 ms auf low. Laut Datenblatt soll dann 20 - 40 us high folgen und abgewartet werden. Man sieht im
wenige Mikrosekunden sind, in diesem Fall 3 us. Das ganze ändert sich je nach dem wie lange ich zuvor low gehalten habe. Anschließend soll vom Sensor 80 us low und 80 us high folgen und dann kann man 40 bits auslesen. Diese 80 us los und 80 us high existieren nicht. Die Bit soll man auslesen, in dem man
-
Thread
433 MHz 8 Kanal Fernbedienung und 4 Kanal Empfänger RXC6
2 Dinge nicht klar. > > 1. Gemäß meiner Tabelle im Anhang, wären die Ausgänge auf Low und nicht > auf High, demnach wären die LEDs ja dann aus? Irgendwas versehen ich da > was falsch. Das hast du richtig erkannt, deshalb werden die LEDs zwischen Vcc und den Ausgängen angeschlossen
Alex schrieb im Beitrag #6289371: > Gibt es die Decoder auch mit high Signalen? Also das man dann quasi den > Plus schaltet? Müsste ja dann irgendwie negiert sein. Gibt es vermutlich schon, ich kenne aber ohne weitere Suche keinen. > Wenn E0 und E1 immer low sein
-
Thread
High Power LED Stroboskop
Tag, so der Betreff sagt schon um was es geht. Ich bin daran ein Disco Stroboskop auf Basis von High Power LEDs zu bauen. Mir schwebt der Leistungsbereich von ca 30W vor. Aufgebaut aus 9x3W Luxeon Star III LEDS. Folgender Aufbau ist vorgesehen: - Es ist eine Eingangsspannung von 12V geplant
Bei den High-Power LED's, besonders wenn du im Bereich um 1A arbeitest, solltest du bedenken, dass nicht gerade wenig Wärme entsteht. Um die Lebensdauer der LED nicht unnötig durch die Wärme zu verkürzen solltest
-
Thread
Wie krieg ich meinen ATMega8 programmiert? [Anfängerprobleme]
r16 ab) > out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben, PB0 > wird dadurch low du schreibst ne 1 und das soll low sein? den AVR kenne ich nicht. PS für mich ist 2^0 = 1 und damit aktiv und high 3,9k ist ziemlich viel reicht grad so für uh LEDs ultra helle, normale
Ausgängen > PB0 und PB1. Sie bleiben immer auf ca. 2.8VDC. klar weil die in der Schleife immer von high nach low wechseln und dein Messgerät nicht so schnell ist?
-
Thread
LCD Busy Flag Abfrage im 8 Bit Modus - die zweite
ports. Switching between input with pull-up and output low generates the same problem. The user must use either the tri-state ({DDxn, PORTxn} = 0b00) or the output high state ({DDxn, PORTxn} = 0b11) as an intermediate step."
push temp2 clr temp1 ; Datenportrichtung auf Low -> Lesen out Datenportrichtung, temp1 ; DDRD = 0 = Eingang cbi Steuerport, PIN_RS ; RS auf Low (Command) sbi Steuerport, PIN_RW ; RW auf High Lesen CPU
-
Thread
Autorange 3 Kanal Ohmmeter Schalt Problem
Kanallogik ändert sich zwar aber der PNP reagiert nicht: [c]if (channel == 0) { digitalWrite(CH1, HIGH); digitalWrite(CH2, HIGH); digitalWrite(CH3, LOW); } if (channel == 1) { digitalWrite(CH1, HIGH); digitalWrite(CH2, LOW); digitalWrite(CH3, HIGH); }
> 853 && channel > 0) { channel--; } if (channel == 0) { digitalWrite(CH1, HIGH); digitalWrite(CH2, HIGH); digitalWrite(CH3, LOW); } if (channel == 1) { digitalWrite(CH1, HIGH); digitalWrite(CH2, LOW); digitalWrite(CH3, HIGH); }
-
Thread
AVR Eingang Active High
Hallo zusammen! Ich möchte einen Pin meines ATTINY26 als Eingang nutzen. Und zwar als Active High. Das bedeutet ja, den internen Pull-Up-Widerstand kann ich ausschalten. Ich bräuchte dann eher einen Pull-Down-Widerstand. Also habe ich folgende Programmzeilen: DDRB &= ~(1<<DDB6); //Eingang definieren
Versorgungsspannung an den Eingang anlege ist es wie ein Kurzschluss da der Pegel am Eingang immer low ist. Dank meiner Strombegrenzung ist hier noch nichts durchgebrannt. Das Problem existiert bei den anderen Pins übrings auch... Kennt jemand eine Lösung dafür? MFG Matthias
-
Thread
Anfänger: Hilfer, Stack underflow Problem
opcode 0xffff at address 0x00ffff [avrasm] .include "m8515def.inc" .def temp=r16 ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, 0xFF ; Port b = Ausgang out DDRB, temp ldi ZL, LOW(text*2) ; Adresse des Strings
kodiert hat einen an der Waffel [avrasm] .include "m8515def.inc" .def temp=r16 ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, 0xFF ; Port b = Ausgang out DDRB, temp ldi ZL, LOW(text*2) ; Adresse des
-
Thread
PIC: Ausgansstrom am Portpin
Wo ist das Problem an den 2,5V? Die LEDs bekommen ihren Strom und die 2,5V sind ein perfektes High für 3,3V CMOS Logik. Daß da etwas von 25mA steht, heisst ja nicht daß dabei ein gültiges High bzw. Low am Portpin anliegt, solange der Strom fließt. MfG Klaus
unterscheiden sich, das Verhalten ist überall das Gleiche. Für einen ATMEGA128 lesen wir: Output High Voltage I OH = -10mA, V CC = 3V >=2,2V Das ist zwar schon mehr, aber immer noch 0,8V Abfall und fallweise relevant. Der Umstand, dass LOW mehr Dampf hat, ist beim ATMEGA gleich. Denk dir nichts
-
Thread
xmega timer mit AND verbinden
Ich dachte, es wäre klar genug. Dann halt in Worten. Jede Zeile ist ein(!) CPU-Takt. [code] LOW HIGH LOW HIGH LOW HIGH LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW [/code] Insgesamt 16 Takte. Dieses Pattern soll sich andauernd wiederholen. Der erste Timer müsste also _PER=1 _CCA=1
Register I/O(A, b) ← 0 1 Clocks Ein Beispiel mit einem ATmega Anfang: cbi PORTC, 6 ;1Takt LOW sbi PORTC, 6 ;1Takt HIGH cbi PORTC, 6 ;1Takt LOW sbi PORTC, 6 ;1Takt HIGH cbi PORTC, 6 ;1Takt LOW sbi PORTC, 6 ;1Takt HIGH cbi PORTC, 6 ;1Takt LOW nop ;1Takt nop ;1Takt nop
-
Thread
Rückkehr nach Befehl BRTS o. BRTC?
gespeichert hast? Folgendes könntest du stattdessen machen: brts highcall ;zum "rcall high" sprinten rcall low ;ansonsten low "callen" rjmp weiter ;low ausgeführt, nächsten befehl überspringen highcall: rcall high ;high "callen" weiter: ... In den unterprogrammen
T-Bit gesetzt oder gelöscht ist mußt Du anders rum denken. BRTC nohigh1 ;Ist Zustand (T-Bit) low (0)? rcall high ;Wenn nicht, also high, dann zu high callen. nohigh1: BRTS nolow1 ;Ist Zustand (T-Bit) high (1)? rcall low ;Wenn nicht, also low, dann zu low callen. nolow1
-
Thread
Dimensionierung Pull-Up
Leakage-Strom des I/Os sein? Die Bedingung ist, dass die Eingangsspannung aus Siche des µC gültige High/Low Pegel haben muss. Es zählt also der Spannungsabfall am Widerstand multipliziert mit dem Leckstrom. Aber dabei sind die elektromagnetischen Störfelder noch nicht berücksichtigt. > Sind bei
im setup, also im setup Ausgang low, und kurz vor der Tasterabfrage auf high setzen, danach wieder auf low. Das hat mit dem setup sowenig zu tun wie Äpfel und Birnen, obwohl beides Obst ist.
-
Thread
Probleme mit DAC und SPI
(/LD und /CLR) nimmst du wieder 2 andere Pins oder legst sie auf nen definierten Pegel. /CLR auf Low und dein DAC gibt ne Spannung von 0V aus. /CLR auf High gibt die Spannung, die digital im Latch steht, aus. /LD auf Low gibt alle Spannungsdaten sofort an die DAC-Switches. /LD auf High speichert
Ausgang des DAC´s irgendwie noch nichts. Ich habe mir folgende Routine gebastelt: void send_dac(char high, char low) { char sende; sende = spi(high); sende = spi(low); delay_us(10); PORTB.3=0; // Load Strobe Pin delay_us(100); PORTB.3=1; } Wenn ich dann
-
Thread
AVR-C Problem
); dcf_high = 0; } } if ((dcf_high+dcf_low)>=1000) { //dcf_decoder(); } } } ISR (TIMER0_OVF_vect){ TCNT0 = 0xEF; if (dcf_in & (1<<dcf_pin)) { dcf_high++; } else { dcf_low++; } } void dcf_sync(){ if (dcf_in & (1<<dcf_pin)) { if (dcf_low >= 1600) { dcf_high = 0; dcf_low = 0; PORTD
-
Thread
High-Voltage Programmierung vom ATtiny20
Hallo zusammen, hat schon jemand den ATtiny20 mittels des STK600 High-Voltage programmiert ? Ist das überhaupt möglich? In den Unterlagen von Atmel finden sich widersprüchliche Aussagen. Oder kann man auch mit dem AVRISP mkII High-Voltage programmieren, indem man
of reset to be used: – Either: wait tTOUT (see Table 21-4 on page 176) and then set the RESET pin low. This will reset the device and enable the TPI physical layer. The RESET pin must then be kept low for the entire programming session – Or: if the RSTDISBL configuration bit has been programmed,
-
Thread
Latch Konfig
datenverkehr sperren soll oder transparent sein soll... der transparente zustand ist mir klar: OE muss low sein und LE ist high... aber wie stell ich einen Zustand her, so dass erstens nicht durchgeht (also OE disable = high) aber auch nichts im internen Latch gespeichert? Oder hab ich einen Denkfehler
LE low OE high heisst offen und nix wird gelatcht. Aber brauchst du überhaupt ein Latch, oder tut's auch ein '244/541?
-
Thread
Microcontroler Schaltet sich nicht selber ab
digitalWrite(greenLEDPin, HIGH); } else if (temp1 >= 40) { showErrorCode(2); digitalWrite(RelayOut1Pin, LOW); digitalWrite(RelayOut2Pin, LOW); digitalWrite(redLEDPin, HIGH); digitalWrite(greenLEDPin, LOW); } else { digitalWrite(RelayOut1Pin, HIGH); digitalWrite(RelayOut2Pin, HIGH); digitalWrite(redLEDPin, LOW); digitalWrite(greenLEDPin, HIGH); }
-
Thread
Brauche eure Hilfe zum Programmieren
, 10 ; unten anfangen out OCR1A,UL ;"Akku:" ausgeben ldi ZL,Low(txtAkku*2) ; Label "Akku 12 V: " ldi ZH,High(txtAkku*2) rcall lcd_home rcall lcd_print ldi ZL,Low(txtAmpere*2) ; Label "Stromladen: " ldi ZH,High(txtAmpere
************************ bin2ascii: ldi CL, -1 + '0' bcd1: inc CL subi AL, low(10000) sbci AH, high(10000) brcc bcd1 ldi BH, 10 + '0' bcd2: dec BH subi AL, low(-1000) sbci AH, high(-1000) brcs bcd2 ldi BL, -1 + '0'
-
Thread
Codesequenz mehrmals brauchen = auslagern
DDRB = 0b00111110; //0= Eingang; 1 = Ausgang PORTB = 0b00111110; //0= act. Low; 1 =act. High DDRC = 0b00000000; //0= Eingang; 1 = Ausgang PORTC = 0b00000000; //0= act. Low; 1 =act. High DDRD = 0b11110011; //0= Eingang; 1 =
DDRB = 0b00111110; //0= Eingang; 1 = Ausgang PORTB = 0b00111110; //0= act. Low; 1 =act. High DDRC = 0b00000000; //0= Eingang; 1 = Ausgang PORTC = 0b00000000; //0= act. Low; 1 =act. High DDRD = 0b11110011; //0= Eingang; 1 =
-
Thread
problem mit ltc 1402 am pic 18f2250
habe jetzt die Brücke zwischen Ain+ und Ain- gelegt. Das Ergebnis ist, dass das Ref bit wieder auf low geht und das MSB weiter high ist.
habe jetzt die Brücke zwischen Ain+ und Ain- gelegt. Das Ergebnis > ist, dass das Ref bit wieder auf low geht und das MSB weiter high ist. Dann scheint wirklich was faul zu sein, denn das REF(RDY)-Bit müßte "1" sein und das MSB "0". Grrr, irgendwie scheint uns der LTC1402 verar... zu wollen. Am BIP
-
Thread
TLC59401 ansteuern
Interrupt to update LEDs int cnt=0; ISR(TIMER2_COMPB_vect) { if(cnt>=4095){ cnt=0; BLANK_LOW; _delay_us(2); BLANK_HIGH; } GCLK_HIGH; GCLK_LOW; cnt++; } [/c]
Initialisierung durchgeführt: [c] void Driver::setDotCorrection() { digitalWrite(LATCH, LOW); for (int i=0; i<96*numdrivers; i++) { digitalWrite(SCLK, LOW); digitalWrite(DATA, HIGH); digitalWrite(SCLK, HIGH); } digitalWrite(LATCH, HIGH); digitalWrite(LATCH, LOW
-
Thread
DCF-Empfänger keine Auswertung möglich
Funktionen jetzt mal vereinfacht [c] while (1) { if(true == secondOver) { itoa(lowPegelAnz, tempChar, 10); uart_sendString("low:"); uart_sendString(tempChar); uart_transmit(' '); itoa(highPegelAnz, tempChar, 10); uart_sendString("high:"); uart_sendString(tempChar
} }[/c] Die ISR wird alle 10 ms gepollt und ich frage den Status vom Pin ab. Die Anzahl vom lowPegelanz und highPegelanz lasse ich mir sekündlich über uart ausgeben. erwarten würde ich sowas wie low: 10 high: 90 (im Idealfall für eine 0) und low: 20 high: 80 (im Idealfall für eine 1) Habe
-
Thread
Wer verwendet RFM69?
manuellem Triggern des Interrupteingangs - im Logikanalyzer sieht es wie folgt aus: 1. FIFInotEmpty high, 2. CRC high, beide LOW und Ausgabe der Daten zum Display Das ganze eben einige Male dann nichts mehr. Wenn man es länger laufen lässt löst teilweise der FIFOnotEmpty aus und geht wieder zurück
internallybetween each data byte. This mode is available for both read and write accesses. The NSS pin goes low at the beginning of the frame and stay low between each byte. It goes high only after the last byte transfer" "um bytweise zu übertragen" Wenn nur ein einziges Byte übertragen werden soll, muß
-
Thread
Zeiger + by reference + Array + Structur??
mal Fehler eins: [c] void SPI_get_measured(uint8_t *measured_length, uint32_t *measurement_mask_low, uint32_t *measurement_mask_high, uint32_t *measured[40]) { measured_length = 0; // Werte von Register Page 0 holen SPI_write_register(0b01111110,0x00UL); // Stelle Register Page
(USART_parameters(&start, &end, &sampling_rate, &measurement_mask_low, &measurement_mask_high )) { USART_send_ACK(); // Sende ein ACK // Setze Command_nr zurück, da Befehl fertig command_nr = 0x00; }
-
Thread
BLDC, Synchronmaschine, Drehfeld Experimentierschaltung Gesperrt
gehen, dann müssten wir vielleicht doch so einen halbinteligenten Treiber suchen, aber halt einen der High- und Low-Side getrennt ansteuern lässt.]
falsch mit denen braucht man nur eine PWM pro Halbbrücke, das meine ich ja mit verlust von Kontrolle. High = High-Side on/Low-Side off und Low = High-Side off/Low-Side on nur eben mit der Deadtime dazwischen. > Ist eine einstellbare Dead time wirklich notwendig ? Ich hatte bisher > mit 500ns nie Probleme
-
Thread
Ausgang im Einschaltmoment auf Low halten
später auch wieder abdimmen. Das Problem ist ,der Dimmeingang des Konstantstromchips erwartet ein Low damit er keinen Strom liefert. Mein Ausgang springt aber beim Einschalten kurz in Tristate, was der LM3404 als High sieht. Somit flackert die LED immer kurz auf, bevor das Programm dann seinen Job
natürlich einfacher zumal das Layout schon steht. Kann man einen Pin dazu Bewegen beim Einschalten Low zu bleiben? BYe André
-
Thread
MCP3201 mit Atmega 8 in BASCOM
Shutdown (#CS/SHDN) p.12 The #CS/SHDN pin is used to initiate communication with the device when pulled low and will end a conversion and put the device in low power standby when pulled high. The CS/SHDN pin must be pulled high between conversions. Somit musst Du auch noch #CS/SHDN bedienen. Eine SPI
------ ' Public procedure Init() MCP3201_DIN.mode = input, pullup 'MCP3201_DOUT.mode = output, low ' not used ! MCP3201_CLK.mode = output, low MCP3201_CS.mode = output, high endproc function getWord() as word dim result as word dim mask as word ' waitns( MCP3201_tCSH ) MCP3201_CLK
-
Thread
EDIPTFT70 I2C, ich kriege es einfach nicht hin
text_position, const char* text) { unsigned char bcc; unsigned int j, i; unsigned char xPos_low, xPos_high, yPos_low, yPos_high, anzahl_zeichen; xPos_low = xPos; xPos_high = xPos >> 8; yPos_low = yPos; yPos_high = yPos >> 8; anzahl_zeichen = strlen(text); U3TXREG = DC1;
; U3TXREG = yPos_low; // yPosiotion low byte ausgeben while(U3STAbits.UTXBF == 1); bcc = bcc + yPos_low; U3TXREG = yPos_high; // yPosiotion high byte ausgeben while(U3STAbits.UTXBF == 1); bcc = bcc + yPos_high
-
Thread
WS2812B 800KHz PWM mit Transistor Pegelwandler
erste Impuls des RGB Signals falsch wiedergeben vom Pegelwandler. Bzw. er sollte eigentlich 800ns High sein und 450ns Low. Ist aber 250ns High und 400ns Low. Habe mal ein Bild vom Logikanaylzer angehängt. Woran kann das liegen? Mfg
beiden Impulse des PWM-Signals sind zu kurz. Damit meine ich das zB. als erstes 800ns das Signal HIGH sein sollte danach dann 450ns LOW. Das Signal welches dann aus dem Pegelwandler raus kommt ist dann aber 200ns HIGH und 400ns LOW. Habe es versucht durch den Dutycycle zu kompensieren jedoch habe ich