-
Thread
4x20 Zeichen mit KS0066 funktioniert nicht (4-Bit)
for 4bit data bit 2 #define LCD_DATA3_PORT LCD_PORT *< port for 4bit data bit 3 #define LCD_DATA0_PIN 3 *< pin for 4bit data bit 0 #define LCD_DATA1_PIN 4 *< pin for 4bit data bit 1 #define LCD_DATA2_PIN 5 *< pin for 4bit data bit 2 #define LCD_DATA3_PIN 6 *< pin for 4bit data bit 3 #define LCD_E_PORT LCD_PORT *< port for Enable line #define LCD_E_PIN
-
Thread
PCF8574 über I2C
Code: #include <stdlib.h> #include <avr/io.h> #include "lcd.h" #define ADRESS 0x20 void i2c_start(uint8_t rw) { unsigned char addr_byte=0; TWBR = (1 << 1) | (1 << 3); //I2C initialisieren, TWBR=10 -> SCL freq=83.33 kHz TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); //Sende Start
; } int main (void) { char input; PORTC |= _BV(PC4); //Enable Pullup PORTC |= _BV(PC5); //Enable Pullup i2c_start(0); //I2C initialisieren und Start senden + MT Modus i2c_send(0xFF); //Daten senden, alle Pins auf high i2c_stop(); //Stop senden i2c_start
-
Thread
PIC18F2580 RB2 kein Output
anderen Pins mache. Ich denke nicht, dass der Ausgang kaputt ist, da ich den µC schon 2x ausgetauscht habe. Die Last ist ein Transistor, welcher auch an anderen Pins liegt. Ich weiß langsam nicht mehr, was man
David N. schrieb im Beitrag #4904434: > PORTBbits.RB2 = 0; als Output, so wie auch RB1 und RB3. Meintest du vielleicht [c]TRISBbits.RB2 = 0;[/c]
-
Thread
Treiberbaustein für 3,5 stelliges LCD
Hallo! Ich habe ien LCD mit 3,5 stellen und möchte darauf die Uhrzeit anzeigen. Das spärliche Datenblatt empfielt als Treiberbaustein einen ICL7106. Das ist aber leider eine Komplettlösung mit eingebautem ADC 0..2V, ich möchte aber
Was ist bei dir pinsparend? Kannst das ja direkt mit dem AVR ansteuern, wenns um 1-2 Ports nicht ankommt.
-
Thread
Wie funktioniert das Freitaken bei I2C
Matthias Sch. schrieb im Beitrag #3454939: > 1 erstmal ne STOP Condition > 2 SDA hochohmig machen und 9 mal SCL wackeln, dabei SDA beobachten. > 3 Wenn SDA high wird, aufhören. > 4 Wenn SDA high bleibt, aufhören. > 5 Wenn SDA zwischendurch nochmal Low wird, wieder zu 2. >
Bei den I2C EEPROMS empfiehlt sich nach dem Schreibanfang wiederholtes ACK-Polling auszuführen um die Beendung des internen Schreibvorgangs zeitgerecht zu erkennen. Bekanntlich dauert der Schreibvorgang 5-10ms.
-
Thread
RS232 mit Visual Studio 2003 - C#
= false; button2.Enabled = true; button3.Enabled = true; button4.Enabled = true; button5.Enabled = false; textBox2.Enabled = true;
label1.Text = ("Status: port closed"); } } private void button3_Click(object sender, EventArgs e) { string senddata; senddata = textBox2.Text; this.serialPort1
-
Thread
2 Servos und 2 verschiedenen Impulslängen mit Timer0?
bei 1 (0,5ms) und läuft bis 41 (Start+20ms) beginnt von vorne. Der Zähler /Servo2/ startet bei 3 (1,5ms) und läuft bis 43 (Start+20ms).
) | (1<<PC0)); // PIN C0 und PC1 LOW, damit Impulse am Servo HIGH } // Ende if else { if(scount>=3) { { PORTC |=(1<<PC0); // PIN C0 HIGH 0,8 ms erreicht
-
Thread
Atmega 2560 zu wenig Spannung am Ausgang
Arduinoquäler schrieb im Beitrag #4801013: > Also ich kann da keinen Port C (bzw DDRC) erkennen. > Du wolltest ja PC7 (Port C, Bit 7) als Output konfigurieren. //Motor 13 #define IN2_13 PJ0 //ATMega Pin: 63 Stiftleiste2:16 #define IN1_13 PB4 //ATMega Pin: 23 Stiftleiste2:15 OC2A #define EN_13 PC7 //ATMega Pin: 60 Stiftleiste2:14 #define OCD_13 PC6 //ATMega Pin: 59 Stiftleiste2:13 #define portIN2_13 PORTJ #define portIN1_13 PORTB #define portEN_13 PORTC #define
-
Thread
Conrad GSM GX106 Modul - "PINCODE FALSCH", PIN ist aber korrekt
geholt: http://www.silabs.com/products/microcontroller/downloads.asp es is eine neuere version 5.3 statt 5.0 auf der CD von Conrad .... Nach installieren erscheint nur in die COM port den 'CP210x USB to UART Bride (COM 3)' Aber er sollte auch erscheinen unter die USB controller list? und
"INCALL Ausgang" nur für genau die gewünschte Handy-Nummer zulassen (Haken setzen) und Timer auf 0.3 / 2.5 oder 10 Sekunden einstellen - wie lange man halt den Türöffner betätigen möchte. Fertig. Gruss, puncher
-
Thread
strom/spannung an port pins bei atmegaxx
kann man einen port pin über einen 100k widerstand an 12v hängen ohne, dass der uC schaden nimmt? die Vcc+0.5 sind ja dabei überschritten, vertragen die schutz-dioden das?... hat jemand mit solchen dingen erfahrung?
Nunja, wenn ich mir die H-Brücke genauer anschaue, dann sehe ich: - RB1 und RB2 schalten die Brücke statisch auf Fahrtrichtung - RB3 liefert die PWM und "klaut" über T2A und T2B den Transistoren T3A und T3B den Basisstrom, wodurch die Ansteuerung der Highside- FETs deaktiviert
-
Thread
MACHXO2 in system update
. Allerdings sind hier offensichtlich nicht die XO2 Pins knapp, sondern die am µC. > > Eine weitere Möglichkeit wäre, I2C fürs Firmwareupdate zu verwenden. > Bräuchte nur 2 Leitungen. > Insgesamt sind trotzdem 5 Pins am µC nötig, hat aber den
dem so ist, da kann ich ja den TDO und Data_out auch zusammenlegen und bräuchte somit nur 4 GPIO Ports am µC. Lattice User schrieb im Beitrag #4101894: > Allerdings sind hier offensichtlich nicht die XO2 Pins knapp, sondern > die am µC. So ist es. Gegenüber der Lösung mit I2C hätte meine
-
Thread
Ansteuern eines HD44780 LCD Displays
Das ist meine PIN- Belegung von meinem Display: 1 = Port D.2 LCD PIN 4 RS = Enable 2 = Port D.3 LCD PIN 6 E = Enable 3 = Port D.4 LCD PIN 11 DB4 = Datenbit 4 4 = Port D.5 LCD PIN 12 DB5 = Datenbit 5
(Anode) Kontrastreglung LCD PIN 3 Vo 13 = 5V LCD PIN 1 Vss 14 = Masse LCD PIN 2 Vdd LCD PIN 7 DB0 = Datenbit 0 LCD PIN 8 DB1 = Datenbit 1 LCD PIN 9 DB2 = Datenbit 2 LCD PIN 10 DB3 = Datenbit 3 LCD PIN 10 DB3 = Datenbit 3 LCD
-
Thread
Pins am Mega16 lückenhaft
Pins am Port C sind immer null. Das Programm habe ich mit Cut&Paste erstellt, und inzwischen mehrmals gurchgesehen, da kann ich keinen Fehler feststellen (der Vollständigkeit gebe ich es mal mit an).
[pre] if( µC == Mega 16 && Probleme am Port C ) disable_fuse( JTAGEN ) [/pre] :-) http://www.mikrocontroller.net/articles/AVR_Fuses#Kompatibilit.C3.A4tsfuses_und_manchmal_l.C3.A4stige_Defaults
-
Thread
R-IN32M3-CL (Cortex-M3): Wie funktioniert Senden/Empfangen auf dem Feldbus?
: R ¨M RX10-1F */ __IO uint16_t CCS_M3RMRX20_2F; /*!< 0x008Eh : R ¨M RX20-2F */ __IO uint16_t CCS_M3RMRX30_3F; /*!< 0x0090h : R ¨M RX30-3F */ __IO uint16_t CCS_M3HOLDCLR; /*!< 0x00BAh :
soll muß zuvor entsprechend per SW konfiguriert werden. Die Übersicht aller Port Funktionen gibts im Data Sheet "r18ds0008ej". Insbesondere zeigt 2.3.16 die Übersicht aller CC-Link Ports. In der Tabelle in 2.3.5 sieht man, dass z.B. P53 für CRXD0 (CAN0 receive), CCS_RD (CC-Link
-
Thread
Einfaches Programm zum Testen, ob das STK500 auch läuft
Was für ein serielles Kabel verwendest du? Gekreuzt oder ungekreuzt (Pin 2 un Pin 3)? Das STK500 benötigt (schwachsinnigerweise) ein Verlängerungskabel, also ungekreuzt.
> Edit: Moment. Welchen µC programmierst du jetzt eigentlich? > Hat der überhaupt einen Port D bzw. einen Port B? Also momentan ist der ATmega8515L auf dem Gehäuse (SCKT3000D3).
-
Thread
ATxMega Stick
Deine Tx und Rx gehen an die falschen xmega Ports. Entweder PD2/PD3 oder PD6/PD7. Nicht PD4/PD5 Hat sich eigentlich sonst noch jemand den Schaltplan angeschaut? Sieht nicht so aus
geht es auch. ich schrieb im Beitrag #2289422: > Deine Tx und Rx gehen an die falschen xmega Ports. Entweder PD2/PD3 oder > PD6/PD7. Nicht PD4/PD5 Ja das hab ich behoben. Ist im Layout oben auch schon drin. Hatte ich auch gemertk (weil ich nachträglich die Pins getauscht hab) Ich hab den neuen
-
Thread
LSC Smart Connect - neues Smart Home System bei Action
=2 -fPIC -I/usr/include/python3.7m -c sslpsk/_sslpsk.c -o build/temp.linux-armv7l-3.7/sslpsk/_sslpsk.o sslpsk/_sslpsk.c:19:10: fatal error: openssl/ssl.h: Datei oder Verzeichnis nicht gefunden
cmd=rtttl,5:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6" cheers, Henri
-
Thread
2MB DRAM an AVR Gesperrt
wollte hab ich einfach die beste lösung genommen die ich mit verfügbaren mitteln herstellen konnte. 2 ADC kanäle sind über 2 Pins erreichbar (der rest des Ports geht für den Ram drauf) Ebenfalls über 2 pins sind die XTAL pins zu erreichen um noch nen externen qu arz/oszillator anzuhängen. Kondensatoren
Daten-Ausgänge der SIMM-30 Module sehr hochohmig sind ? Hab gerade mal eine LED + 470 Ohm von +5V gegen einen Daten-Pin geschaltet, sofort wurden die Daten zwischen µC und SIMM-Modul nicht mehr korrekt übertragen. Bernhard
-
Thread
2x3 LED Strom Spannung einfache Kalibrierung Justierung per Software - ATmega8 Assembler
Anzeige Spannung 0.00...2.56V (mV Bereich) 2.60...99.9V ( V Bereich) Anzeige Strom 0.00...9.99A Der Spannungsteiler für ADC0 bitte so dimensionieren, dass die Spannung am ADC0-Pin 2,5V (Referenzsspannung
=5 .equ PIN_BALKEN_B =2 .equ PIN_BALKEN_C =3 .equ PIN_BALKEN_D =2 .equ PIN_BALKEN_E =1 .equ PIN_BALKEN_F =4 .equ PIN_BALKEN_G =3 .equ PIN_BALKEN_P =4
-
Thread
ADC-Pins Übersprechen / war: Ich fass es nicht
Minimalkonfiguration, wo ich das Verhalten des Arduino Mega nicht verstehe. Das kleine Programmchen liest 3 ADC-Pins ein (A0, A1, A2). [c]void setup() { Serial.begin(9600); delay(500); } void loop() { Serial.print(analogRead(A0)); Serial.print("\t"); Serial.print(analogRead(A1)); Serial.print
beim Umladen des Sample&Hold-Kondensators im ADC. Alternativ kannst Du mehrfach samplen, d.h. den Pin 2 - 3x lesen und nur die letzte Messung verwenden. Kostet natürlich massig Laufzeit.
-
Thread
uC >>> Tastenentprellung via Macro
natürlich nicht ok. Denn egal ob der Pin PD2 auf 0 oder aus 1 ist, es wird nie der Fall sein, dass [c] PIND & (1<<PD2) [/c] den Wert 1 ergibt. Das ist unmöglich. Wenn der Pin auf 0 ist, dann liefert der Ausdruck 0, wenn der Pin auf
if( PIND & (1<<PD2) ) // nicht 0? .... [/c] In C ist weniger oft mehr. Insbesondere ist [c] if( irgendwas != 0 ) [/c] und [c] if( irgendwas == 1 ) [/c] nicht dasselbe.
-
Thread
Lib für Sensirion SHT1x Sensor an AVR
-400 weil alles was ich von dem chip bekomme ist 0. Das program lauft auf ATmega16 @ 16MHz, Data PC3(mit pullup 10k), SCK PC2 und so hab ich die lib geendart: [c] #define F_CPU 16000000 ... /* SHT SCK and DATA Port and Pin definitions */ #define SHT_DATA_PORT PORTC #define SHT_SCK_PORT PORTC #define SHT_DATA_DDR DDRC #define SHT_SCK_DDR DDRC #define SHT_DATA_PORT_PIN PINC // ! the PINx register of the DATA Port ! #define SHT_DATA_PIN PC3 #define SHT_SCK_PIN PC2 [/c] die CRC kontrolle passt nie
-
Thread
avrdude-ATTiny13-ohne Programmer
Also das mit dem m328p könnte sich geklärt haben: Die installierte avrdude-Version ist bei mir: 5.5-112.3 :-( Was den Tiny anbelangt: ttyS0: Das ist amtlich der einzige COM-Port. demsg liefert: serial8250: ttyS0 at I/O 0x3fa (irq=4) is a 16550A Und: Wie gesagt, wenn ich das Windows-Programm
# 3/TXD -> PB2/SCK # Einen programmierbaren Reset gibt es nicht, der Pin-9 ist nicht belegt und fungiert als Phantomangabe programmer id = "rafaprog"; desc = "design rafa, serial-bitbanging";
-
Thread
Cortex M3 wird sehr heiß
und ich kann nicht mehr auf den µC zugreifen! Wo genau kann denn der Fehler liegen? ist ein Pin womöglich gesetzt und verursacht einen Kurzschluss? Arbeite auch erst seit etwa 1 1/2 Monaten mit dem Cortex, also bin ich kein Profi
30Sek bis man ihn dann nicht mehr anfassen kann. Schließe ich den JTAG an dauert es wie gesagt nur 2-3 Sek.
-
Thread
ATMEGA16 LCD2x16
gleich wie im AVR-Tutorial. Pin #-LCD Bezeichnung-LCD Pin-μC 1 Vss GND 2 Vcc 5V 3 Vee GND oder Poti (siehe oben) 4 RS PD4 am AVR 5
DB5 PD1 am AVR 13 DB6 PD2 am AVR 14 DB7 PD3 am AVR Weiß jemand wie die richtige Dip Switch Stellung am easyavr5 für diese Schaltung zu treffen ist
-
Thread
SDCARD Am Software SPI???
Hallo Ist es möglich an den Ports A0-A3 eine SD card Anzuschalten??? Port A0=CLK Port A1=CS Port A2=DI Port A3=DO wie schalte ich den Software SPI ??? Am Hardware SPI PortB hängt eine Nokia Display deswegen benötige ich
gehts gar nicht auch mit dem Beispiel Source von Ullrich Radig. SPI Mode auf 0 für Software SPI Port A0=CLK Port A1=CS Port A2=DI Port A3=DO Karte wird nicht gefunden. Habe wieder die SD an den Hardware SPI angeschlossen MOSI=B2 auf Display Eingabg und SDCard Pin 2 MISO=B3 nicht auf
-
Thread
5 Zeiten mit ICP messen -> Problem mit den Timerwerten (ATmega8 und C)
X==5) { Phase1 = Messung[5] + Messung[6]; Phase2 = Messung[7]; Phase3 = Messung[8]; } W1 = Phase3 - Phase1; W2 = Phase2 - Phase1; W1 = W1*100000; W3 = W1/W2; W3 = W3/32; W3 = W3*334;
vom UTI kontrolliert und siehe da, es passt alles. Wenn ich nun die Widerstandswerte einzeln an den Pins des UTI messe, komme ich zu folgendem Ergebnis: E nach A: 2,2kOhm E nach B: 2,3kOhm E nach C: 2,3kOhm E nach D: 2,412kOhm E nach F: 2,412kOhm A nach B: 100Ohm A nach D: 212Ohm A nach F: 212Ohm
-
Thread
PIC16F1455 treibt LCD nur mit angeschlossenem PICkit3
einem unbekannten Zustand sauber in den 4-Bit Mode zu setzen: https://www.avrfreaks.net/s/topic/a5C3l000000ULG2EAO/t095508 Ein nicht korrekt initialisiertes LCD erkennt man oft daran, daß die 2. Zeile schwarz ist.
(0b0011); RS=0; RW=0; send_nibble(0b0010);[/c] Meine send_nibble-Routine ist wiefolgt ausgelegt: [c] void send_nibble (unsigned char n) { D7 = (n >> 3) & 1; D6 = (n >> 2) & 1; D5 = (n >> 2) & 1; D4 = (n >> 0) & 1;
-
Thread
Grafik LCD am PortC geht am Port B nicht! atm8 & KS0108
was ich geändert habe ist, das umlöten der GLCD Pins: von PortC0 -> PortB0 von PortC1 -> PortB1 von PortC2 -> PortB2 von PortC3 -> PortB3 von PortC4 -> PortB4 von PortC5 -> PortB5 von PortC6 -> PortB6 natürlich auch die Verbindungen abermals
ihn so wie in diesem Schaltplan: http://www.scienceprog.com/wp-content/uploads/2007i/Glcd/GLCD_pins.png Es sind an Port C nur die CMD Pins des LCD angeschlossen! Die benötigen nur 5 Pins! PC0 bis PC4 Habe das Analog einfach von PB0 bis PB4 belegt, rest freigelassen... Port D blieb unverändert
-
Thread
Raspberry GPIO Schaltung Taster und Relais
3V3 | 2k2 | .--langeleitung---------100R--o---10k---o-------µC-Pin |
Beitrag #7954089: >> Ab Modell B+ können die angeblich 500mA rausgeben: >> https://pinout.xyz/pinout/pin1_3v3_power/ > > verwechsel doch nicht doe Spanungsversorgung mit dem SoC Port. Ich verstehe nicht genau, was Du mit SoC Port meinst. Bitte erkläre das genauer. Für mich ist SoC = System On a
-
Thread
[S] C64 im Bereich Berlin-Köpenick
Rechner nicht gut findet (obwohl man sehr gut mit DDT debuggen kann, MSBasic ist auch da, TurboPascal 3 auch. Ich hatte das Ding auf einem Steckbrett aufgebaut, "Massenspeicher" waren 2 x 64KB I2C-EEPROM [groesser waren die ersten Floppies auch nicht]). Mit so einem kleinen 10EUR-China-Logikanalysator
herankommt, die von der Hardware erzeugt wurden. Wenn er das begreifen würde, dann ist der Übergang zum µC nicht mehr besonders schwierig, dann müsste man ihn nur gleich mit 2..3 guten "C für µC" Büchern zuschmeißen. Die Dinger heute noch in Assembler programmieren... ich mag und mach das nur weil ich's vom
-
Thread
I2C mit USI - falsche LED bzw Port angesteuert
Hallo habe ein Problem mit I2C Bus zu USI mit Master und Slave. Versuche das Problem zu erklären Hardware Slave: - ATTIny 2313 - Port B als Ausgang mit 8 x LED - PIN PD0, PD1, PD2 Taster zur Eingabe - PIN PD3, PD4, PD5 3 x LED zur Anzeige Hardware Master: - Atmega 1284p - Port A als Ausgang mit 8 x LED - PIN PC4, PC3, PC2 Taster zur Eingabe Bedienung: Betätige am Master entweder Taster am PC2 oder PC4 und es leuuchten die LEDs am Slave Dabei verwende ich die Datein
-
Thread
ILI9486 8-Bit Parallel Bus deutlich langsamer als SPI
Applications" sogar auch "Serial to Parallel Data Conversion". Laut Datenblatt liegt fMax bei 4,5V bei 91 MHz und bei 2V bei 30MHz also bei 3,3V irgendwo bei ~50MHz oder so. Sollte für 18MHz SPI oder evtl. auch 36MHz SPI noch locker reichen. CS, D/C und WR bediene ich dann noch ganz normal über
: [c] #define WR_CYCLE CTRL_PORT->BRR = LCD_WR_Pin; \ CTRL_PORT->BSRR = LCD_WR_Pin; [/c]
-
Thread
mit Bascom über rs232 Frequenz aus einen Frequenzzählermodul auslesen.
Serialin = Buffered , Size = 20 Config Input = Cr Dim Char_buffer1(16) As String * 1 Dim Char_buffer2(16) As String * 1 Dim Contrast_wert As Byte bekomme ich beim compilieren eine Fehlermeldung Error : 103 Line : 16 = expected , in File : C:\Users\Berres\Desktop\swob5\Strichbreite3.bas
Jetzt werde ich als nächstes mal auf 115Kbaut umstellen und > Const To_wait_chars = 20 wieder auf 2 umstellen. Da würde ich 2 oder 3 versuchen und dafür die 5 hier vergrößern: > Const Init_timeout_preset = Wait_timeout * 5 Die 5 bestimmt wie lange gewartet wird von Impuls an den Zähler bis
-
Thread
LCD Routine Funktioniert nicht
Nun gut aber laut Anschlussplan werden DB0 bis DB3 am LCD nicht angeschlossen. Laut Plan habe ich es so angschlossen. DB4 -> PD0 uC DB5 -> PD1 uC DB6 -> PD2 uC DB7 -> PD3 uC RS -> PD4 uC E -> PD5 uC Aber die Initalisierung findet nur DB0
Marius schrieb im Beitrag #1886703: > Nun gut aber laut Anschlussplan werden DB0 bis DB3 am LCD nicht > angeschlossen. > Laut Plan habe ich es so angschlossen. > DB4 -> PD0 uC > DB5 -> PD1 uC > DB6 -> PD2 uC > DB7 -> PD3 uC > RS -> PD4 uC > E -> PD5 uC > > Aber die Initalisierung
-
Thread
Anfängerfragen in C
Fragen von einem Noob Port A soll z.b. auf x gespeichert werden 1.) Wie speichert man den gesamten Wert eines I/O Ports auf eine Variable in C ? 2.) Welcher Datentyp muss x sein? 3.) Wie kann ich den aktuellen Wert von
2. unsigned char 1. Ausgang: x=PORTy; Eingang: x=PINy; wobei y den Port angibt (Buchstabe von A bis H je nach Controller) 3.Guck ins Tutorium! In ein C-Buch. >if(x=128) then Lerne C! Und finde heraus
-
Thread
2-Dimensionales Array. Fehler. Läuft aber trotzdem ?
| Chip[73-1 ]<<3 | (bit)LED_H[Port], 2<<6 | Pin[73-1]-1 ); // dann High-LED ein/aus schalten if (LED_L[Port] != LED_L_alt[Port]) // Hat sich der Zustand geändert ? writeSlave24 (Port, 1<<6 | Chip[74-1 ]<<3 | (bit)LED_L[Port], 2<<6 | Pin[74-1]-1 ); // dann Low-LED ein/aus schalten LED_H_alt[Port] = LED_H[Port]; // Zustand merken LED_L_alt
-
Thread
Neuling: Latch Signal an Spielekonsole auslesen
Mann kann doch auch in der Arduino IDE den Pin in "normalem" C abfragen, oder? [c] void loop() { if(PIND & (1 << PIND3)) //Wenn PinD3 gesetzt ist { Serial.println("Latch"); } } [/c]
Grad gesehen, dass nur Pin2 und Pin3 als externe Interruptquelle funktionieren. Bau doch den Aufbau und das Programm mal entsprechend um (also Clock an Pin2).
-
Thread
Kann ich das noch retten? Pins gegen GND als Schalter lesen
Also muß ich es so reinprogrammieren? Habe ich das richtig verstanden? [c] // Damit sind es Eingänge ... DDRE = ( 0<<DDE2 | 0<<DDE3 | 0<<DDE4 | 0<<DDE5 | 0<<DDE6 | 0<<DDE7); // Damit sind diese interner Pull-Up-Widerstände aktiv... PORTE = (1<<PE2) | (1<<PE3)
Erich wrote: > [c] > if (PINE2 == 1) { > [/c] Meiner Meinung nach kann das so nicht funzen. Du prüfst entweder einen einzelnen PIN so: [c] if (PINE & (1<<PE2)) // PE2 gesetzt? [/c] oder ein reihe von
-
Thread
Große 7-Segment Anzeige
Hardware mäßig ist es ratz fatz. Aber Software mäßig habe ich dann mehr Aufwand. Weil wenn ich auf ein Port machen würde könnte ich ganz einfach so ansteuern: currentSeg1 = pgm_read_byte(&c_led[5]); currentSeg2 = pgm_read_byte(&c_led[1]); currentSeg3 = pgm_read_byte(&c_led[4]); Dann würde es mit
uint8_t segmente; segmente=pgm_read_byte(&c_led[5]); PORTD = (PORTD & (3)) | (segmente & ~3); // Bits 2..7 in PORTD kopieren PORTB = (PORTB & ~(3)) | (segmente & 3); // Bits 0..1 in PORTB kopieren [/c] MfG Falk
-
Thread
EADOGM162W-A-Anzeige mit XMEGA
#include <avr/io.h> #include <util/delay.h> // Define LCD pins #define LCD_E PIN0_bm // Enable (PC0) #define LCD_RS PIN1_bm // Register Select (PC1) #define LCD_D4 PIN3_bm // Data Bit 4 (PC3) #define LCD_D5 PIN2_bm // Data Bit 5 (PC2) #define
Du das auch wirklich so ("ungewöhnlich") verschaltet? #define LCD_D4 PIN3_bm // Data Bit 4 (PC3) #define LCD_D5 PIN2_bm // Data Bit 5 (PC2) #define LCD_D6 PIN5_bm // Data Bit 6 (PC5) #define LCD_D7 PIN4_bm // Data Bit 7 (PC4)
-
Thread
STM32 Port-Initialisierung
Hallo zusammen, Ich habe folgende Fragen an euch: 1) Kann man jedes Pin eines Ports verschieden definieren? 2) Kann man beliebig im Code die Pin-Definition eines Ports nachträglich ändern? 3) Kann man auch Timer-Definition im Code nachträglich ändern? Natürlich werden
>1) Kann man jedes Pin eines Ports verschieden definieren? Was meinst du damit? >2) Kann man beliebig im Code die Pin-Definition eines Ports nachträglich >ändern? Ja. >3) Kann man auch Timer-Definition im Code
-
Thread
Neues Terminal-Programm für Windows
ahh du schon wieder Wolfram =) 1. Takt ist 32MHz 2. Baud hab ich zur Zeit auf 38400, werd ich mal runtersetzen 3. mit Flusssteuerung hab ich noch nie gearbeitet =>muss diese auch am uC initialisiert werden, oder macht das nur das Hterm Programm? 4
durchgeführt. z.B.: Channel1 (2 Byte) = Channel1 * 5 / 1023 Channel2 (2 Byte) = Channel2 * 5 / 1023 Channel3 (2 Byte) = Channel3 * 5 / 1023 In der Ausgabe könnte es dann wie folgt aussehen: Spannungen: 1,44V 1,27V 3,16V
-
Thread
Encoder macht zu viele Schritte
(Notation ist 7,6,5,4,3,2,1,0 also genau umgekert) DDRE = 0b00010111; // PORT C als Ausgang/Eingang sei(); // für Interrupts beep_short(); // Initialisierung quitten // LC Display
i |= 2; switch( i ){ case 0: PORTB = 1; break; case 1: PORTB = 2; break; case 3: PORTB = 4; break; case 2: PORTB = 8; break; } } } [/c] Dann mußt Du ein Lauflicht
-
Thread
Bluetooth-Modem HB300 bei Pollin
PCM_OUT 18 GND GND Pin 1 (beim BTM = PIO_8) liegt bei "unserem" Modul aber auf GND. J2 hat sehr wahrscheinlich folgende Belegung: 1 GND 2 SPI_MISO 3 SPI_CSB 4 SPI_CLK 5 SPI_MOSI 6 Vcc 3,3V
Endlich sind meine da, gleich mal das Multimeter gezückt, Zu J2: Pin 1 und 6 sind definitiv GND und 3,3V Pin 2 (MISO) liegt auf 0V Pin 3 (CSB) wird sanft auf 3,3V gezogen Rp > 1MΩ Pin 4 (CLK) und 5 (MOSI) floaten Wenn ich bei meiner Maschine (P4 mit 845er
-
Thread
ADC-Pin auch als Digital-Pin benutzen
. Solange die Spannung nur vermindert wurde, also 4,2V -> 2,7V, stimmten die Werte. Sobald es aber wieder nach oben ging (2,7 -> 4,2), zeigten die Werte ab ca. 3V den max. Wert von 0x3FF an. Die Lösung: 1. Widerstaende verkleinern. 2. Vor der Messung
// k =8 adc_value = tmp / 1000L; adc_tmp = adc_value; } if (adc_value <= VOLT_3p0) cam_status.low_battery = true; if (cam_status.low_battery) { if (adc_value > VOLT_3p2) cam_status.low_battery = false; } } [/c]
-
Thread
AtMega8 2. ADC benutzen
will mit meinem AtMega8 (fertig verschalten auf dem Experimentierboard von myAVR) eine Spannung von 0-5V messen. Das ganze lief auch Anfangs über den ADC0 des µC ganz gut, nur habe ich den Fehler gemacht die Schaltspitzen meiner Spannung außer acht zu lassen, diese haben meinen ADC-Pin zerstören. Mittlerweile
= 1; //B.0 als Ausgang ddrB.bit1 = 1; //B.1 als Ausgang ddrC.bit1 = 0; //C.1 auf Eingang portC.bit1 = 0; //C.1 ohne Pull-Up spannungmesser.config(0); konsole.config(9600); wert=0; } public: void
-
Thread
Brauche Hilfe bei Schaltplan
nicht realisiert. Am Schieberegister1 sind 5 LEDs ( 1 + 2 + 4 + 8 + 16 = 31 > 24 ) und an Schieberegister2 und 3 sind 6 LEDs ( 1 + 2 + 4 + 8 + 16 + 32 = 63 > 60 ), daher reichen die LEDs. Nico wrote: >Wieviel strom brauchen deine ultra-hellen
hat sich ebenfalls geändert, der Basiswiderstand beträgt 10kOhm. Ich habe an Port C den 3. Pin absichtlich frei gelassen, er soll später an den G-Pin der 595s.
-
Thread
Schnelle µC <-> µC Schnittstelle
abzuhorchen. Falls die Geschwindigkeit des UART's nicht ausreicht, dann SPI oder parallel per normaler IO Ports und einem eigenen, spezifischen Protokoll. Wenn mehr als zwei uC's zusammen geschaltet werden sollen, dann bietet sich I2C an, wobei dann die uC's vorteilsweise die I2C Schnittstelle bereits als Hardware
funkzioniert es seit 8 Jahren tadellos. (µCs: Dallas 80C320 u. Atmel 89C5x) Karoly
-
Thread
LCD zeigt nichts an
&= ~(0xF0 >> (4 - LCD_DB1)); //obere 4 Bit maskieren LCD_PORT &= ~(0xF0 >> (4 - LCD_DB2)); //Maske löschen LCD_PORT &= ~(0xF0 >> (4 - LCD_DB3)); LCD_PORT &= ~(0xF0 >> (4 - LCD_DB4)); LCD_PORT &= ~(0xF0 >> (4 - LCD_DB5)); LCD_PORT &= ~(0xF0 >> (4 - LCD_DB6)); LCD_PORT &= ~(0xF0 >> (4 - LCD_DB7)); LCD_PORT &= (data >> (4 - LCD_DB1)); //Bits setezn LCD_PORT &= (data >> (4 - LCD_DB2)); LCD_PORT &= (data >> (4 - LCD_DB3)); LCD_PORT &= (data >> (4 - LCD_DB4