-
Thread
timer interrupt attiny45
aus dem Datenblatt. Ich müsste anstelle von OCR0A -> TCNT0 setzen. Dann würde er TCNT0 wieder auf HIGH springen und bei OCR0A auf LOW [code] #define F_CPU 8000000UL #include <avr/interrupt.h> #include <avr/io.h> #include <util/delay.h> void init(); void setup(); volatile uint8_t i; int
code] geändert. Eigentlich habe ich jetzt gedacht, dass ich mit 1<<COM0A -> OC0A bei null auf High gesetzt wird und sobald OCR0A erreicht ist wird OC0A auf Low gesetzt. Daher habe ich OCR0A auf 255. Also eigentlich sollte jetzt die ganze zeit an sein. Das teste ich wieder mit der LED. aber diese
-
Thread
Highspeed Software SPI AVR
Daten[1].dc[i]&0b00100000)>>5; SIN3=(Daten[2].dc[i]&0b00100000)>>5; SCLK=HIGH; SCLK=LOW; SIN1=(Daten[0].dc[i]&0b00010000)>>4; SIN2=(Daten[1].dc[i]&0b00010000)>>4; SIN3=(Daten[2].dc[i]&0b00010000)>>4; SCLK=HIGH; SCLK=LOW; SIN1=(Daten[0].dc[i]&0b00001000)>>3; SIN2=(
; unsigned char sin3 = Daten[2].dc[i]; unsigned char k; for (k=0; k < 8; k++) { SIN1 = LOW; if (sin1 & 0x80) SIN1 = HIGH; sin1 >>= 1; SIN2 = LOW; if (sin2 & 0x80) SIN2 = HIGH; sin2 >>= 1; SIN3 = LOW; if (sin3 & 0x80) SIN3 = HIGH; sin3 >>= 1; SCLK=HIGH; SCLK=LOW; } [/c]
-
Thread
I2C Schreiben und Lesen
**************************************************************** void eeprom_rs232() { int high, low; address++; high = address.high8; low = address.low8; bstart(); // Start Bedingung schreib(160); // Bauteiladresse senden (zum schreiben) schreib(high); // Höhere Adresse Übertragen (0..127) schreib(low); // Niedrigere Adresse Übertragen (0..255) schreib(ADRESH); // Schreibe das Zeichen bstop(); // Stop Bedingung address++; high = address.high8; low = address.low8
-
Thread
Step-Up Converter direkt von MCU vesorgen
#4287326: > Anbei die entsprechende seite aus dem Datenblatt Falsche Seite. Gefragt ist der high level, nicht der low level. dirty gecko schrieb im Beitrag #4287338: > Ich trenne den SteUp vor Vdd durch einen npn Transistor. Wirklich NPN?
of the rectifying MOSFET. This means that voltage will always exist at the output, which can be as high as the input voltage or lower depending on the load."
-
Thread
Effiziente Datenübertragung (low-latency) von PC zu Mikrocontroller
Hallo, ich arbeite derzeit an einem Projekt bei dem ich in von einem PC (Linux, low-latency-Kernel) mit bei einem Takt von 1.25 kHz 256 Byte pro Nachricht an einen Mikrocontroller (TI TMS320F28377D) per virtuelle serielle Schnittstelle (USB2-Adapter) schicke. Der Taktgeber ist hierbei
anspreche. Seht ihr eine Alternative? Die Datenpakete kann ich leider nicht deutlich vergrößern, da ich low-latency sein will und sie möglichst schnell Zeitnah zum Takt von der PC-Seite versenden möchte. Allgemein frage ich mich, was für eine Übertragungstechnologie für meinen Anwendungsfall low-latency
-
Thread
stm32f103 3phase-generator
unterschiedliche Werte aus der Sinetable. Nach deinem code [c] InsertDeadband(tempU, &compareHigh, &compareLow); OCR0A = compareHigh; OCR0B = compareLow; [/c] scheinen beide Halbbrücken gleichzeitig invertiert angesteuert zu werden? Du brauchst nur 3Werte aus der Sinetable. Ist mein
grundschüler schrieb im Beitrag #4853848: > Nach deinem code > InsertDeadband(tempU, &compareHigh, &compareLow); > OCR0A = compareHigh; > OCR0B = compareLow; > scheinen beide Halbbrücken gleichzeitig invertiert angesteuert zu > werden? Du brauchst nur 3Werte aus der Sinetable. Richtig
-
Thread
Display richtig beschalten
rechte Hälfte. Ich gehe davon aus, dass diese Controller kommunizieren, wenn der jeweilige CS auf Low liegt und Enable auf High. Damit hast Du folgende Möglichkeiten: Variante a) Beide CS dauerhaft aus Low: Dann bestimmst Du mit Enable=high, welcher der Controller angesprochen wird. Variante b
Max H. schrieb im Beitrag #3824347: > stefanus schrieb: >> Beide CS dauerhaft aus Low > Wenn alle Enable dauerhaft auf Low sind, wird sich nie ein Kontroller > angesprochen fühlen. >> Beide Enable dauerhaft aus High > Das wird auch nicht funktionieren, da der Enable Eingang auf Flanken
-
Thread
[C] Definierte Zustände direkt nach dem einschalten - AVR
> > Doch, sind sie. Das ist wohl jetzt eine Definitionsfrage … Für den einen ist Zustand „High-Z“ sehr wohl sauber definiert (denn es ist nicht zufällig „low“ oder „high“ aktiv getrieben, so wie es typisch bei RAM-Zellen der Fall ist), für den anderen ist es ein „undefinierter Zustand“.
Doch, sind sie. > > Das ist wohl jetzt eine Definitionsfrage … > > Für den einen ist Zustand „High-Z“ sehr wohl sauber definiert (denn > es ist nicht zufällig „low“ oder „high“ aktiv getrieben, so wie es > typisch bei RAM-Zellen der Fall ist), für den anderen ist es ein > „undefinierter Zustand
-
Thread
Frequenzzähler PCINT2 TIMER1 Verzweifelung
prev_reg)&(~act_reg)); // Frequenzeingang 0 if(reg&(1<<(1+4))){ freq0_t1_high_val=freq0_t0_high_val; freq0_t1_low_val=freq0_t0_low_val; freq0_t0_high_val=timer1_high_val; freq0_t0_low_val=timer1_low_val; } prev_reg=act_reg; // PD3 0 Setzen _delay_us
_t0_high_val; volatile uint16_t freq0_t0_low_val; volatile uint16_t freq0_t1_high_val; volatile uint16_t freq0_t1_low_val; volatile uint16_t freq0_deadtime; volatile uint16_t freq0
-
Thread
Arduino PWM Signale Erzeugen
} void loop() { // A total delay of 4 ms = 1/0.004 = 250 Hz… digitalWrite(8, HIGH); delay(2); digitalWrite(8, LOW); delay(2); }
(ledPin, LOW); delay(30000); digitalWrite(ledPin, HIGH); https://www.arduino.cc/en/Reference/Delay So ein Delay ist zwar in vielen Fällen eine eher schlechte bis unbrauchbare Lösung, wenn der Controller
-
Thread
SPI für Kommunikation mit EA DOGM128
push temp1 push r2 ldi temp1, 8 ; bit counter mov r2, temp1 mosi_low loop_8bit: clock_high lsl spi_data brcs high_mosi mosi_low rjmp bit_sent high_mosi: mosi_high ; if brcs is false, the number of clocks is 1(lsl)
brne) = 9 clocks pop r2 pop temp1 ret[/avrasm] Die Makros (mosi_high, mosi_low ...) sehen so aus: [avrasm].macro clock_low lds temp1, PORTF ; 2 Takte andi temp1, ~(1<<clk) ; 1 Takt sts PORTF, temp1 ; 2 Takte .endm .macro clock_high
-
Thread
Frage zum I²C Protkoll bezüglich NACK
Es geht um das 9. Bit, mit dem der Empfänger eine Antwort an den Sender schickt: High = NAK Low = ACK Man sendet für das NAK ein Bit mit High Pegel. Dass dazu physikalisch Open-Drain Ausgänge genutzt werden, ist dafür zweitrangig. Du musst hier zwischen der elektrischen Spezifikation
Master kann Stop senden. Ist es aber 0, dann kann der Master kein Stop senden, da er dazu ja SDA auf high setzen muß, der Slave jedoch SDA auf low zieht.
-
Thread
Test CAN Transceiver
Stromsparmodi getestet hatte, wollte ich sehen was auf CANH/CANL rauskommt, wenn ich auf RXD einen High-Pegel (5V) oder Low-Pegel (0V) gebe. Und da liegt das Problem. Egal ob an TXD 5V oder 0V liegen, am Pegel von CANH und CANL ändert sich nichts!
CAN-Controller gesendet wird, manipulieren. Mal das Verhalten der CANH und CANL zu betrachten, wenn ein HIGH oder ein LOW Pegel an RXD anliegt, wäre interessant gewesen. Aber des wird so auch klappen. Danke nochmal für die Hilfe!
-
Thread
FTDI CBUS C0..C4 High / Low
wird über den internen EEPROM eingestellt. Die Standardkonfiguration ist: -CBUS0: TXLED (geht auf low wenn Daten über USB gesendet werden) -CBUS1: RXLED (geht auf low wenn Daten auf USB Seite empfangen werden) -CBUS2: TXDEN (Enable Transmit für RS485) -CBUS3: PWREN (Low wenn der Chip Konfiguriert wurde. Ist der USb anschluss im Suspend Mode geht er auf high) -CBUS4: SLEEP (low wenn der USB Anschlus im Suspend Mode ist) Genaueres zum programmieren des EEPROMS und co. findet man im Datenblatt: http://pdf1.alldatasheet.com/datasheet-pdf/view/144590/FTDI
-
Thread
Wie Testen, ob ein Pin "hochohmig" bzw "floating" ist Gesperrt
Interessanterweise gibt es ICs, die an Eingängen drei unterschiedliche Zustände dekodieren können: Low, High, High-Z/floating. Das wird von Chipherstellern dafür verwendet eine Pin einzusparen. Z.B. wenn ein IC drei mögliche Konfigurationen kennt, kann man die gelegentlich nur über einen Pin einstellen
dann auf Mitte halten, wenn keiner treibt. Ein Fensterkomparator stellt dann fest, ob der Pin auf High, Mitte oder Low ist. Das ist für mich dann ein (quasi-)analoger Eingang.
-
Thread
Suche Personen mit uPD7210 Erfahrung
Also das auf der IEC-Bus-Seite sämtliche Signale aktive-Low sind weiß ich, deswegen auch /NRFD, /DAV, /D0-D7, ..... Auf der PC-Seite sind D0-D7 aktive-High, wie RS0-2 und dann gibt es aktive-Low wie /WR, /RD und /CS. Ich habe mit einem Oszi mal nachgeschaut
folgendem Ablauf: 8x pinMode(x, 1); //Databus to output digitalWrite(WR PIN, 0); //!WR Low -> WR High delayMicroseconds(1); 8x digitalWrite(x, data[x]); //Datenbyte an die Eingänge des UPD legen delayMicroseconds(1); digitalWrite(WR PIN, 1); //!WR High -> WR
-
Thread
INT0 INT1 Interrupt Atmega328p Verständnisproblem
angeschlossen wurde, soll ausgelesen werden. Das klappt schon einmal. Anschließend soll sobald ein HIGH Signal des Sensors vorliegt ein Servo die Positionen 30° und 90° EINMAL anfahren, und anschließend soll gewartet werden bis der Sensor wieder LOW ist. Nachdem der Sensor erneut HIGH ist, soll der
Bzw. wie schreibe ich, dass der INterrupt für INT1 beim LowLevel ausgelöst werden soll?
-
Thread
LCD im 4-Bit Modus an nur einem Port betreiben
der so etwas folgende Dienste bietet: void Enable_ein (void); void Enable_aus (void); void RW_high (void); void RW_low (void); void RS_high (void); void RS_low (void); Damit hältst du erstmal alle physischen Details fern von den höheren Schichten und du kannst alle Funktionen separat ausprobieren
das selber halte: extern void Enable_ein (void); extern void Enable_aus (void); extern void RW_high (void); extern void RW_low (void); extern void RS_high (void); extern void RS_low (void); So. Ich ärgere mich ohnehin seit langem über den Pfusch, den viele C-Programmierer dadurch machen, daß
-
Thread
Schweissgerät Bedienteilprozessor Fehlersuche
5 und 2 hängt jeweils die Referenz dran. An den beiden Ausgängen, 1 und 7 entsteht jeweils ein high und low Pegel und geht weiter auf ein Schieberegister, was dann irgendwie an der Datenleitung hängt, die zur Kontrollplatine geht.. Aber leider ist der Fehler immer noch da, immer noch Unterspannung
nicht mehr gekommen, da ich beim Überprüfen des Nands was gefunden habe. An Pin 1 und 2 sollten High Pegel liegen damit am Ausgang Pin3 Low ist. Pin 1 war high 2 Low... Pin 7 und 8 sollten ebenfalls High sein, damit der Ausgang Pin9 Low ist. Pin 8 war high 7 low... vom Festspannungsregler über
-
Thread
SI4355 SPI liefert nur 0xFF?!
REQUEST_DEVICE_STATE)? Evtl. liegts auch hieran: "5.2.1. Shutdown State The shutdown state is the lowest current consumption state of the device and is entered by driving SDN (Pin 2) high. In this state, all register contents are lost and there is no SPI access. To exit this mode, drive SDN low. The device
Joe F. schrieb im Beitrag #5827793: > Und: was ist mit dem SDN pin? Ist der low? Ja, der ist low. Da mache ich am Anfang nur diesen High/Low Pegelwechsel einmal für den Reset. Zeiten sind auch beachtet.
-
Thread
High Pegel des PCF8574 durch 74HC04 nach Reset vermeiden
Anderer Treiber (2595) ist auch ne Lösung - low-aktiv am Eingang.
@ crazy horse >Anderer Treiber (2595) ist auch ne Lösung - low-aktiv am Eingang. Hab mir den UDN2595 grad mal angeschaut, ist zwar low-Aktiv, aber hat leider keine Freilaufdioden. Da ich Relais schalten will müsste ich jedem noch eine spendieren, außerdem brauche
-
Thread
Problem mit mehreren Interrupts
Interrupt PIN21,Name:Sensor1,Rising=steigende Flanke } void Sensor1() { if (state1 == HIGH && state2 == LOW && state3 == LOW && state4 == LOW) { motor1.run(RELEASE); //Motor1 Stoppt motor2.run(RELEASE); //Motor2 Stoppt motor3.run
abgespielt delay(5000); } else { } } void Sensor2() { if (state1 == LOW && state2 == HIGH && state3 == LOW && state4 == LOW) { motor1.run(RELEASE); //Motor1 Stoppt motor2.run(RELEASE); //Motor2 Stoppt motor3.run
-
Thread
Atmega328PB CLKO abschalten
High-Pegel von CLKO an Drain als (push) High-Pegel an Source weiterleitet, und ebenso den Low-Pegel von CLKO als (pull) Low-Pegel an Source weitergibt. Stimmt das nicht? LG, Sebastian
wenn Gate auf GND liegt und der P-FET leitet, dass > er dann "in beide Richtungen" leitet, also den High-Pegel von CLKO an > Drain als (push) High-Pegel an Source weiterleitet, und ebenso den > Low-Pegel von CLKO als (pull) Low-Pegel an Source weitergibt. Stimmt das > nicht? Stimmt nicht ganz. Damit
-
Thread
Reedschalter an AVR
geschaltet wird. Zur SOftware-Entprellung benutze ich die Zählschleifen-Methode: Wird beim Abfragen ein High festgestellt, wird eine Variable inkrementiert bis max. zum Wert 20, wird Low festgestellt bis min. zur Null dekrementiert. Ist die Variable größer 10 werte ich den Eingang als High, sonst als Low.
als Low. Hmm. Klingt funktionsfähig, aber ich glaube besser wäre high bei >15 und Low bei <5, dazwischen den Wert halten? Dann sparst du dir das da: Frank E. schrieb im Beitrag #4218055: > Die Zählschleife
-
Thread
Mpu 9150 weg von der Api
gesehn xD wie doof [code] MPU-9150 I²C device address selection pin AD0. When the pin value is low, the device address is 0x68. When the pin value is high, the device address is 0x69. [/code] irgendwie dacht ich, ich kann low und high gleichzeitig holen... oder ist mit low und high garnicht
Jan L. schrieb im Beitrag #2886240: > oder ist mit low und high garnicht die low byte und high byte gemeint Nein, überhaupt und gar nicht. Das ist ein einzelner Pin, mit dem Du zwischen zwei Adressen umschalten kannst. Das aber ist nur relevant, wenn
-
Thread
Funksteckdosen HX2262 mit Atmega32 ansteuern
{ // Pegel am Ausgang 1 0 1 0 // Dauer kurz lang kurz lang setPinHigh(); _delay_us( SHORT_TIME ); setPinLow(); _delay_us( LONG_TIME ); setPinHigh(); _delay_us( SHORT_TIME ); setPinLow(); _delay_ms( LONG_TIME ); } void sendOne() { //
{ //Pegel am Ausgang 1 0 1 0 //Dauer lang kurz lang kurz setPinHigh(); _delay_us( LONG_TIME ); setPinLow(); _delay_us( SHORT_TIME ); setPinHigh(); _delay_us( LONG_TIME ); setPinLow(); _delay_us( SHORT_TIME ); } [/c] sein.
-
Thread
Fragen zum Sleep Mode
auslöst. Am einfachsten also sicher, indem du den internen Pullup benutzt und den Pin mit dem Taster auf Low ziehst. Du musst dann aber auch in der ISR gucken, dass du ihn abschaltest und erst nach einer Wartezeit wieder aktiviert, und nachdem der Pin wieder "high" ist.
high" war. Ansonsten rennt deine ISR einfach nur Kreise, solange der low-Pegel anliegt.
-
Thread
Schrittfrequenz für Schrittsequens?
(Schrittfrequenz); //3 motorpin1_LOW; motorpin2_HIGH; motorpin3_LOW; motorpin4_LOW; _delay_ms(Schrittfrequenz); //4 motorpin1_LOW; motorpin2_HIGH; motorpin3_HIGH; motorpin4_LOW; _delay_ms(Schrittfrequenz); //5 motorpin1_LOW; motorpin2_LOW; motorpin3_HIGH; motorpin4_LOW; _delay_ms(Schrittfrequenz); //6 motorpin1_LOW; motorpin2_LOW; motorpin3_HIGH; motorpin4_HIGH; _delay_ms
-
Thread
my AVR+LCD Problem
: LCD_enable: sbi PORTD, 3 ; Enable high sbi PORTD,3 ; Enable auf H nop ; kurz warten nop nop cbi PORTD, 3 ; Enable wieder low ret Gruß aus Berlin Michael
LCD-Funktionen für myAVR-Board + myAVR-LCD // 4-BitModus an PortD Bit 4-7 // PortD Bit 2 = RS, high=Daten, low=Kommando // PortD Bit 3 = E, high-Impuls für gültige Daten //--------------------------------------------------------------------------- // lcd_send(..) - sendet ein Byte an LCD im 4
-
Thread
arduino display geht aus
Du es bei > diesem Schield nur ein- oder ausschalten. Mit den Befehlen > digitalWrite(BACKLIGHT,HIGH); > oder > digitalWrite(BACKLIGHT,LOW); mit High gings > > Das eine schaltet das Backlight ein, das andere aus. Welches was macht, > bin ich jetzt auch überfragt und müßte es erstmal raussuchen
Fall nicht, schaue auf den Transistor und wo der digitale D10-Pin angeschlossen ist. Mit "Input/HIGH" und "Input/Low" wird das Backlight ein- und ausgeschaltet. Auf "Output/LOW" kann man D10 auch noch schalten. Und sobald D10 auf "Output/HIGH" steht gibt es einen fetten Kurzschluss am Transistor
-
Thread
Kommunikation mit AD-Wandler ADS1255
Channel 2 zeigt DIN am ADC Das Bild 1 zeigt schön beim ersten gesendeten Byte 0x10, dass DIN am ADC low-low-low-high low-low-low-low geht. Das passt zum Byte 0x10. (Man beachte 0 = low, 1 = high Level.) > - Bild 3: Channel 2 zeigt DOUT am ADC (...) > Als Antwort, bekomme ich immer nur "0xFFFFFFFF" Bild 3 zeigt DOUT am ADC ist immer low. Dein uC liest aber 0xFF, also immer high. Das passt doch nicht zusammen!
-
Thread
NAND Gatter ersatz
AND Gattern steuere muss ich wenn ich PNP nehme NAND Gatter nehmen oder? Weil PNP steuern ja bei ,,LOW'' durch und ein NAND Gatter steuert ja auf LOW wenn beide Eingänge auf high sind oder? Nun wäre meine Frage ob ich anstelle des 4011 auch ein 74HC 03 nutzen kann. Ich meine das das Open drain ausgänge
, nicht wahr. Mit npn-Trans. schaltet man normal gegen -Us. > ...... Weil PNP steuern ja bei ,,LOW'' durch und > ein NAND Gatter steuert ja auf LOW wenn beide Eingänge auf high sind Ja. > Nun wäre meine Frage ob ich anstelle des 4011 auch ein 74HC 03 nutzen > kann. Ich meine das das Open drain
-
Thread
Lichtschranke als Taktzähler
(high/low). Die mechanische Seite ist relativ leicht mit einem 3D Drucker und ein paar Kugellager zu lösen, die Elektrotechnik fordert mich heraus. Ich denke es wäre relativ leicht mit einem Arduino und
, Signalausgabe (high/low). Stichwort: retriggerbares Monoflop, z.B. CD4538
-
Thread
3.3-24V Input auf
... Max. ist aber Vdd - muß man also möglicherweise mit einer Diode klemmen. > ist, soll ein HIGH sein. Alles unterhalb von 3V LOW. Das ganze soll in Naja, jeder Digitaleingang wird immer mit einem gewissen Abstand zw. H und L spezifiziert. Du kannst also nicht annehmen, bei exakt 3V in beide
Thomas schrieb im Beitrag #6816634: > Alles was größer als 3V > ist, soll ein HIGH sein. Alles unterhalb von 3V LOW. Den Bereich 3..24 Volt würde ich mit einem simplen NPN-Transistor abdecken, der dann ab etwa 0,7V schaltet. Wenn Du wirklich auf einer harten Grenze bei 3,0V
-
Thread
Frage zu DTMF-Wahltonerzeugung
der Atmel b.z.w. Microship Applikation AVR314(*) ist auf Seite 2 angegeben das die Amplitude der "High"-Frequenz im Bereich von 0,7 bis 0,9 der Amplitude der "Low"-Frequenz betragen soll. Im dazugehörigen C-Quellcode ist es genau anders herum: da beträgt die "Low"-Amplitude 3/4 der "High"-Amplitude.
Frequenzen unterschiedlich groß sein? Ich habe jetzt mal alle 3 möglichen Fälle ausprobiert ("High" < "Low", "Low" < "High", "High" = "Low"), es werden jedes mal korrekte Wahltöne erzeugt. rhf (*) https://ww1.microchip.com/downloads/en/AppNotes/doc1982.pdf
-
Thread
geistertasten
ausgelesen und dabei auch entprellt wird. Außderm hab ich verstanden, dass der Code für eine "Active-Low" - Matrix geschrieben wurde. Es werden Registerrichtungen (Ausgang-Eingang) gesetzt und auf Low abgefragt und nicht wie ich das mache Ports geschalten (high-low) und dann ein high-Signal abfragen.
stefan schrieb: > Es werden Registerrichtungen > (Ausgang-Eingang) gesetzt und auf Low abgefragt und nicht wie ich das > mache Ports geschalten (high-low) und dann ein high-Signal abfragen. Nun, dann überlege mal, wenn jemand 2 Tasten drückt und dadurch ein 0-Ausgang mit einem 1
-
Thread
Schieberegister ersetzen
LOW und dann auf HIGH warten muss, um sicher zu stellen, dass der Body nur einmal bei steigender Flanke ausgeführt wird, und nicht wieder und wieder, solange der HIGH-Pegel ansteht.
dauert 8 Takte @1MHz = 8us = 64 Takte @ 8MHz. > Ich denke, Axel hat schon recht, dass man erst auf LOW und dann auf HIGH > warten muss, um sicher zu stellen, dass der Body nur einmal bei > steigender Flanke ausgeführt wird, und nicht wieder und wieder, solange > der HIGH-Pegel ansteht. Nö, wenn
-
Thread
Millis als Lösung, oder geht es auch anders?
//teilöffnung des fensters (1/5 der laufzeit von 10 sec digitalWrite(relaisPin9, LOW); // pin9 strom abschalten, ruhezustand digitalWrite(relaisPin8, HIGH); delay(2000); digitalWrite(relaisPin8, LOW); digitalWrite(relaisPin7, HIGH); delay(2000); digitalWrite(relaisPin7, LOW); digitalWrite(relaisPin5, LOW); digitalWrite(ledGelb, LOW); digitalWrite(ledGruen
-
Thread
Bessere Poti Schaltung für Arduino?
(A6, LOW); digitalWrite(A7, LOW);
> A6 und A7 kann man nicht digital nutzen. Diese Aussage finde ich falsch. digitalWrite(A6, LOW); digitalWrite(A7, LOW); Ports sind LOW digitalWrite(A6, HIGH); digitalWrite(A7, HIGH); Porta sind HIGH.
-
Thread
Serielle Übertragung
Dann wäre noch die Standard-Frage bei PORT C: JTAG abgeschaltet (Fuse, > MCUCSR)? Fuse Bits High 0xD9 Low 0xFF Damit sollte JTAGEN abgeschaltet sein. -- Gruß Scotty
>> High 0xD9 >> Low 0xFF > > Und CKOPT ist Bit 4 in der High Fuse? > > Edit: Du hast schon den ATmega32 eingestellt? So habe jetzt CKOPT "angehakt", damit ändert sich High von 0xD9 auf 0xC9. Ich
-
Thread
Problem mit delay.h und Optimierungsstufe v. AVR Studio 4
Flanke kommt der Interrupt, danach muss ich kurz warten und frage dann in der ISR einen PIN ab ob der high oder low ist. Warten muss ich da es eine kurze Zeit dauert bis sich ein ev. high bzw. low einstellt. Könnte ich dieses Abfrage auch aus der ISR auslagern. Werd ich dann whs auch. Aber das Warten
- Modulation darstellen! Dh. ich muss nur wissen wann das erste Mal Tick_el und Tick_th gemeinsam high sind. Das stellt, dann die erste High Flanke dar. Wenn dann nur mehr Tick_el high ist, ist Tick_th low, aber bis dort hin ist es high, durchgehend, also wird bis dort hin nur ein mal Tick_th hoch gezählt
-
Thread
SHT21 auslesen mit I2C Lib von P.Fleury
(SHT21_CMD_MEAS_RH_NO_HOLD); i2c_stop(); _delay_ms(50); i2c_start(SHT21_I2C_ADR+1); high = i2c_read(1); low = i2c_read(0); i2c_stop(); temp = ((uint16_t)high<<8) + (low & 0b11111100); // RH = - 6 + 125 * S_RH / 2^16 *humidity = ((125L * temp) >> 16) - 6; if (*humidity
+1); high = i2c_read(1); low = i2c_read(0); _delay_us(50); i2c_stop(); temp = ((uint16_t)high<<8) + (low & 0b11111100); // T = - 46.85 + 175.72 * S_T / 2^16 temperature = ((176L * temp
-
Thread
I2C Acknowledge Problem
Dadurch kannst du unabsichtlich START oder STOP conditions erzeugen... Immer SDA ändern -pause- SCL high -pause- SCL low -pause- SDA ändern etc.
Dadurch kannst du unabsichtlich START oder STOP conditions erzeugen... > Immer SDA ändern -pause- SCL high -pause- SCL low -pause- SDA ändern > etc. Okay, das ist so die Standardeinstellung vom Hardware I²C. Laut Datenblatt des Controllers muss SDA mindestens 11ns nach der fallenden Flanke von SCL anliegen
-
Thread
Text in Variable??
gefunden rjmp sonstwohinzumbeispielneuentastereinlesen ausgabe_menue_1: ldi ZL, LOW(menuetext_1*2) ; Adresse des Strings in den ldi ZH, HIGH(menuetext_1*2) ; Z-Pointer laden rjmp ausgabe_menue ausgabe_menue_2: ldi ZL, LOW(menuetext_2*2) ; Adresse des Strings in den ldi ZH, HIGH(menuetext_2*2) ; Z-Pointer laden rjmp ausgabe_menue ausgabe_menue_3: ldi ZL, LOW(menuetext_3*2) ; Adresse des Strings in den ldi ZH, HIGH(menuetext
-
Thread
Led balkenanzeige
von Harald Wilhelms. Der Rest kann > gelöscht werden. Ja, sicher. Einen Ausgang der auf HIGH ist, mit einem anderen Ausgang der auf LOW ist mit einer Diode zu verbinden, ist wirklich sehr sinnvoll.
Harald Wilhelms. Der Rest kann >> gelöscht werden. > > Ja, sicher. > > Einen Ausgang der auf HIGH ist, mit einem anderen Ausgang der auf > LOW ist mit einer Diode zu verbinden, ist wirklich sehr sinnvoll. Natürlich wird mehr als eine Diode benötigt. Ich habe eine ähnliche Schaltung mit dem
-
Thread
Problem mit LED-Matrix und PCF8574
gehalten und da stehen npn-Transistoren an der >Stelle... Mir doch egal. Der PCF kann nur bei Low Pegel vernünftig Strom liefern. Also PNP auf die High Side und Ausgangspegel vom PCF invertieren um die zu schalten.
geht aber nur, wenn die Basis ein klein bsichen Strom ziehen *kann*. Wenn diese PCF-Treiber aber nur Low-können, fehlt der Basisstrom. (Man kann sagen, die Teile können nur LOW oder "hochohmig high" ausgeben.) Vorschlag: Baue, wie schon gesagt, für Q5..Q8 pnp Typen mit Vorwiderstand (2k2) ein.
-
Thread
I2C-Schnittstelle in Software für MSP 430
&= ~SCL; P3OUT &= ~SDA; P3DIR |= SCL; P3DIR &= ~SDA; SetHighSCL(); SetLowSDA(); SetHighSDA(); } [/c] Bei Pegeländerung wird SCL auf high bzw. low gesetzt bleibt jedoch immer Output. Soweit ist mir das alles klar. Jedoch bei SDA wechsele ich zwischen
Leitung entspricht? Wieso low? Der Pull-Up am Bus zieht SDA/SCL bei Tri-State immer auf high.
-
Thread
SAT-Anlagenumbau von analog auf digital
Was unterscheidet denn digitale Stecker von den analogen? Sind die digitalen Stecker einmal da (High) und einmal nicht da (Low)? Gruss Harald PS: Auch das Kabel wird bei Digital ja viel weniger beansprucht. Während der "Low"-Zeiten braucht man das Kabel ja eigentlich gar nicht. Während dieser
will der mit 22kHz umschalten? Was du meinst ist Quad LNB. ja ok. aber bei Quattro hat man für Low und High verschieden ausgänge. Also kann man dort auch nicht einfach alle Low und High an einen Anschluss nutzten.
-
Thread
Keyboard auslesen, Hardware verknüpfung..
funktioniert problemlos. Wenn er dauernd den Clock sendet heißt dass, dass er ein dauerndes DATA LOW empfängt (=startbit). Wenn du wieder was zurückkriegen willst musst du die Leitung wieder auf HIGH hochlassen, d.h. den Pin am µC auf High Impedanz stellen (DDR 0; PORT 0). Im PIN steht dann der Zustand
char pos; *byte = 0x00; for(pos = (char)7;pos>=(char)0;pos--){ waitForClockHigh(); waitForClockLow(); if(PIN_PS2 & (1<<PS2_DATA)) (*byte) |= (1<<pos); } waitForClockHigh(); waitForClockLow(); waitForClockHigh(); waitForClockLow(); waitForClockHigh
-
Thread
Pointer Vergleich mit Konstante
0x00FF beim Inkrement auf 0x0100 UND kommt der Interrupt Aufruf genau zwischen dem Inkrement des Low_bytes und dem Inkrement des High_bytes, dann sieht die ISR unter Umständen bereits das neue Low-Byte 0x00 aber immer noch das alte High-Byte 0x00. Die ISR benutzt also den teilinkrementierten "Zwischenstand
beim Inkrement auf 0x0100 > UND > kommt der Interrupt Aufruf genau zwischen dem Inkrement des Low_bytes > und dem Inkrement des High_bytes, dann sieht die ISR unter Umständen > bereits das neue Low-Byte 0x00 Die ISR sieht diesen Pointer nicht, hier ist es wirklich schnuppe, ob die ISR in