-
Thread
Drehrichtungsumkehr.Microcontroller Programm funzt nicht richtig.
Status ausgelesen. und unten angefügt. Alles wasaktiviert ist, ist mit einem (-) versehen. D.h. im Low Fuse: "Brown-out detection level at VCC=2.7 V" und "Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms". Im High Fuse: "Serial program downloading (SPI) enabled" und "Boot Flash section
Momentan läuft. Vergiss was ich gesagt habe. Dein Log zeigt es ja -Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms Also wird auch der Quarz benutzt (allerdings ist ein 3.4 Mhz Quarz kein High Frequency. Die Grenze High/Low liegt bei ca. 8Mhz QUarz) > Ich kann gerne mal
-
Thread
ISR erstellen mit einem PIC18
low_isr (void) { // Hier kommen deine Interruptroutinen } #pragma interrupt high_isr void high_isr (void) { // Hier kommen deine Interruptroutinen } [/c]
define LED_2 0x02 #define LED_3 0x04 #define LED_4 0x08 // IRQ Vektoren void low_isr(void); void high_isr(void); #pragma code irq_high=0x08 void irq_high(void) { _asm GOTO high_isr _endasm } #pragma code irq_low=0x18 void irq_low(void) { _asm GOTO low_isr _
-
Thread
Pico2 RP2350 GPIO Fehler
Ich sehe noch keinen Weg wie man sinnvoll direkt mit einem hochohmigen Signal, das normalerweise high ist und aktiv low, umgehen soll.
blau bei steigender Spannung und rot bei fallender. Ein 10k Pulldown reicht knapp um den GPIO von high wieder auf low zu ziehen, mit einem 30k ist bei gut 2V Schluss.
-
Thread
Strom messen high side
tauglich für deine Anwendung. Mit anderen Worten: Du kannst den INA19x mit 5V versorgen und trotzdem(!) High-Side bei 24V messen.
und das ist kein Problem mit dem Abgleich. Ich hab mir mal den INA193 angeschaut, warum ist denn der Low Vsense Fall 3 uninteressant für dich? Gilt für Vsense < 20 mV, Vs < Vcm < 80 V
-
Thread
Ab wann detektiert der Atmega2560 High?
Das ist trotzdem nicht so eindeutig! S.355 steht dass ein Eingangssignal grösser 0.6*Vcc als HIGH erkannt wird auf der gleichen Seite steht aber auch dass ein Eingangssignal kleiner 0,3*Vcc als LOW erkannt wird und was ist zwischen 0.3*Vcc und 0.6*Vcc ??? sowohl als auch oder ??? Gruss
Die Hysterese ist deutlich kleiner. Das einzige was das DB sagt ist, dass über 0,6*Vcc garantiert High und unter 0,3*Vcc garantiert Low gemeldet wird. Dazwischen hängt von allen möglichen Faktoren (u.A. der Hysterese) ab.
-
Thread
Ultra low power: MOSFET als Schalter
GND trennen. Das bedeutet, daß die Peripherie so getrickt sein sollte, daß ein Eingang, der auf HIGH ist, möglichst inaktiv bedeutet. Das ist glücklicherweise meistens auch der Fall, fast alle Enable-Eingänge sind aktiv low, also QUER. Als MOSFET tut es bei 3V problemlos ein 2.5V MOSFET wie IRLML2502
) hohe Ströme für sich selbst und Peripherie. Vielleicht ist das nicht mehr Ultra Low Power, aber Very Low Power? MiWi schrieb im Beitrag #3878759: > Ich verstehe ja nicht ganz was Du mit diesem Fet machen willst - alles > abschalten indem Du GND von Deiner Peripherie schaltest?
-
Thread
1000 AUSGÄNGE: - größerer Mikrocontroller? - IC's mit Porterweiterung? - Multiplexen? (Arduino Mega)
digitalWrite(seriellerDateneingang, LOW); //Pin 8 LOW digitalWrite(schiebetakt, HIGH); digitalWrite(schiebetakt, LOW); digitalWrite(seriellerDateneingang, HIGH); //Pin 7 HIGH digitalWrite(schiebetakt, HIGH); digitalWrite(schiebetakt, LOW); digitalWrite(seriellerDateneingang, HIGH); //Pin 6 HIGH digitalWrite(schiebetakt, HIGH); digitalWrite(schiebetakt, LOW); digitalWrite(seriellerDateneingang, LOW); //Pin 5 LOW digitalWrite
-
Thread
12x12 LED Matrix
Hm, bist du sicher? Laut Datenblatt ist immer genau einer der Outputs vom HC138 auf High und alle anderen auf Low. Das passt doch zu dem was der Low Side Driver braucht, oder nicht? Könntest du mir noch kurz erklären wozu IC3 Pin 11 ist?
>HC138 auf High und alle anderen auf Low Der 138er ist definitiv LOW aktiv!
-
Thread
Kleines Problem beim T6963C (Grafik Modus)
funktioniert meine Textausgabe nicht mehr): [c] GLCD_Daten (0x00); // Grapic home address (low) GLCD_Daten (0x03); // ...(high) .. GLCD_Daten (0x1E); // Graphic area set (low) GLCD_Daten (0x00); // ...(high) .. GLCD_Daten (0x00); // Text home adress (low) GLCD_Daten
Also habe ich die 16 Bit Adresse in zwei 8 Bit Variablen gewandelt und übertrage diese einzeln. Erst Low, dann High. [c] void Speicher_Adresse (unsigned int Adresse) { unsigned char Low; unsigned char High; Low = Adresse&255; Adresse=Adresse>>8; High = Adresse&255; GLCD_Daten
-
Thread
Frage zu IR-Remote+LED-Strips an AVR
#5240745: > 2 Bit der LED-Daten dauern 2.4µs (8 Bit á 0.3µs) Wie kommst du darauf? Hatte für Low- und High-Data 0,3µs und 0,95µs gelesen ... Die Daten werden wohl in der Länge der High-Low-Pegel kodiert und anscheinend auch noch abwechseln mal High mal Low ... Der kleinste gemeinsame Teiler wären
den Quelltext schreiben, die Berechnung der Delays erfolgt im Quelltext. Ebenso kann man zwischen LOW und HIGH Speed Modus wählen.
-
Thread
Wie kann man Ablauf WDT oder manuellen Reset unterscheiden
erste Eingang wird low - der Ausgang wird low - der zweite Eingang wird low - der Taster öffnet wieder - der erste Eingang wird high - der Ausgang bleibt low - das Programmm startet und liest den Eingang (low) - der
Resetbutton gedrückt,schaltet für die Zeit des Drückens zwar alles auf Low, beim Loslassen aber auch alles wieder auf High, weil der DER_LETZTE_FREIE_PIN noch auf OUTPUT und High ist. Oder hab ich jetzt einen Denkfehler?
-
Thread
Tiny85 Low Power Code Optimieren
ADSC is cleared when the conversion finishes while (bit_is_set (ADCSRA, ADSC)) { } byte low = ADCL; byte high = ADCH; ADCSRA = 0; // disable ADC power_adc_disable(); return (high << 8) | low; } // end of getReading // watchdog interrupt ISR (WDT_vect) {
_enable (); delay (1); // let timer reach a known point digitalWrite (LED, HIGH); delay (2); digitalWrite (LED, LOW); power_timer0_disable (); } goToSleep (); } // end of loop void goToSleep () { set_sleep_mode (SLEEP_MODE_PWR_DOWN);
-
Thread
Ist das ein Bug im Compiler?
auflösen muß, brauche ich doch im > Prinzip dieses Aliasing. Nein, brauchst du nicht. [c]uint8_t low = 0xAB; uint8_t high = 0xCD; uint16_t combined = (high << 8) | low;[/c] Setzt einen 16bit-Integer aus low & high byte Zusammen. Perfekt definiertes Verhalten, funktioniert garantiert immer, unabhängig
stimmt. Ist inzwischen so. Nur ich kann mich noch erinnern, dass der GCC aus [c]uint16_t combined = (high << 8) | low; [/c] schon mal Folgendes baute: [code] LADE 0x00 -> low(combined) LADE high -> high(combined) LADE low -> low(temp) LADE 0x00 -> high(temp) OR low(temp) -> low(combined)
-
Thread
Such nach High Level shifter
Signal(--PUSH PULL--) mit High-Pegel von 24 V und Low-Pegel von 0 V gebraucht, um den Frequenzumrichter zu treiben. Dazu brauchen wir ein High Level Shifter. Konnte Jemand mir vielleicht ein Idee geben? Danke, Chunya
3 paare Signal(--PUSH PULL--) > mit High-Pegel von 24 V und Low-Pegel von 0 V gebraucht, um den > Frequenzumrichter zu treiben. > > Dazu brauchen wir ein High Level Shifter. > Konnte Jemand mir vielleicht ein Idee geben? > > Danke,
-
Thread
Atmega644p länge eines high bzw. low Zustandes bestimmen
Moin, wahrscheinlich is die antwort sehr einfach...trotzdem kenn ich sie nich ;-). Wie kann man im Programm (AVR studio) bestimmen, dass zum Beispiel ein Motor 20 sekunden läuft, also der entsprechende Pin auf high is? Danke schonmal für die Antworten :-)
-
Thread
Erklärung, Videos, Anleitung zum Schieberegister 4021 (Parallel in - Serial Out)
Selbsthilfe anzuleiten. D.h. was ist im Datenblatt des 74HC165 unklar? siehe Tabelle 3. -- init DL ist LOW CP ist LOW #CE ist HIGH #PL ist HIGH -- daten input #PL auf LOW Datenan D7-D0 legen #PL auf HIGH -- daten serial output An Q7 und #Q7 liegt nun D7, bzw. #D7 #CE auf LOW [ -- loop D6,..,
(Latch_Pin,OUTPUT); pinMode(Clock_Pin,OUTPUT); } void loop() { digitalWrite(Data_pin1,HIGH); digitalWrite(Data_pin2,LOW); digitalWrite(Data_pin3,HIGH); digitalWrite(Data_pin4,LOW); digitalWrite(Data_pin5,HIGH); digitalWrite(Data_pin6,LOW); digitalWrite(Data_pin7,HIGH);
-
Thread
Mikrocontroller 12-Kanal LED Steuerung
3, HIGH); delay(zeit); digitalWrite( 3, LOW); digitalWrite( 4, HIGH); delay(zeit); digitalWrite( 4, LOW); digitalWrite( 5, HIGH); delay(zeit); digitalWrite( 5, LOW); digitalWrite( 6, HIGH); delay(zeit); digitalWrite( 6, LOW); digitalWrite( 7, HIGH); delay(zeit); digitalWrite( 7, LOW); digitalWrite( 8, HIGH); delay(zeit); digitalWrite( 8, LOW); digitalWrite(
-
Thread
I²C Bus und LM75
I2C LiB #define LM75_ADRESS 0x97 int lm75_read(void); TEMPERATUR struct { uint8_t high; uint8_t low; } temp; int lm75_read(void) { TEMPERATUR struct { uint8_t high; uint8_t low; } temp; i2cSendStart(); i2cSendByte(LM75_ADRESS); //Sende Adresse i2cSendByte
an alle So jetzt hab ich die Routine für das Auswerten der Zahlen Fertig. if(bit_is_set(temp.low, 0)) nachkomma = 5; else nachkomma = 0; temp.low >>= 1; temp.high <<= 7; ganzzahl= temp.low | temp.high; Das funktioniert auch so. Leider steht nach dem Auslesn im Low
-
Thread
SCL Takt generieren
und die Zeiten zum Lesen und Schreiben tHIGH / tLOW einhalten. Gruß Klaus
SCL auf LOW klemmen um ein nachfolgendes HIGH abzubremsen, also tLOW verlängern. Bei in Hardware gegossenen Systemen ist mir bislang auch nur ein ACK-Stretching bzw. ein verlängertes tBUF untergekommen. Allerdings
-
Thread
SPI-Kommunikation Atmega644 - ADS1118
out in a short 16-bit data transmission cycle, as shown in Figure 42. Therefore, CS must be taken high after the 16th SCLK cycle. Taking CS high resets the SPI interface. The next time CS is taken low, data transmission starts with the currently buffered conversion result on the first SCLK rising edge
Übertragungszyklus. Grundsätzlich ist es genau das, was ich mache: -AdcExt_Init aufrufen, daher wird CS low gesetzt, die 16-Bit für das Config Register geschickt, CS wieder high gesetzt -AdcExt_Read aufrufen, CS wird wieder low gesetzt, dann schicke ich erneut dieselben Daten für das Config Register
-
Thread
Portzugriff bei AVR C leserlicher machen
man wissen, ob die LED bei High oder bei Low leuchtet.
Sheeva P. schrieb im Beitrag #4424875: > led3.setHigh(); > led3.setLow(); Hier hat man aber wieder das Problem ist nun setHigh LED an oder aus?
-
Thread
AVR-UART master slave
andi tempi2, RX_Buffer-1 cp tempi2, RPos breq buffer_full mov WPos, tempi2 clr tempi2 ldi XL, low(RXBUF) ldi XH, high(RXBUF) add XL, WPos adc XH, tempi2 st X, tempi buffer_full: out sreg, regsave reti ;maaster mega128 ;uart1 init ldi wl,low((clock/(16*baud1))-1) ;RS232-1 auf 9600 Baud
Hi >To do a 16-bit write, the High byte must be written before the Low byte. For a 16-bit read, the Low byte must be read before the High byte. Bei dir ist es umgedreht. Mehr fällt mir im Moment nicht ein. Den Mastermode habe ich
-
Thread
Promgrammfehler in Arduino
diesen Zustand haben soll. Du machst das momentan so [c] void loop() { digitalWrite( 5, HIGH ); delay( 500 ); digitalWrite( 5, LOW ); delay( 300 ); digitalWrite( 5, HIGH ); delay( 400 ); digitalWrite( 5, LOW ); delay( 200 ); } [/c] gut. das sieht erst mal einfach aus
das von selber anpasst. Wenn die Sequence vergößert werden soll [c] Schritt Sequence[] = { { HIGH, 500 }, { LOW, 300 }, { HIGH, 400 }, { LOW, 200 }, { HIGH, 800 }, { LOW, 100 } }; [/c] dann mache ich das genau an dieser Stelle, bei der 'Definition' der Sequenz. Dort wo ich gut
-
Thread
AVR: High Pin einlesen
Ich habe einen Draht (später eine Ader des Kabelbaums) zwischen PA0 und PB0. PA0 möchte ich nun auf High schalten und an PB0 wieder einlesen. So kann ich nach und nach die Ports durchschalten damit ich sichergehen kann dass die einzelnen Adern auch in der richtigen reihenfolge auf den Steckern sitzt...
Leitungstester werden soll, dann mußt Du auch mit Kurzschlüssen rechnen. Also immer nur einen Ausgang auf low und die anderen auf inaktiv (Eingang), sonst kommt es zu Datenkämpfen (Low gegen High) und das ist ungesund für den AVR. Und die Eingänge mit internen oder externen Pullups, damit offen = High.
-
Thread
Newbie gcc Assembler: Adresse low/high von Label
, ich hab hier nen Brocken Code der wohl mit dem AVR-Assembler compiliert wurde. ldi zl,low(table) ldi zh,high(table) add zl,a ijmp ... ... table: ... ... Mit "low" und "high" kann gcc syntaxmäßig nix anfangen. Wie kann ich das
> Mit "low" und "high" kann gcc syntaxmäßig nix anfangen. Wie kann ich das > übersetzen? lo8 und hi8 > Ach, noch was: Wie bring ich den AVR-Assembler dazu, daß er aus einer > Datei eine Objectdatei xyz.o
-
Thread
[STM32] CMD0 liefert immer 0xFF zurück
. 100 ns high, um danach wieder low weiterzulaufen. Ca. 15 µs später wird MOSI, der von Anfang an low war, für ca. 10 µs high, um dann low weiterzulaufen. Das ganze wiederholt sich ca. 70 µs später noch einmal, außer
es schon ein neueres gibt. Danke für den Hinweis! Lutz schrieb im Beitrag #1773642: > CS kommt low ins Bild und wird 20 µs später für ca. 100 ns high, um > danach wieder low weiterzulaufen. Ca. 15 µs später wird MOSI, der von > Anfang an low war, für ca. 10 µs high, um dann low weiterzulaufen.
-
Thread
Wie erkennt ein µC Spannung trotz entgegengesetzter Diode?
unter 1 V fallen damit der Mikrocontroller ein Low-Signal erkennt.
Störabstand. Ja und? Was nützt dir 12V Pull-Up Spannung, wenn die Schaltschwelle bei 2,5V liegt? Bei HIGH hast du mehr Störabstand, bei LOW ist sie 2,5V, egal wie hoch die externe Pull-Up Spannung ist.
-
Thread
PINs gehen nicht mehr auf high
hi, hab nichts an den fuse gemacht. messequipment alles da. an den ausgängen: 20mV. egal ob high oder low. über uart spuckt er auch nichts mehr raus.
Gehen alle Pins nicht mehr auf High, oder nur einzelne? Dann könnte es sein, dass du noch das FUSE-BIT JTAG-EN löschen musst. MfG Muecke
-
Thread
7 Segment Anzeige auslesen / MCP23017
verbunden. Ja die sind Statisch angesteuert. Es sind LSHD-A103 Displays (also common Anode) Ja genau LOW wäre leuchtend. (der ESP übernimmt die Logik und ermittelt aus den LOW / HIGH werten dann die angezeigte Ziffer) Das Direktverbinden habe ich ja versucht auch hier zu wenig Spannung (siehe oben)
denkst du deine Prosa ersetzt ein Schaltbild komplett? Ein 7.Segment auslesen ist pillepalle, auf low einen HC inverter nachschalten, auf high einfach auswerten.
-
Thread
SPI zwischen zwei AtMega8
SCK wird der Taktsignal übertragen und je nach eingestellem Modus wird erst bei eine steigende (auf HIGH) oder fallende (auf LOW) Taktflanke der Zustand vom MISO/MOSI beim Empfänger/Sender gelesen oder halt geschrieben. Die Datenübertragung beginnt immer dann wenn SS von HIGH auf LOW gesetzt wird. Erst
denn ein SPI-Master kann auch direkt ein zweites Byte hinterher schicken, ohne SS zwischendurch auf High zu ziehen. Und selbst bei deinem Master kann SS sehr sehr kurz auf High und gleich wieder auf Low gehen. > Ich möchte ja in meinem Programm auch noch andere Sachen machen und da > dachte ich mir
-
Thread
Geschwindigkeit IO-Zugriff
dabei an den IO-Pins davon an? Beispiel: Ein 8bit-AVR braucht 375ns um in einer Schleife einen Pin high und dann wieder low zu setzen. Bei einem Arm-Prozessor (32bit) der angeblich viel schneller sein soll sah ich im Netz ein Bild wo das Setzen/Rücksetzen 3.16us gedauert hat. Das ist also Welten langsamer
->BRR = (1<<5); } Wenn er mal in Fahrt gekommen ist, dann geht das High-Low-Ziehen der Pins anscheinend auch noch wesentlich schneller :-) Weil ich gerade so am Messen war, hier noch ein Atmega168PA mit 16MHz an 5,1V. Schlägt sich nicht schlecht, der Kleine.
-
Thread
ESP8266 mit PCF8574 und Taster - Interrupt vom PCF "spinnt"?
Vielleicht haben diese einen gewissen Einfluss? Hängt von der Schaltung ab. Der PCF8574 kann nur low richtig treiben (25mA), also sollten Lasten low aktiv sein. Außerdem sind high aktive Lasten nach dem Power-On immer an. Auch kann ein npn den Ausgang so belasten, daß er high ausgeben will, aber low
i-net. Peter D. schrieb im Beitrag #6226497: > Hängt von der Schaltung ab. Der PCF8574 kann nur low richtig treiben > (25mA), also sollten Lasten low aktiv sein. Außerdem sind high aktive > Lasten nach dem Power-On immer an. > Auch kann ein npn den Ausgang so belasten, daß er high ausgeben will
-
Thread
Theorie Frage: Warum Low-Aktiv ?
low mehr treiben konnte als bei high ? Wenn ja, müsste dieses Thema doch mittlerweile erledigt sein oder nicht ? Danke schonmal.
Das ist ein Grund. Ich denke der Hauptgrund (weshalb die ICs auch Low stärker treiben können) ist: Die früheren NMOS und Bipolar Schaltungen hatten Pullups am Eingang. Ein Low Pegel verbraucht also mehr Strom als ein High Pegel.
-
Thread
LM75 mit Mega88PA auslesen
i2c_rep_start(DevLM75+I2C_READ); // set device address and read mode High_Byte = i2c_readAck(); // read hih byte Low_Byte = i2c_readNak(); // read low byte PORTC = High_Byte; // output high byte on the LED's
> Das Ergebnis bei Raumtemperatur (rund 22°C): > > High Byte: 0010 0000 = 0x20h > Low-Byte: 0001 0111 = 0x17h High-Byte und Low Byte vertauscht? Wenn das was du da geschrieben hast stimmt, dann behauptet dein LM bei dir sind 32°C. Dreht man aber
-
Thread
ATmega8 nach Setzen des Quarz kaputt?
läuft auch mit 4 Mhz. > Nur was genau muss der erzeugen? > Wie genau sieht der Takt aus? Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Pin high Pin low Reicht das als Anschaungsmaterial?
-
Thread
SPI Bus (mit Glitches) per Software auslesen
doch, hast du einen Bug > in deiner Software. Ist doch eigentlich einfach. > > Beide CS auf High, alle CS sind HIGH > CS0 auf low > Neuen CS-Code ins Schieberegister takten > CS0 auf high > CS1 auf LOW, das neue CS wird LOW. Genau so passiert es auch aber es geht ja weiter: neues CS LOW
@ Dennis GehtEuchNichtsAn (master1991) >> Beide CS auf High, alle CS sind HIGH >> CS0 auf low >> Neuen CS-Code ins Schieberegister takten >> CS0 auf high >> CS1 auf LOW, das neue CS wird LOW. >Genau so passiert es auch aber es geht ja weiter: >neues
-
Thread
Marderschreck Softwareproblem
dank > schonmal jedoch kommen nur am ausgang 16khz raus :( Und es wechselt sich nicht wenn PB3 high oder mal low ist
auch mit dem ATiny15 kompatibel. Jedoch bekomme ich nun 16kHz konstant am Ausgang und wenn ich PB3 High oder Low setze ändert sich auch nicht wirklich viel dran.
-
Thread
STM32F4 I2C ACK bei 1.5V
externe Pullups dran habe. Also nochmal ganz langsam: *Push-Pull* Zwei Transistoren, einer high-side, einer low-side, abwechselnd geschaltet. Er wird die Leitung also immer entweder aktiv auf low oder aktiv auf high ziehen, mit aller Kraft die er hat, würdest Du also ein High ausgeben und der
aber auch *Pull* Up und *Pull* Down. Verwechslungsgefahr: Push/Pull: aktiv: Push macht *aktiv* high, pull macht *aktiv* low. Also niederohmig, mit jeweil nem durchgeschalteten Transistor. Push: nach oben, high side, pull: nach unten, low side. Pull-Up, Pull-Down Widerstand: Passiv, weich, schwach
-
Thread
lcd in asm kriegs nicht gebacken....
lcd-routines.inc" .def temp1 = r16 .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
Daher ist der SP ganze 16 Bit breit, besteht also aus zwei 8-Bit register, nämlich SPH und SPL (SP-High und SP-Low).
-
Thread
Stoppuhr Programm
(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH); }; void digit4 () { digitalWrite(A,LOW); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, HIGH); digitalWrite(G, HIGH); }; void digit5 () { digitalWrite(A,HIGH); digitalWrite(B, LOW); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite
-
Thread
Was kann man mit 16Byte an RAM machen?
second pass [/code] Auch local: [avrasm] ;SCL is GP0 ;SDA is GP1 SCLHigh: local sdaHigh,sdaLow,updateTris movfw SDA movwf tmp decf tmp btfsc STATUS,2 ;check if Z-Flag is set goto sdaHigh ;if so, SDA is currently High goto sdaLow ;otherwise, SDA is low sdaHigh movlw 03h ;SCL and SDA are high goto updateTris sdaLow movlw 01h ;only SCL is high goto updateTris updateTris tris 6 ;update TRIS register
-
Thread
DS18B20 code funktioniert nicht
Also es ist jetzt so: Wenn ich den Pin auf Eingang schalte: -Kein sensor angehägt --> pin auf high -Sensor angehängt --> pin auf low stimmt das so?
nix angesteckt kommt natürlich der erste error (input ist auf high) Wenn ichs angesteckt habe kommt immer der zweite (Wird auf low gezogen, allerdings gehts nicht wieder auf high), und ja, ich hab auch geprüft, obs zuerst auch auf low gezogen wird, also trifft nur
-
Thread
ATMega328-basierter Sprach-Synthesizer für den CPC 464 - Schnelles Byte-weises Lesen mit dem 328?
bit) (byte |= BV(bit)) #define clearBit(byte, bit) (byte &= ~BV(bit)) volatile uint8_t buffer_low[SIZE]; volatile uint8_t buffer_high[SIZE]; volatile uint8_t buffer_index = 0; volatile uint8_t last_low = 0; volatile uint8_t last_high = 0; ISR(INT0_vect) { cli(); // _delay_ms(10); last_low = PINB; last_high = PINC; last_low &= 0b00011110; last_high &= 0b00001111; buffer_low[buffer_index] = last_low; buffer_high[buffer_index] = last_high
-
Thread
PIC ICD 2 selbstgebaut
Hallo alle zusammen, welcher Unterschied besteht zwischen Low und High Level Programmer's? Gruß Johan
Was es gibt sind "high voltage" und "low voltage" OK Aber, wenn ich z.B. 56h Wert mit high brenne ist das besser als 56h mit low voltage? um das geht! Kann ich mir schwer vorstellen, dass in µC kein Unterschied ist.
-
Thread
Arduino Interrupt
> 750) // Bedingung { digitalWrite(ledGREEN , HIGH); // Wenn Bedingung erfüllt, wird ledGREEN auf High gesetzt } else { digitalWrite(ledGREEN , LOW); // Wenn Bedingung nicht erfüllt, wird ledGREEN auf Low gesetzt } }
HIGH) // Bedingung { digitalWrite(RELAY , HIGH); // RELAY wird auf HIGH gesetzt delay(70); // 70ms Pause digitalWrite(RELAY , LOW); // RELAY wird auf LOW gesetzt do { delay
-
Thread
ATtiny84 Pin Change Interrupt
reagiert musst Du in der ISR prüfen welche Taste den Zustand geändert hat und ob die Änderung von high->low oder low->high war. Das bedeutet, dass ein Tastendruck einen Interrupt auslöst und ein Tastenloslassen ebenfalls. [c] ISR(PCINT1_vect) // hier Deinen passenden Vektor rein { if (digitalRead
8 ist der von LOW -> HIGH wechselt dann leuchtet die LED und danach läuft der Motor ODER ein Interrupt am Pin 8 mit bspw. HIGH -> LOW läuft nur der Motor. (LED leuchtet nicht auf) Hab ich das ez richtig verstanden
-
Thread
I2C müsste doch theoretisch Kurzschlüsse verursachen
Daten gesendet und empfangen werden. So, wie ich das verstehe, wird bei I2C bei einer Flanke (z.B. High-Low) gesendet und bei Low-High dann empfangen. Aber müssten dann nicht dauernd Kurzschlüsse entstehen? Wenn der sendende IC High ausgibt, dann kann dieser zwar, bevor der angesteuerte IC einen Takt
Pascal schrieb im Beitrag #4931739: > Mikrocontroller können nur High oder Low oder PWM ausgeben, aber nicht > den Pin von High UND Low trennen.. Doch können sie, das Stichwort nennt sich "Tristate" oder "High-Impedance".
-
Thread
LCD-Ansteurung
(0.040); LCD_E_HIGH; LCD_DATA_HIGH_NIBBLE(data); _delay_us(0.250); LCD_E_LOW; _delay_us(0.250); LCD_E_HIGH; LCD_DATA_LOW_NIBBLE(data); _delay_us(0.250); LCD_E_LOW; _delay_us
delay_us(0.250); LCD_E_LOW; _delay_us(150); LCD_E_HIGH; _delay_us(0.250); LCD_E_LOW; _delay_us(0.250); LCD_E_HIGH; LCD_DATA_HIGH_NIBBLE(0b00100000); _delay_us(0.250); LCD_E_LOW;
-
Thread
DCF77 Signal auswerten MEGA2560
gibt 120d ODER 0 ? (bitweise) und was machst du wenn es einen Überlauf im Timer gibt während du an low oder high rumoderst?
PORTJ |= (1<<PJ1) >#define DCF77_PON_OFF PORTF &= ~(1<<PJ1) Interessant;) Auf PORTJ wird PON High gesetzt und auf PORTF auf Low.
-
Thread
Zeichnen eines Punktes mit LCD_Plot_Point
LCD_Plot_Point(uint8_t x, uint8_t y,uint8_t ydots) { // Begrenzung Y 0-25x4 y= (y/4); // make high- and low-Byte uint16_t ydots_low = 0; for (uint8_t j=0; j<=8; j++) { uint16_t bit1 = ydots & (1<<j); ydots_low += (bit1 << j); } uint16_t ydots_high = (ydots_low<<1); ydots_low += ydots_high; ydots_high = (ydots_low >> 8); ydots_low = (ydots_low & 0b11111111); // sende high und low Byte zum display lcd_moveto_xy(y,x); lcd_data(ydots_low); lcd_moveto_xy(++