-
Thread
I2C Levelshifter gesucht
Du weisst aber schon, wie der I2C Bus funktioniert? Das mit den Open Collector bzw. Open Drain Ports? Es sollte eigentlich reichen die Pullups auf 3,3V zu legen, wenn der 5V Busteilnehmer die Logikpegel noch sauber erkennt. Oder
>ich suche einen Levelshifter für den I2C Bus von 5V auf 3.3V >Biderektional. In der I2C-Spezifikation ist ein Shifter mit zwei FETs drin, funktioniert einwandfrei.
-
Thread
uC Pin 3.3V tauglich
Hallo Warum kann ein uC Pin geschädigt werden, wenn ich statt 3V3 eine 5V Spannungsquelle für die LEDs verwende und der uC bei 3V3 betrieben wird und der Pin auch nur 3V3 kann? Der uC sieht doch keine Spannung die höher ist
Marcel schrieb im Beitrag #6992654: > Warum kann ein uC Pin geschädigt werden, wenn ich statt 3V3 eine 5V > Spannungsquelle für die LEDs verwende und der uC bei 3V3 betrieben wird > und der Pin auch nur 3V3 kann? Er wird nicht beschädigt. Wer behauptet
-
Thread
Probleme mit Ack bei I2C und MAX3373
Ich habe einen µC von Atmel (5V) und einen Beschleunigungssensor von freescale (3,3V), dazischen einen Pegelwandler Max3373. Ich bekomme keine Übertragung hin, weil der Acknowledge nicht ankommt. Vorab: Die 5V brauche
(Alternate Port Functions): SDA, 2-wire Serial Interface Data: When the TWEN bit in TWCR is set (one) to enable the 2-wire Serial Interface, pin PD1 is *disconnected* from the port and becomes the Serial Data I/
-
Thread
RFM12 - Funkmodul
Wenn ich die 2,5USD umrechne, sind das 2,3€ inkl Zoll und MwSt. Dazu kommen dann die 70€. Für die 2,5€ müsste man also mindestens 350Stk bestellen und für 3€ mindestens 100Stk wenn ich mich nicht verrechnet habe.
kompletten 8bit Port (PORTD) zur Verfügung hat (falls man es mal braucht) ? z.B. auf ADC3 könnte man diesen legen. Dann hätte man in der Minimalversion nur PB3-5 + PC3 belegt, der Rest ist frei. ADC/PortC Pins gibt es
-
Thread
16x2 LCD Langsamer Displayaufbau
// output #define OUT1_DDR DDRC #define OUT1_PORT PORTC #define OUT1_PIN PINC #define OUT2_DDR DDRB #define OUT2_PORT PORTB #define OUT2_PIN PINB #define green 0x20 // 0010 0000 #define yellow
>= ADCvalue1) { OUT1_PORT |= red; OUT2_PORT |= beeper; } } } [/c]
-
Thread
C Programm für Drehimpulsgeber funktioniert nicht
max2d schrieb im Beitrag #3589292: > Hier mein Programm RB4 und RB5 sind doch Konstanten und nicht die Pins des Ports, oder ist das beim PIC anders?
MaWin schrieb im Beitrag #3589599: > RB4 und RB5 sind doch Konstanten und nicht die Pins des Ports, oder ist > das beim PIC anders? So ist es. PORTBbits.RB4 wäre korrekt.
-
Thread
Ansteuerung LCD Display an Port C
2 #define LCD_PIN_E 3 #define LCD_PIN_D4 4 #define LCD_PIN_D5 5 #define LCD_PIN_D6 6 #define LCD_PIN_D7 7 // DEFINITIONS #define sbi(PORT, bit) (PORT|=(1<<bit)) // set
Ich finde ja den Teil hier [c] #define LCD_PIN_RS 2 #define LCD_PIN_E 3 #define LCD_PIN_D4 4 #define LCD_PIN_D5 5 #define LCD_PIN_D6 6 #define LCD_PIN_D7 7 [/c] gelungen. Der suggeriert eine Konfigurierbarkeit
-
Thread
Stellaris I2C
passt, weil ich hab echt keinen Plan mehr... Zum Einstellen des I2C verwende ich folgendes: [c] GPIOPinConfigure(0x00010803);// GPIO_PB2_I2C0SCL GPIOPinConfigure(0x00010C03);// GPIO_PB3_I2C0SDA GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_3);
[/c] Die Funktion myGPIOPinTypeI2CSCL(GPIO_PORTB_BASE, GPIO_PIN_2); ist im Grunde wie GPIOPinTypeI2CSCL, nur dass statt [c] void GPIOPinTypeI2CSCL(unsigned long ulPort, unsigned char ucPins) {
-
Thread
Hardwareadresse Parallelports in Mach3 einstellen.
Mach3: Config -> Ports and Pins
-0xD087 und 0xD000-0xD007 Anschluss 2 hat => 0xD480-0xD487 und 0xD400-0xD407 Ich habe die höheren und die niedrigeren ausprobiert. Kein Unterschied. 4) Siehe 3) 5) Nein, keine Seriellen Ports auf der KKarte, nur 2 parallel. Chip ist
-
Thread
MiniLA Version MockUp
%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D500003%2B1003029%26Ntk%3Dgensearch_002%26Ntt%3Ddc%252Fdc%2Bwandler%2B5v%2B3%252C3v%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue
3.3V systems - Low power operation - 5V tolerant I/O pins accept 5V, 3.3V, and 2.5V signals Man kann natürlich Tastkopfplatinen (mit Treiber/Pegelwandler/was auch immer) extern anschliessen (falls
-
Thread
Handycamera MCA-25 ansteuern - ip webcam mit mega32
also, du hängst an die entsprechenden pins 5V und GND. Dann kommt an Eingang 1 das TX von µC und an den Ausgang 1 der Eingang 2 vom Chip. An den Ausgang 2 kommt das RX von der Cam. Dann kommt an Eingang 3 das Enable von µC und an den Ausgang
DATA 16*31 + 1*16 TX CH1: COMMAND UIH len:31 |........H..EBMP_1.0..P.<.++**KK| <F9 83 EF 3F 90 02 00 C3 00 00 12 CF 48 01 F8 45 42 4D 50 5F 31 2E 30 05 00 50 00 3C 08 2B 2B 2A 2A 4B 4B ED F9> ======================================== mein mitschnitt (nur TX) : =========================
-
Thread
Laflicht mit 27C64
D1D Pin 12/5V, und 13/5V, Pin 11/0V Digital 1 1 = 0 D1C Pin 8/0V, und Pin 9/0V, Pin 10/5V Digital 0 0 = 1 oder liege ich dah falsch ?
immer noch nicht richtig an. Ausgang Zähler: DCBA ---- 0000 0 Zehnerstelle aus 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A Zehnerstelle an 1011 B 1100 C 1101 D 1110 E 1111 F Die Zehnerstelle muss also eingeschaltet werden, wenn folgende Bedingungen
-
Thread
Ansteuerung von GPIO Pins eines Raspberrys aus 2 Threads
. 3) Variable y auf Port x Port ausgeben. 4) Ein Bit in y ändern. 5) Variable y auf Port x Port ausgeben. 6) Ein Bit in y ändern. 7) Variable y auf Port x Port ausgeben. Thread 2: 1) Port x in Variable z einlesen. 2) Ein Bit in z ändern. 3) Variable z auf Port x Port ausgeben. 4) Ein Bit in z ändern. 5) Variable z auf Port x Port ausgeben. 6) Ein Bit in z ändern. 7)
-
Thread
Externe Interrupts nur an PD2 und PD3 ?
Vielleicht kannst Du die 7-Segment LEDs auch an den PB Port anschliessen ? Oder zumindest PD2 und PD3 freimachen ?
leicht in die Schule zum Kolloquium transportieren kann. Ich werde es nun so machen das ich die Ports PD0-PD1, PD4-PD7 und PB0-PB1 als Anschlüsse für die LED verwenden. Port C (PC0-PC4) steuert die Transistoren und an PD2 und PD3 schließe ich die Signalleitungen von den Lichtschranken an. Somit habe
-
Thread
Controler aktivieret falsche Pins
if ( PINC & (1<<PINC1) ) { PORTB = (0<<PB3);} //Relay 4 auschalten, wenn Taster 2 gedrückt. (Pin 1 an Port C) } return 0; } [/c] Relay 2,3 werden aktuell über den Code
? [c] DDRD=0xff; PORTD = (0<<PB0)|(0<<PB1)|(0<<PB2)|(0<<PB3)|(0<<PB4)|(0<<PB5)|(0<<PB6)| (0<<PB7)|; [/c] So müsste Port D einen definierten zustand erhalten, der ihm sagt, dass er 0 Volt schalten soll
-
Thread
zwei Attiny's 85 über I2C
TinyWire.available() ) { byte Nr = TinyWire.read(); if (Nr==1) digitalWrite(1,HIGH); if (Nr==2) digitalWrite(3,HIGH); if(Nr==3) digitalWrite(4,HIGH); } } [/c] -Slave- https://github.com/rambo/TinyWire [c] #include <TinyWireS.h> void setup() { pinMode(1,OUTPUT); pinMode
((int)Nr); } } } [/c] der Slavecode sieht so aus [c] #include <TinyWire.h> void setup() { pinMode(1,OUTPUT); pinMode(3,OUTPUT); TinyWire.begin(42); TinyWire.onReceive(receiveEvent); TinyWire.onRequest
-
Thread
40 PortPins beschalten
LEDs musst Du aufpassen, den Gesamtstrom nicht zu überschreiten, also den Strom, der durch die Vcc-Pins reinfließt, um die LEDs zu treiben. Also 3 Schritte: 1) Überlege Dir, wie viele LEDs maximal gleichzeitig an sein sollen. Z.B. 20 2) Stelle den Maximalstrom fest, z.B. 100mA 3) Verteile die
musst Du aufpassen, den Gesamtstrom nicht zu überschreiten, > also den Strom, der durch die Vcc-Pins reinfließt, um die LEDs zu > treiben. Also 3 Schritte: > 1) Überlege Dir, wie viele LEDs maximal gleichzeitig an sein sollen. > Z.B. 20 > 2) Stelle den Maximalstrom fest, z.B. 100mA > 3) Verteile
-
Thread
qtouch - sekt oder selters
(1<<5) //Pin A5 #define SK_B0 (1<<4) //Pin A4 #define SK_A1 (1<<2) //Pin A3 #define SK_B1 (1<<3) //Pin A2 #define SK_A2 (1<<0) //Pin A1 #define SK_B2 (1<<1) //Pin A0
Pinb.4 = Output 'Spannung an LCD aktivieren Lcdpower Alias PortB.4 Config PinB.6 = Output Lcd_rw Alias PortB.6 Lcd_rw = 0 Lcdpower = 1 Wait 1 Config Lcd = 20 * 4 , Chipset = Ks077 Config Lcdpin = Pin , Db4 = PortB.3 , Db5 = PortB.2 , Db6 = PortB.1 , Db7 =
-
Thread
AVR- C: Welche einfachen Projekte für den "Einstieg"?
Lichtschranke? Die könnte man stufenweise ausbauen: 1) Unterbrechung des Lichtstrahls erkennen 2) Fremdlicht messen und heraus rechnen 3) Eine Beleuchtung 1min einschalten, wenn jemand den Flur betritt 4) Die Zeit einstellbar machen 5) Die Anzahl der Personen zählen und seriell ausgeben 6) Die
] * PB16 = TC6/WO[0], function E */ PORTB.PMUX[16 / 2].bit.PMUXE = PORT_PMUX_PMUXE_E_Val; PORTB.PINCFG[16].bit.PMUXEN = 1; [/c] oder [c] TCCR1A=_BV(COM1A1)|_BV(COM1A0); TCCR1B=_BV(WGM12); /* Timer Stopped */ [/c] Keins von beiden
-
Thread
Einstieg in µC
Hi >Ich hab´ nun zwar nach ein paar Stunden zumindest mal 6 OCn-Pins >(scheinbar die Ausgangspins von den PWMs) ausfindig gemacht und >teilweise auch getestet (OC1A auf PB5 und OC5A auf PL3)...: Dafür brauchst du Stunden? OC1A/B/C Pin24/25/26 OC3A/B/C Pin5/6/7 OC4A/B/C Pin15/16/17 OC5A/B/C Pin38/39/40 OC0A/B Pin26/1 OC2A/B Pin23/18 MfG Spess
-
Thread
Suche schnellen µC
verwende dazu keine Schleife, das spart mir ein paar Takte. Ganz zum Schluß lade ich mir noch von 0x00c0 bis 0x00c5 die Daten für den IRF und gib dann alle 3 bytes auf den jeweiligen Port aus. Bild im Anhang. Nun meine Frage. Könnte man das noch irgendwie schneller oder besser machen, oder kann man
Multiplexbetrieb gebe ich dann die pwm Daten folgender Maßen aus: > Ganz zum Schluß lade ich mir noch von 0x00c0 bis 0x00c5 die Daten für > den IRF und gib dann alle 3 bytes auf den jeweiligen Port aus. > Nun meine Frage. Könnte man das noch irgendwie schneller oder besser > machen, oder kann man das so lassen
-
Thread
Uhrzenbausatz mit At89C2051 funktioniert nicht
Segment. Tja, mehr als 20mA schaffen PD1, PD2, PD3, PD4 nicht "Output Low Voltage(4) (Port A, Port B, Port D) IOL = 20 mA, VCC = 5V", also ist bei 2.5mA pro Segment Schluss und das machen die 1k2, das auf 4 Stellen verteilt macht deine Helligkeit
Michael B. schrieb im Beitrag #5876599: > Tja, mehr als 20mA schaffen PD1, PD2, PD3, PD4 nicht "Output Low > Voltage(4) > (Port A, Port B, Port D) IOL = 20 mA, VCC = 5V", also ist bei 2.5mA pro > Segment Schluss und das machen die 1k2, das auf 4 Stellen verteilt macht > deine
-
Thread
2,4 Ghz Kommunikation
Torsten M. schrieb im Beitrag #6363348: > Im Anhang habe ich mal zwei Bilder von dem Drucker-Port-Testaufbau Schaut vernünftig aus. Aber wehe du hast C2 und C3 nicht eingebaut. Dann aber ..... ! Und wehe du hast C1 am NRF24 nicht bestückt! Dann aber ..... ! Das muss ein keramisches C sein,
die Platine aufgelötet (Bild im Anhang) es gibt jedoch kleine Unterschiede was die größe betrifft. C2 & C3 sind 47nF und C1 sind 100nF aber das dürfte ja kein Problem sein. Ich komme mit 7,5V an die Eingangsbuchse und dann über den Spannungsregler auf 5V und dann noch über 3 Dioden. Habe die Antenne
-
Thread
Port C 6 hat nur 2,7 volt warum?
Hallo, Ich arbeite mit einen Atmega32 und möchte gerne den PortC 6 als I/O benutzen. Klappt auch, doch nur mit 2,7 volt. PortA 1 hat ca. 5, 3 volt. Den Wert möchte ich an Portc 6 haben. Wie mache ich das? Vielen Dank
PC6 hat nichts mit dem JTAG-Interface (PC2-PC5) zu tun. PC6 und PC7 können entweder als normale Port-Pins oder als Anschlüsse für einen Uhrenquarz für Timer2 verwendet werden. Um sie als normale Port-Pins zu verwenden, muss das Bit AS2 im
-
Thread
PORT-PIN Config
PORTD_5 #define K2LED PORTD_6 //EINGÄNGE #define RX PORTD_0 #define SYNC PORTD_3 DDRD = ((1<<TX)|(1<<K1LED)|(1<<K2LED)|(1<<TLED))& ~((1<<SYNC)|(1<<RX)); PIND = 0b00000001;
elektrisch aufgezwungen wird. (Und bei den neueren AVR-µC kann man durch Setzen eines Bit im Pin Register den zugehörigen Pin im PORT Register toggeln. Aber das ist wohl nicht das, was du hier vor hast) D.h. Lass das PIN-Register in Ruhe. Es gibt nichts
-
Thread
Umschalter zwischen 3 Taktgeberquellen gesucht
Dieter S. schrieb im Beitrag #6958398: > Leider sind alle Pins des uC schon belegt, daher kann ich diesen Weg > nicht gehen. Mit welchen Pins willst du den Umschalten? für 3 Quellen brauchst du ja auch mindestens 2 Pins? Stehe gerade etwas auf dem Schlauch
MUX. Falls vielleicht hast Du ja ein Produkt im Kopf und kannst uns dieses nennen. >Mit welchen Pins willst du den Umschalten? für 3 Quellen brauchst du ja >auch mindestens 2 Pins? Genau, ich brauche noch genau 2 Pins für das Umschalten. Allerdings benutze ich keinen ARM, PIC o.ä. uC sondern einen
-
Thread
Pollin MOTOROLA VIP1710
. Da drinnen werkelt ein TDA10046A. Aber jetzt zur Schnittstelle, die scheint wie folgt zu sein. Pin Belegung 1 VT 2 IF-OUT 3 VSANT 4 5V 5 3.3V 6 3.3V 7 N.C. 8 RST 9 ERROR 10 PSYNC 11 DATE 12 CLK 13 D0 14 D1 15 D2 16 D3 17 D4 18 D5 19 D6 20 D7 21
@Moe: Ich habe mal in den Sourcen (DevKit) nachgeblättert, 2-3-5-7 und eben 5-5-7-7-7-3-3-2-8-3-3-5-5-5-0-3-3-3-2-2-8-8-4 sind in boot/xilleon225/loader explizit gelistet (7-5-3-2 jedoch nicht). Die letztere Folge ist ein Toggle, d.h. man bekommt den "fb_console
-
Thread
Höchstmögliche Schaltfrequenz an einem normalen AVR Ausgangs-Pin
Hallo, ich weiß nicht genau was für Signale du ausgeben willst. PWM kann der Atmega328 auf pin: 5 und 6 max 62,5kHz 3, 9, 10 und 11 max 31372.55 Hz rund 31kHz Ohne pwm braucht er ca 1µs um ein und aus zu schalten, aber wenn ich das messe ist das keine saubere Rechteckkurve.
auf high 2.) Sie holt sich den Preload in das X-Register und decremntiert X bis auf 0 3.) Die Statemachine schalten den Output-Pin auf low 4.) Die Staetmeachine holt sich den Preload in das X-Register
-
Thread
I2C Kein ACK :-(
Elektrischer Anschluss: PIN1: 3,29V (gemessen) PIN2: Offen PIN3: Offen PIN4: SCL (siehe Oszibild - CH Gelb) PIN5: SDA (siehe Oszibild - CH Blau) PIN6: 0V (gemessen) PIN7: Offen PIN8: 0V (gemessen, über 10k Pulldown an GND
directions of the SDA_IN (PORTE Pin 0), SCL_IN (PORTE Pin 1), // SDA_OUT (PORTE Pin 2) and SCL_OUT (PORTE Pin 3) signals are configured // in the ports_init function // TWIE Master initialization // Master interrupt
-
Thread
"Einfache" Kommunikation zwischen 2 Atmegas
hier kommen wir zur eigentlichen Frage: Wenn ich das Tastenfeld vom Bedienteil auf einen anderen µC (z.Bsp. ATTiny44) gebe, dort die 10 Eingänge auf ein 5-bit Muster reduzieren und dieses auf einen Port ausgebe...kann der "Hauptmikrocontroller" dann einfach die 5-bit über 5 Pins einlesen? Oder gibt
Hallo Steffen, Steffen Jü schrieb im Beitrag #3092387: > Läuft alles auf VCC=5V. 7-Seg. und LEDs müssten bei 330R auch im oberen > Berreich sein (alle 2V/10mA). Poti sollte zwischen 1k-1M sein-->500k, > Pulldown=10k Standart, ISP mit 5V. 3x100n pro VCC Pin Mir erscheinen 10mA
-
Thread
Multiplex mit gemischten Ports
besetzt sind. Kann mir jemand einen Wink > geben - vllt. eine Bitmaske o.ä? Erstmal brauchst du 2 Arrays, eines für die C- das andere für die D-Daten. Oder ein zweidimesionales. Was eigentlich dasselbe ist. Dann brauchst du 2 Bitmasken. Auch wieder für jeden Port eine. Beispiel: Pins 1, 4, 5 an Port C Bitmaske: unsigned char MaskC = (1 << 1) | (1 << 4) | (1 << 5); PORTC &= ~(MaskC); //Port C auf 0 PORTC |= Array[0][7] //Ausgabe des Port-C-Anteils für Ziffer 7 usw... mfg
-
Thread
Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb
um analoge Werte zu lesen. Könnte man diese Ports anderswo hin verlegen, so dass PC4 und 5 für den I2C freiwerden? Ich benutze einen ATMega328P, bekomme ich Probleme mit dem verfügbaren Speicher wenn noch die I2C-Bibliothek hinzukommt? Gruß und
Michael schrieb im Beitrag #4023389: > Allerdings sind die entsprechenden Ports PC4/5 schon mit dem > Feature-Port verbunden um analoge Werte zu lesen. Könnte man diese Ports > anderswo hin verlegen, so dass PC4 und 5 für den I2C freiwerden? Ja, das geht natürlich. In demm
-
Thread
Drehregler an uC - geht das?
So, um das Problem mit der Spannung zu umgehen, hab ich einfach geschaut, wo am uC noch 5 Volt Spannung an zwei Pins rauskommen und einfach dort diese beiden Ports mit dem Dreher verbunden. Das sind beim ATmega16 in meinem Fall (die B-Ports werden schon verwendet) die Pins PC2 und
) { TCCR2 = _BV (CS22) | _BV (WGM21); OCR2 = 124; TIMSK = _BV (OCIE2); DDRC = 0xf3; // PortC als Ausgang, 1111 0011, bis auf PC2,PC3 PORTC = 0x0c; // 0000 1100 sei (); } SIGNAL (SIG_OUTPUT_COMPARE2
-
Thread
Port/Pin-deklaration
an Pin 1 (1 << DDB2) | (1 << DDB3) | (1 << DDB4); [/C] > Einfach nur der Übersicht halber, damit ich das für mich schön > auskommentieren kann, was an welchem Pin hängt. Wenn du das kommentieren willst, dann gib den Pins zb per #define schöne Namen [C] #define PERIPHERY_DDR DDRB #define PERIPHRY_PORT PORTB #define ALARM_LED_PIN PB0
-
Thread
5V auf 3.3V für uC
ich brauche ein Regler ( Schaltregler oder Linearregler) der mir 5V in 3.3V regelt. Die 3.3V brauche ich für mein uC der max. 60mA aufnehmen soll bzw. braucht. Meine Frage(n): Nimmt man für solche Anwendungen eher ein Schaltregler oder Linearregler? In einem anderen
und erlaubt laut Datenblatt 0,8A bis 1,5A. So einen Bratmaxe braucht man hier nicht. Für "USB mit 3.3V uC" habe ich schon Regler in SOT223 Gehäusen genommen die ca. 150mA (ggf. mehr) erlauben. Dazu nach "LDO 5V 3.3V" in den Webshops suchen
-
Thread
MMC SD library FAT16 FAT32 read write
SPI_Clock 5 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk) #define SPI_SS 2 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist (CS)
habe eine "SD-Platine", bei der folgende Pinbelegung gegeben ist: Dat2 - unrouted CS - PIN 3 (über 1,8k/3,3k Spannungsteiler) DI - PIN 5 (über 1,8k/3,3k Spannungsteiler) GND - GND VCC - VCC über LF33CV CLK - PIN 7 (über 1,8k/3,3k Spannungsteiler) GND - GND
-
Thread
Schutzbeschaltung für 5V Dig. IO Port
von euch wissen, wie ihr so etwas lösen würdet. Ich muss von einer Platine mehrere parallele Busse (3x 8Bit) wegführen. Diese müssen dabei folgende Spezifikation einhalten: Bidirektional, Spannung: Low <0.8V, High >2.4V (5V Typ). Strom: >= 20µA (High), -10µA (Low) Frequenz: bis 100kHz. Design,
Kurzschlüsse, Fremdspannunngen, usw. verursachen. Zwischen meiner Schaltung und dem Übergabepunkt liegen 2-3m Kabel, geschirmt. Jeder Bus hat 8Bit Daten, 4x GND, 2x5V (el. Spezifikation s. Oben).
-
Thread
2 Frequenzen einstellen und ausgeben +Display Anzeige
in Zeile2 Frquenz2. Mit 6 Pins an Port-C stell ich die Frquenz ein. + und - 100, 10 oder 1 ... An dem PortB Pin 5 kann ich zwischen den beiden Kanälen zum einstellen wechseln. Ich berechne die Zeit Zwischen
eine ziemlich große Zahl. Vermutlich meinst du 0b111111, aber dann kannst du das auch gleich als 0x3F hinschreiben. Noch besser, sowas packt man in ein #define obendrüber und gibt ihm damit einen sinnvollen Namen: [c] #define BUTTONMASK 0x3f /* mask of button input pins on port C */ ... if
-
Thread
AVR: Pin-Abfrage ändert Pins am gleichen Port
&= ~( 1 << PIN_INFO_RST ); PORT_INFO |= ( 1 << PIN_INFO_RST ) die DDR_INO #defines sind in wdc_config.h Betroffene Codestelle in wdc_if_p8000.c Funktion wdc_read_data_from_p8k() Ist halt nur "nicht mal eben
und dann aktivieren somit ist das schonmal schwer zu realisieren. Mit gemischten Input- und Output-Pins stelle ich mir das dann noch schwerer vor. Es geht ja um 2D5 in meiner Schaltung. Die 3 Input Pins RST, /ARDY und /TE muss ich "permanent" abfragen und auf Pegelwechsel reagieren. Die Pins STATUS0
-
Thread
Auswahl I2C Bus Adresse durch DIP umschaltbar
und A2 die Dip Schalter auf der Platine um die I2C Adresse einzustellen. PA1, PA2 und PA3 sind die Pins am Attiny 841 und werden nur als Eingang benutzt, nicht als Ausgang. Dabei sind die PINS PA1, PA2 und
// Adresse 0x26, A0 und A2 auf GND, A1 offen break; case S3: I2C_SLAVE_ADDRESS = Adress_4; // Adresse 0x28, A0 und A1 auf GND, A2 offen break; case S1|S2: I2C_SLAVE_ADDRESS = Adress_5;
-
Thread
3x4 Keypad an I2C Beschaltung
Hallo Leute, ich stehe gerade mal wieder auf dem Schlauch. Folgendes Problem: Ich habe ein 3x4-KeyPad (membrane), entsprechend 4 Reihen und 3 Spalten. Um die Pins auf dem µC zu sparen, habe ich diesen an einen I2C IC angeschlossen (PCF8574AP). Das Auslesen des ICs ist kein Problem, alles
irgendwie habe entweder keine Signale oder die sind an den ganzen Reihen oder Spalten gleich. 1 2 3 4 5 6 7 8 9 * 0 # z.B. 1, 2 oder 3 liefern am Bus 0x32. Übersehe ich da was oder mache ich das gänzlich falsch? Bin für jeden Tipp dankbar. Gruß
-
Thread
STM32 I2C Probleme
(I2C1, wert); timeout=I2C1_TIMEOUT; while ((!I2C_GetFlagStatus(I2C1, I2C_FLAG_TXE)) || (!I2C_GetFlagStatus(I2C1, I2C_FLAG_BTF))) { if(timeout!=0) timeout--; else return(P_I2C1_timeout(-5));
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; // enable pull up resistors GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; //SDA GPIO_Init(GPIOA, &GPIO_InitStruct); // configure I2C2 I2C_InitStruct.I2C_Mode = I2C_Mode_I2C; // I2C mode I2C_InitStruct.I2C_AnalogFilter = I2C_AnalogFilter_Enable
-
Thread
Bitzuweisung eines PortPins
nicht darauf und finde auch nichts. Ich stell mich wahrscheinlich nur blöd an. Ich möchte einem Port eine 1 bzw 0 zuweisen und möchte einen "Trick" anwenden. [c] #define LED PB1 // PB1 als LED definiert #define ein 1 // habe auch schon #define ein true versucht #define aus 0 uint8_t
Hallo, ich habe jetzt die Zuweisung in einem struct gemäß den anderen Beiträgen vorgenommen: [c] struct test { unsigned b0:1; unsigned b1:1; unsigned b2:1; unsigned b3:1; unsigned b4:1; unsigned b5:1; unsigned b6:1; unsigned b7:1; } __attribute__((_packed_)); #define
-
Thread
Wie kann ich folgenden C-Code mit einer Schleife kürzer machen?
#define LED_2_BIT PD1 #define LED_3_PORT PORTD #define LED_3_BIT PD2 #define LED_4_PORT PORTD #define LED_4_BIT PD3 #define LED_5_PORT PORTD #define LED_5_BIT PD4 #define LED_6_PORT PORTD #define LED_6_BIT
[c] typedef struct { volatile unsigned char *port; unsigned char pin; }t_port; t_port led[]= { { &PORTD , PD0 }, { &PORTD , PD1 }, { &PORTD , PD2 }, { &PORTD , PD3 }, { &PORTD
-
Thread
Bit setzen in C Gesperrt
Befehle mit MOV und ORL. Dadurch ist das Programm zu langsam. Danke schonmal im Voraus. Also, PortC gibts beim 8051 nicht, es gibt P0, P1, P2, P3. Demnach ist PortC z.B. P3 und der hat 8 BIT, P3_0, P3_1... P3_5 ist bei Verwendung des Keil C Compiler: sbit meinPin = P3^5; und dann: meinPin
im Voraus. > > Also, PortC gibts beim 8051 nicht, es gibt P0, P1, P2, P3. Ja, PortC sollte nen dicken Fehler bringen. Man muß schon die richtigen Ports benutzen: [c] P3 |= 1<<5; [/c] macht auch nirgends ein MOV, sondern
-
Thread
5 Tasten am ADC
: 459 Taster 2 : 609 Taster 1 : 760 [c] if(adc <= 1000) t=1; if(adc <= 740) t=2; if(adc <= 589) t=3; if(adc <= 439) t=4; if(adc <= 287) t=5; if(adc <= 134) {t=0; t0=0; t1=0; t2=0;} [/c]
4 : 307 > Taster 3 : 459 > Taster 2 : 609 > Taster 1 : 760 > > > [c] > if(adc <= 1000) t=1; > if(adc <= 740) t=2; > if(adc <= 589) t=3; > if(adc <= 439) t=4; > if(adc <= 287) t=5; > if(adc <= 134) t=0
-
Thread
Anforderungssammlung CAN Hausbus mit PIC µC
AUS !!!!! ID_1st = 118 ID_2nd = 150 RxTx_Data[0] = 1' PortC ' Kompletter Port mit 8 Bit in RxTx_Data Byte 0 RxTx_Data[1] = 2 RxTx_Data[2] = 4 RxTx_Data[3] = 8 RxTx_Data[4] = 16 RxTx_Data[5] = 32 RxTx_Data
wird ja kein LDO mehr eingesetzt) Die Standard-CAN-Spule wird vermutlich durch: Epcos B82789C0104N00(2)/(1) 0A15 250V smd_4pin_5.2x3.2x3mm(LxBxH) EIA 1812 ersetzt. (Kleiner) --------------------------------------------------------------------------- ---------------------
-
Thread
8x32 LED-Matrix-Lauflicht per I2C
Weils Pi mal Daumen war und nicht durchgerechnet, also mach ich das jetzt mal: Als Portexpander 2 Stück PCF8575 (leider SO24, aber auch als Anfänger lötbar). Um Beide Ports zu beschreiben müssen für jeden IC 3 bytes rüber. Also übern I2C huscht: start, 3 bytes, stop, start, 3bytes, stop Macht
Buchstabe entsteht auf der Anzeige? Martin Wende schrieb im Beitrag #2861572: > Als Portexpander 2 Stück PCF8575 (leider SO24, aber auch als Anfänger > lötbar). > Um Beide Ports zu beschreiben müssen für jeden IC 3 bytes rüber. > Also übern I2C huscht: start, 3 bytes, stop, start, 3bytes, stop
-
Thread
Initialisierung LCD EA DOG-M 162 3,3V 8 Bit
halbe Forum durchsucht - aber ohne Erfolg! Problem: Ich möchte ein EA DOG-M 162 LCD-Display an 3,3V mit 8 Bit Datenbus betreiben. µC: ATmega32 mit 6 MHz (auch schon mit 1 MHz versucht) E,RS,RW an Port B (Pin 0 1 2) Daten an Port C (8 Bit) RST,PSB,VIN fest an +3,3V CS fest an GND Als Kondensatoren
#define LCD_RW 1 #define LCD_E 2 #define LCD_BL 3 #define LCD_PORT PORTC // Port C #define LCD_IN PINC #define LCD_DDR DDRC #define LCD_DataOut 0xff #define LCD_DataIn 0x00 #define BusyBit 7 [/c] Viel Erfolg
-
Thread
I2C und versehentliche Kurzschlüsse
Schutz gesehen habe (der auch hohe Frequenzen > zulässt). Weil er bei echtem, korrekt umgesetzten I2C auch nicht notwendig ist. Aber ja, wenn man bei einem Mikrocontroller das I2C komplett "zu Fuß" macht und versehentlich den Pin auf High anstatt auf Tristate setzt, wäre das ein Kurzschluss. Merkt
Moin, ist vielleicht ein alter Hut: Vor langer Zeit programmierte ich eine soft-I2C für einen uC ohne "TWI" HW. Um Open-Drain zu simulieren, setzte ich die beabsichtigten beiden Port Pins auf permanent LOW und schaltete mit dem DDR Register zwischen Input Mode und Aktive Daten. Ein