-
Thread
Alle Pins eines Ports als 1 definieren (8051)
= IOB^1; sbit LED3 = IOB^2; sbit LED4 = IOB^3; sbit LED5 = IOB^4; sbit LED6 = IOB^5; sbit LED7 = IOB^6; sbit LED8 = IOB^7; sbit TASTE1 = IOA^0; sbit TASTE2 = IOA^1; sbit TASTE3 = IOA^2; sbit TASTE4 = IOA^3;
Hast Du mal die vollständige Bezeichnung Deines 8051. Üblicher Weise heißen die Ports P0,P1,P2,P3 und die kann man natürlich Byteweise zugreifen. [c] P0 = 0; P0 = 0xFF; [/c]
-
Thread
LCD an Arduino Nano via I2C
? Wenn ich das hier [c] // Set the pins on the I2C chip used for LCD connections: // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address [/c] mit dem hier [c] #define LCD_D4_PIN 0 #define LCD_D5_PIN 1 #define LCD_D6_PIN 2 #define LCD_D7
-
Thread
I2C auf dem STM32 F411RE
GPIO: [c] rcc_enable_clock(RCC_GPIOA); gpio_initpin(PORTA, 5, AF_PP, GPIO_HS, AF5_SPI1_TO_2); //CLK (SPI1) void i2c_init(unsigned int i2c_base, unsigned int apb_clk, unsigned int i2c_clk){ volatile
konkretes Board, drei Servos, zwei Schrittmotoren und fünf Sensoren, zwei kommunizieren via SPI, drei via I2C. Daher hab ich 10 Pins, drei davon sind PWMPins die haben PWMTimer usw. Da möchte ich schreiben können [c] Servo steerig(STEERING_PORT, STEERING_PIN); Compass compass(COMPASS_PORT, COMPASS_PIN
-
Thread
Kleinen uC gesucht
Hallöchen, welches sind die kleinsten (Baugröße) uC im DIP-Gehäuse mit mind. folgenden Eigenschaften: -3,3V oder 5V -1 AD-Port (>= 8 Bit) -2 Digitalports -ISP-programmierbar (evtl. auch unter Verwendung der 2 Dig.-Ports) -2 Ports für RXD/TXD (nice2have
hätte der LPC824 alle gewünschten Features (zur Not auch 3 echte UARTs). Der Rest der Anforderungen passt auch und lässt sich per LPClink vernünftig debuggen (2 Pins).
-
Thread
[ATSAM3] Frage zu USB
not accepting address 16, error -32 hub 2-1:1.0: unable to enumerate USB device on port 2 hub 2-1:1.0: state 7 ports 8 chg 0000 evt 0004 hub 2-1:1.0: port 2, status 0100, change 0001, 12 Mb/s hub 2-1:1.0: debounce: port 2: total 100ms stable
im Internet gefunden habe. Im Datenblatt zum Quarz (http://www.reichelt.de/Quarze/18-4320-HC49U-S/3/index.html?;ACTION=3;LA=446;ARTICLE=72530;GROUPID=3173;artnr=18%2C4320-HC49U-S;SID=10UKkFF38AAAIAADypor0545d7ac1f2b641d6943f8e7d82265214) steht folgende Tabelle: Frequency | 3~90Mhz |
-
Thread
PCF8574 I/O 5V trotz 3.3V SDA/SCL?
Wenn der 8574 mit ca. 4V betrieben wird, dann passen sowohl die 3,3V-Pegel vom I2C als auch die 5V-Pegel vom Display.
Das Board an sich kann kein I2C, also nur per Software. Ich habe insgesamt 20 I/Os, von denen 8 Stück, ein Port, 5V tolerant sind. Alle Hardware, die da per I2C ran soll, läuft mit 5V. Wenn da irgendwann mal was mit 3.3V kommen soll
-
Thread
M4 (samd51) läuft nicht als i2c master
SERCOM4->I2CM.CTRLA.reg = SERCOM_I2CM_CTRLA_ENABLE; // Aktivieren while(SERCOM4->I2CM.SYNCBUSY.bit.ENABLE); PORT->Group[1].PMUX[4].bit.PMUXO = 3; PORT->Group[1].PMUX[4].bit.PMUXE = 3;
zu hoch... Ich nehme in 3V3 Systemen 1k .. 2k2 (je nach Leitungslänge, I2C-Speed und potenziellen Störern); Aber das wird natürlich erst relevant, WENN aus den (richtigen) Ports etwas herauskommt... VG, Stephan
-
Thread
4 Pins von PortC tun nicht was sie sollen
zweimal dieselbe Platine aufgebaut, weil ich erst dachte der Chip ist hin. Im Anhang ist das Bild. Pin 2,3 und 5 von PortC sind die ganze Zeit high und Pin 4 ist die ganze Zeit low. Ich hab schon im ausgeschalteten Zustand gemessen. Die Pins sind nicht kurzgeschlossen sondern hochohmig. Aber aktiv
schrieb im Beitrag #2602067: > BTW: Wie genau kommt das zu Stande? Das steht im Datenblatt: diese Pins werden für das JTAG-Interface gebaucht. Und es ist ein allseits beliebter Fehler, wie eine Suche hier im Forum zeigt: http://www.mikrocontroller.net/search?query=Pin+2%2C3+und+5+von+PortC
-
Thread
LCD AVR C ROUTINEN
LCD_EN PB2 //******************************************************** #define LCD_D0DDR DDRB //4 daten ,pins ,ddr ,port #define LCD_D1DDR DDRC #define LCD_D2DDR DDRB #define LCD_D3DDR DDRB
ich bin was c betrifft hier absoluter neuling, von daher mal die frage: ich habe wie folgt angeschlossen: 1 Vss GND 2 Vcc 5V 3 Vee GND 4 RS PB4 am AVR 5 RW GND 6 E PB5 am AVR 7 DB0
-
Thread
VS1063 MP3 abspielen
GPIOA #define CS_PIN GPIO_Pin_15 #define BSYNC_PORT GPIOA #define BSYNC_PIN GPIO_Pin_8 #define RESET_PORT GPIOA #define RESET_PIN GPIO_Pin_12 uint8_t HelloMP3[] = { 0xFF,0xF2,0x40,0xC0,0x19,0xB7,0x00,0x14,0x02,0xE6,0x5C
0xD8,0xB7,0xAD,0x5D,0x3E,0xAF,0x6E,0xBE,0x66,0x83,0xA4, /* ...]>.n.f.. */ 0xE3,0xC2,0xE0,0x29,0x43,0x87,0x5F,0x4F,0x27,0x9C,0x2C, /* ...)C._O'., */ 0xD0,0x91,0xF3,0x87,0x9B,0x54,0xED,0xD1,0xB4,0xF3,0x39, /* .....
-
Thread
3x3x3 LED Matrix - einzelne Ebenen ansteuern
.1 = 0 'PortD.1 auf low (Ebene 2) 'Portd.2 = 0 'PortD.2 auf low (Ebene 3) 'nachfoldend: alle Spalten auf high Portc.0 = 1 Portc.1 = 1 Portc.2 = 1 Portc.3 = 1 Portc.4 = 1 Portc.5 = 1 Portc.6 = 1 Portc.7 = 1 Porta.7 = 1[/c] Zeile 11, 12 und 13 bewirken nichts, egal, ob ich sie auskommentiere oder nicht!
-
Thread
5V Solid-State-Relais über 3.3V Logik steuern
Hallo zusammen, ich möchte ein SSR von Weidmüller (https://eshop.weidmueller.com/de/top-5vdc230vac-01a/p/8951160000) mit einem Raspberry Pi 5 steuern. Der Raspberry Pi wird über ein 5V Spannungsversorgung bestromt, die GPIO Pins arbeiten jedoch mit 3.3V Logik. Das Relais hat eine Steuerspannung
Nemopuk schrieb im Beitrag #7899816: > Einfach A1 an 5V hängen, und A2 an den I/O Pin (Ausgang) des > Mikrocontrollers. Das ist die perfekte Lösung. Mit 1,7V kriegt man noch keine 2 LEDs in Reihe an.
-
Thread
Tachoprogramm mit ATMega8535 C-Problem
=0) { PORTB = 0xf6; } else if(v1==1) { PORTB = 0x14; } else if(v1==2) { PORTB = 0xba; } else if(v1==3) { PORTB = 0x9e; } else if(v1==4) { PORTB = 0x5c; } else if(v1==5) { PORTB = 0xce; } else if(v1==6)
wird durch eine einfache 2 ersetzt. Macht der Präprozessor das, dann steht da while( 2 == 0 ); Nicht ganz das was du willst. Du willst: Die Schleife soll solange wiederholt werden, wie der Pin 2 vom Port C den
-
Thread
STM32: I2C-Master setzt ARLO-Flag (arbitration lost)
Irgendjemand am Bus( wahrscheinlich der Master) ist da nicht auf openDrain konfiguriert! Wieso eigentlich 5V? Der STM kann nur max 3,6! Bist du sicher, dass deine für die i2c verwendeten Ports 5V-kompatibel sind?
verstanden... dummschwaetzer schrieb im Beitrag #6633009: > Bist du sicher, dass deine für die i2c verwendeten Ports > 5V-kompatibel sind? Ja, siehe Pin Details Bild weiter oben, PB6 und PB7. An dem PCF8574T ist ein LCD-Display dran, wenn ich nur 3,3 V anschließe, zeigt das Display keine Rechtecke
-
Thread
ATmega16 liefert kein Signal an allen Pins außer I2c
Lothar M. schrieb: >> Danach hat der in der Schaltung verbaute ATmage16 am Port D keine >> Signale mehr geliefert. Also neu geflasht und es kommt nur noch am I2c >> Bus ein Signal > Wie stellst du das fest? Ich messe an den entsprechnenden Pins mit einem Oszi. Am SCL Pin
ich habe ja das Problem teilweise gelöst. Allerdings gibt es nun ein neues Problem. Der Hardware-I2c liefert kein Signal am SDA-Pin. Am SCL kommt ein Signal. Durch die Port-Register kann ich den Pin schon ansteuern, aber halt nicht durch die I2c Register. Den Controller habe ich auch schon gestauscht
-
Thread
T6963C Versorgungspannung
Frage: Braucht man bei diesem Display (Anhang) bei der Versorgungsspannung eine negative Spannung? An PIN 2 und 3 kommt dann wohl Plus 5V und GND. Was kommt denn dann an PIN 4 (Versorgung Display)? Was an PIN 1 (Frame Ground)? Einmal steht bei Versorgungsspannung Display min. 8V an PIN 4. Mal aber auch
Der PIC ist wirklich defekt. Ich habe jetzt nur den PORTA bedient. Alle Pins ein. Ohne alles andere. Tut sich nichts mehr in RA0, RA2 und RA3. Nur RA1 geh auf H. Bidde ma neuen kaufen.
-
Thread
Frage zum Sparten 3A
CLK0=>open, CLK90=>open, CLK180=>open, CLK270=>open, CLK2X=>CLK2X_dll, CLKDV=>open, LOCKED=>LOCKED2X); clk2xg : BUFG port map (I=>CLK2X_dll, O=>CLK2X_g); rstsrl : SRL16 port map (D=>LOCKED2X, CLK=>CLK2X_g, Q=>LOCKED2X_delay, A3=>logic1, A2=>logic1, A1=>logic1, A0=>logic1); RESET4X <= not LOCKED2X_delay; dll4x : CLKDLL port map (CLKIN=>CLK2X_g, CLKFB=>CLK4X_g, RST=>RESET4X, CLK0=>open, CLK90
-
Thread
LED an 3,3V µC
Hallo Ich bin mir nicht sicher. Ich habe einen ATMEGA88 mit 3,3V Spannungsversorgung. Über einen Port möchte ich gerne eine grüne LED schalten. Laut Datenblatt LED: I = 20mA U = 3,2V Daraus folgt ich brauche einen Vorwiderstand von
Die neuen weißen/blauen LEDs leuchten ab 2.5V, bei 2.7V sind sie dann hell genug (1/4 der Helligkeit) und bei 2.9 bis 3.2V haben sie dann ihre volle Helligkeit erreicht. Ich würde das erst mal mit einem größeren Widerstand testen. Du nimmst
-
Thread
I2C am ATMega88
i2cmaster.h" ... PORTC |= (1 << 4); //pullups PORTC |= (1 << 5); while(1) { _delay_ms(500); i2c_init(); _delay_ms(50); i2c_stop(); _delay_ms(50); i2c_init(); _delay_ms(50); i2c_start_wait
Habe das Problem gefunden! In dem Assembler-Code der I2C Bibliothek von Peter Fleury "i2cmaster.S" werden die Werte für SDA_PORT und SCL_PORT ohne check mittels "#ifndef" einfach mit falschen Werten überschrieben: #define SDA_PORT PORTD
-
Thread
Analogmux am µC - was läuft schief?
Also ich habe den µC port einfach mal auf Eingang (high impedance) geschaltet und die S1-3 Pins des MUX händisch auf 5 volt gelegt, dann klappt alles. Der HEF ist also funktional und richtig beschaltet. Dann nochmal den
Ach ist ja interessant. [c]DDRA = 0b00111111;[/c] anstatt [c]DDRA= (1<<PINA0) | (1<<PINA1) | (1<<PINA2) | (1<<PINA3); // MUX Control Signal (Output) DDRA= (1<<PINA4) | (1<<PINA5);[/c] und es funktioniert...
-
Thread
TOISWITCH - IoT I/O-Server für ESP8266
[3].colour_channel = BLUE; gpio_pins[3].gamma_corrected = 1; gpio_pins[3].status = PORT_ON; strcpy(gpio_pins[3].name, "LED"); device_ports = 4; } [/c]
... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: a4:e5:7c:15:df:c4 Uploading stub... Running stub... Stub running... Manufacturer: 5e Device: 6014 Detected flash size: 1MB IO15 und GND müssen mit 2k2 verbunden werden. EN muss auf 3V3 gelegt werden
-
Thread
ATtiny13 - PB0 bis PB5 verhalten sich unterschiedlich/"inkonsistent"?
; } }</c> Ziel ist es, an BP0 bis PB5 LEDs zum Blinken zu bringen. Dazu wechsele ich das gelbe Kabel einfach an die einzelnen PINs. Seltsamerweise blinkt die LED nur an PB0 und PB4. An BP1, PB2 und PB3 bleibt
ich im Buch viel weniger Stellen sah, da hab ich im Datenblatt > gelesen, dass es ein sechs Bit Port ist Der Port ist intern genauso 8 Bit breit. Nur kannst du eben 2 Bits so nicht benutzen, weil sie nicht auf Pins herausgeführt sind. Das ist alles.
-
Thread
Benötige Hilfe beim programmieren eines Microkontrollers!
"Most port pins have alternate functions in addition to being general digital I/Os. Figure 13-5 shows how the port pin control signals from the simplified Figure 13-2 on page 76 can be overridden by alternate
. Das angehängte Bild zeigt diese Zuordnung. Ganz außen in Pink stehen die Arduino Pin Nummern. In beige stehen die "echten" Bezeichnungen, die der Chiphersteller vergeben hat. Der pinke Arduino Pin 19 ist in Wirklichkeit PC5 (Port C bit 5). In Arduino kann man anstelle der Nummer
-
Thread
USB I2C Interface Hardware Software
STLink V3 geht auch, kann I2C/SPI/CAN und UART.
loss and worse! I will probe file /dev/i2c-17. I will probe address range 0x08-0x77. Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- --
-
Thread
AVR, virtual port, power save
diese dedicated toggle/clear/set registers und bit-accessible I/O memory space registers (virtual ports) nutzen. //fast digital read/write typedef struct { uint8_t p0:1, p1:1, p2:1, p3:1, p4:1, p5:1, p6:1, p7:1;} pin_t; #define pinModeFast(b,v) _PORTA_DIR(b,v) #define _PORTA_DIR(b,v) ((pin_t
Hier mal klassisch und mit meinem SBIT Macro: [c] struct bits { uint8_t b0: 1, b1: 1, b2: 1, b3: 1, b4: 1, b5: 1, b6: 1, b7: 1; } __attribute__((__packed__)); #define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin) #define SBIT(x,y
-
Thread
STM32 / C++: Initialisierung von Memberobjekten einer Klasse
(instanz) { case UART1: TxPin(portA, Pin3); //Konstruktoraufruf RxPin(portA, Pin5); break; //usw } } [/c] Leider geht das nicht. Es funktioniert nur: [c] Uart::Uart(instanz) : TxPin(portA, Pin3
; Pin outPin; } pins[] = { { PortA, Pin5, PortA, Pin3 }, { PortC, Pin3, PortD, Pin1 } }; public: Uart(UART instanz) : OutputPin { pins[instanz].outPort
-
Thread
Brauche Hilfe AT Mega 8 im Raum Bremen evlt. vor Ort
Ich gaube ich erinnere mich. Port C0 heißt im Programm C1 weil 2hoch null gleich 1 ergibt. Port c1 heißt im Programm c2 weil 2hoch eins gleich 2 ergibt. und so weiter. Und C5 im programm wäre dann der vierer und der einser zusammen
als auch im Code. Hier mal das Prinzip: https://www.mikrocontroller.net/topic/292251#3113090 [c] #include "sbit.h" #define TASTE PIN_D2 #define ABSAUGUNG PORT_D5 //.. if (TASTE) ABSAUGUNG = 1; //.. [/c]
-
Thread
define Ausdruck mit shift in 2 Richtungen
#define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin) #define SBIT(x,y) SBIT_(x,y) #endif [/c] Man kann schreiben: [c]SBIT(PORTA,1) = 0; SBIT(PORTA,2) = 1;[/c] und [c]if ( SBIT(PINA,0) == 0
9a sbi 0x18, 3 ; 24 2de: 01 c0 rjmp .+2 ; 0x2e2 <main+0xc> } else { LCD_R_D0_OUT&=~(1<<LCD_P_D0); 2e0: c3 98 cbi 0x18, 3 ; 24 }
-
Thread
Library für EA-DOGM Grafikdisplays inkl. Font-Generator
display benutzen kann ?!?!? bisher angeschlossen wie folgt: am spi des atmega32: 1: mosd 2: vcc 3: port C1 ( soll am dogm cs1 sein) 4: gnd 5: reset 6: gnd 7: sck 8: gnd 9: miso 10: gnd am dogm128: wannenstecker 10-pol: 1: A0 ( pin 38 am dogm) 2: --- (nicht belegt, da display-platine
Hallo, habe mal vor ein paar Jahren folgende Dateien verfasst. Atmega644 und DOGXL160/I2C //LCD_RST PC2 Display RST PIN 29 //SDA PC1 Display SSA PIN 31 4,7K an 3,3V //SCL PC0 Display SCK PIN 32 4,7K an 3,3V // Display D6 PIN 26 an 3,3V //
-
Thread
Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis
der abgespielte Track mit dem zuletzt gestarteten übereinstimmt: https://github.com/ghmartin77/KidsMP3Player/blob/609a59758d550903c2a1ad18d126d9e76df3ef7c/KidsMP3Player/KidsMP3Player.ino#L343 und https://github.com/ghmartin77/KidsMP3Player/blob/609a59758d550903c2a1ad18d126d9e76df3ef7c/KidsMP3Player/KidsMP3Player.ino
nicht gleich morgen brauchst, dann kannst die nehmen. https://de.aliexpress.com/item/Micro-USB-5pin-Micro-USB-2-0-Stecker-auf-Micro-USB-2-0-Weibliche-Verl-ngerungskabel/32855632646.html?spm=a2g0x.search0104.3.121.139f739f9V50UK&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_
-
Thread
2 Treiberschaltungen mit einer Versorgungsspannung
Hier die Messergebnissen: Widerstand JP4/1 und Klemme 5V: 0 Ohm JP4/2 und Klemme 5V: unendlich(>20 MOhm) JP4/1 und Klemme GND: unendlich(>20 MOhm) JP4/2 und Klemme GND: 3,72 MOhm Diodentest (-)Port1 und (+)Klemme 5V: 0 (-)Klemme 5V und (+)Port1
Bei Vcesat 1,3V (maximal @ 200mA) 0.2A * 1,3V * 8 = 2,08W * 73,14°C/W + 40°C = 192°C -> Kühlkörper unbedingt notwendig aber auch bei 1,0V (typisch @ 200mA) 0.2A * 1,0V * 8 = 1,60W * 73,14°C/W + 40°C = 157°C ->
-
Thread
VOLTCRAFT DSO-3062C 60 MHz = baugleich mit?
failed for s3c2440-i2c (-17) > dso-i2c: can't register device > insmod: can't insert '/dso/driver/dso-i2c.ko': Device or resource busy > das ist kein fehler, i2c kommt verspätet hoch > oder > > NAND
Ansonsten habe ich heute alle 1%-tigen bestückt und getestet, alles fein ;-) Die Streuung reicht von 3,28 bis 3,30 Volt im Leerlauf (einer tanzt mit 3,33V aus der Reihe) Unter Last (2,2 Ohm = 1,5A) geht das bei allen um ca. 0,01Volt runter Die Frequenz, gemessen an den SW-Pins ist bei Leerlauf über 2,18
-
Thread
AVR- Taster an PortPin anschließen
geschaut, aber ich finde meinen Fehler einfach nicht. Verwendeter uController: AVR 8-Bit Der Code: [c]int main( void ) { cli(); //disable Interrupt // Port als Output konfigurieren DDRC |= _BV(PC2); //Output 'LED Rot' DDRC |= _BV(PC3); //Output 'LED Grün' DDRC |= _BV(PC5); //Output 'LED test' // Port als Input konfigurieren DDRD &= ~(1<<PD2); //Int0 Start DDRD &= ~(1<<PD3); //Int1 DDRC &= ~(1<<PC4); //Ende // Pull-up resistor PORTC |= _BV(PC3); PORTC |= _BV(PC2
-
Thread
LCD Controller für 640x480 LCD mit mega8515
PA0=LD0 PA1=LD1 PA2=LD2 PA3=LD3 PA4=UD0 PA5=UD1 PA6=UD2 PA7=UD3 Wenn eine dieser Leitungen verdreht ist, sieht das Bild etwas zerstückelt aus... XSCL=CP2 LP=CP1 FLM=S Die Diode D1 sollte schnell sein, also
=190 sehe ich nur den obersten Tei der Grafik bei YPos=90 sehe ich alles). 1-200 geht Problemlos (Pins LD0-LD3 auf +5V gehängt untere Displayhälfte wird angesteuert also am Display liegt es mal nicht) Beim SRAm habe ich CS1/ auf Masse und CS2 auf +5V gehängt das sollte doch laut Datenblatt ok sein.
-
Thread
Multiple UART (SPI/I2C) für µC
MHz Pins 32 Pin file STM32L071K(B-Z)Tx.xml Config file IP/GPIO-STM32L071_gpio_v1_0_Modes.xml 1 VDD@1 2 PC14-LSI OSC32IN 3 PC15-LSO OSC32OUT 4 NRST 5 VDDA 6 PA0 TXD4 7 PA1 RXD4 8 PA2 TXD2 9 PA3 RXD2 10 PA4 ADC.4 NSS1 CMP1M CMP2M T22ETR 11 PA5 ADC.5 SCK1 CMP1M CMP2M T2.1 T2ETR 12 PA6 CTS0 ADC.6 MISO1 CMP1OUT
-
Thread
Port zum Teil parallel ändern
Hallo zusammen! Ich würde gerne recht effektiv 3 Pins eines Ports parallel setzen. Möchte LEDs ansteuern aber den restlichen Port unberührt lassen. Grund für das parallele Setzen ist ein 2x5 LED_Array. Ich werde es dann mal vorstellen wenn es
>Ich weiß nicht, warum du das mit temp machst. Weil ich 2 Ports möglichst schnell hintereinander ändern will. [c] void LEDBar_setLEDs(uint8_t temp){ uint8_t savePortB = 0; uint8_t savePortA = 0; if(temp & (1<<5)) temp ^= 0x1F; //Invertiert
-
Thread
Taster Entprellung am Attiny 841 und Auswertung
ein paar Probleme zu geben. Das fängt an mit der Belegung der Tasten. Diese sind beim Ati 841 auf 2 Ports verteilt. Habe dazu es mal angepasst. Belegung der Hardware: // PA0 --> T1 // PB0 --> T2 // PA7 --> T3 // PA5 --> T4 // PB1 --> T5 [c] volatile uint8_t key_state; volatile uint8_t
(1<<KEY_1|1<<KEY_2|1<<KEY_3|1<<KEY_4|1<<KEY_5) PUEA=0b10100001; // R auf Taster PORT A PUEB=0b00000011; // R auf Taster PORT B #define REPEAT_MASK (1<<KEY_1|1<<KEY_2|1<<KEY_3|1<<KEY_4|1<<KEY_5)
-
Thread
Frage zum Verständnis in C
[c]int porta_input_pins[]{0,1,2,3,4} ... int porta_input_values[sizeof(porta_input_pins)][/c] Die Größenberechnung von porta_input_values ist noch flasch. sizeof liefert nicht die Anzahl der Elemente
bartsch schrieb: > [c]int porta_input_pins[]{0,1,2,3,4} > ... > int porta_input_values[sizeof(porta_input_pins)][/c] > Die Größenberechnung von porta_input_values ist noch flasch. sizeof > liefert nicht die Anzahl der
-
Thread
I2C mit STM32 und ITG3200 Sensor will nicht loslegen
(ITG_I2C_RCC_Port, ENABLE); /* Configure I2C pins: SCL and SDA */ GPIO_InitStructure.GPIO_Pin = ITG_I2C_SCL_Pin | ITG_I2C_SDA_Pin; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode
#define ITG_I2C_SDA_Pin GPIO_Pin_11 #define ITG_I2C_RCC_Port RCC_APB2Periph_GPIOB #define ITG_I2C_Speed 200000 /** *@} */ /* end of group ITG3200_I2C_Define */ /** * @addtogroup
-
Thread
ESP32-S3-ZERO debugging
Pin5 D5 TDO Pin13 D7 TCK Pin9 D6 GND Pin4 GND VREF Pin1 3V3 JTAG Signal => Sub-D 20polig
D4 > TDI Pin5 D5 > TDO Pin13 D7 > TCK Pin9 D6 > GND Pin4 GND > VREF Pin1 3V3 > > JTAG Signal => Sub-D 20polig Bei dem C3 ist der Trick mit dem eingebauten Debugger, den GPIO8 pin (D8
-
Thread
Logic Analyzer bauen
Das Teil (XC95144XL10TQG14 ) ist cool, kurze Rechnung: 2x SRAM 256k x 16: 18 AD, 16 DB, 3 Ctrl = 2x 37 I/O = 74 I/O 2x 8-bit-Channel: 16 I/O uC parallel Port: 8 DB, Ctrl (CS_ und R/W_) = 10 I/O 2x Clock (CPLD und uC externer Takt) 2 I/
Phillips steht (-40..85°C) 10µA + 0.5mA/Pin. Folglich würden etwa 5mA anfallen. Reicht das? Als OP könnte man z.B. den OPA353 von TI nehmen (Reichelt hat ihn). Dieser liefert bei 10mA Vcc-0.2V. Damit wären für einen Levelshifter
-
Thread
SPI mit Attiny 841 und MCP23S17
Die Belegung am Attiny 841 nach Datenblatt // PA0 --> TP 1 // PA1 --> TP 2 // PA2 --> TP 3 // PA3 --> TP 4 // PA4 --> SCK // PA5 --> MiS0 // PA6 --> MOSI // PA7 --> CC,CS // PB0 --> LP 3 // PB1 --> LP 2 // PB2 --> LP 1
.pdf - I2C => FIGURE 3-4 & FIGURE 3-6 (Seite 15f) - SPI => FIGURE 3-5 & FIGURE 3-7
-
Thread
Richtiges C++ hardwarenah
Fehlermeldung wie "Ausgabefehler beim Schreiben auf den DAC "dac_ort": Ausgabefehler beim Schreiben auf das I2C-Gerät "Selektor2" (Typ: Selektor ..., Adresse 0x2E, Bus i2cbus3)" hilft beim Zusammenbau und der Wartung mehr als ein ErrorCode EA-Fehler. Aber auch auf kleinen AVR's kann man von der Kapselung profitieren
unterscheitbar ist. Während sbi PORTA,0 oder sbi PORTB,0 schnell mal übersehen wird. Und auch ein sbi MOTOR_PORT,MOTOR_PIN ist leichter mit sbi BOMB_PORT,MOTOR_PIN verwechselt. Mein "(könnte sein)" sollte einfach nur Bedeuten, dass ich z.B. mit C++ dafür sorgen kann, dass ein Relais_Pin keinem LED Pin zugewiesen
-
Thread
EMS > Adapter > NetIO > Raspi
“./pinning/hardware/netio.m4“, also nehme ich diese ifdef(`conf_ONEWIRE', `dnl /* onewire port range */ ONEWIRE_PORT_RANGE(PD5, PD5) ')dnl ifdef(`conf_EMS', ` pin(EMS_UART_RX, PD2) ') ifdef(`conf_EMS', ` pin(EMS_UART_TX, PD3) ') ifdef(`conf_STATUSLED_EMS_TX', ` pin(STATUSLED_EMS_TX
quasi ohne Erfolg. Part Value Device Package Library Sheet C1 100n C5/3 C5B3 capacitor-wima 1 C2 10n C5/3 C5B3 capacitor-wima 1 C3 1.5n C5/3 C5B3 capacitor-wima
-
Thread
Pins von 2 AVR's verbinden, Problem mit Pullup
ich habe da mal eine wohl recht einfache, aber mich gerade ziemlich auslastende Frage. Ich möchte 3 Pins von einem AVR mit 3 Pins eines anderen AVR verbinden. Ziel ist es, dass, wenn AVR1 etwas an AVR2 senden möchte, PortB.7, PortB.6 und PortB.5 auf Ausgang schaltet, und die Befehle durch ein fix von
Löwe 'Die I2C-Pins sind übrigens nicht frei definierbar, zumindest wenn du das 'Hardware-Interface vom Atmega nutzen willst. Hab ich auch schon gemerkt, das ist aber nicht weiter dramatisch, da die Ports (größtenteils
-
Thread
Anzeige LCD-I2C / Multitasking und Tasterentprellung von Peter
// Port C 2x auf Ausgang schalten KEY_DDR&=~ALL_KEYS; KEY_PORT|=ALL_KEYS; PORTC |= (1<<PC5); // Port A beim einschalten Ausgänge aus PORTC |= (1<<PC6); //char Buffer[
//////////////// #define KEY_DDR DDRA // Datenrichtung A #define KEY_PORT PORTA // Angabe Port A #define KEY_PIN PINA // Angabe PIN A #define KEY_1 3 // PA 3 #define KEY_2 5
-
Thread
I2C (TWI) Sniffer mit AVR
versteh deine Schaltung, nur frag ich mich, ob es nicht sicherer ist, wenn ich jedesmal die VCC des I2C suchen muss. So kanns dann nicht versehentlich passieren, das ich 5V I2C und 3V3 MC hab -> peng! Außerdem sind die Bedenken von Ron Hille berechtigt (Auszug aus Datenblatt): > Speed Grade > –
Fragen: Der Sniffer ist slave und hört nur mit oder ? Nehme ich besser Spannung von FT232, also 3,3V für PullUp oder besser doch die Spannung von i2c Bus den ich mitlesen will ? Das ist für den slave doch Prinzip egal ob 3,3 oder 5V, nur nie darf man +Ub von den Sniffer und +Ub vom i2c Bus zusammen
-
Thread
Fragen zum IDDR2
D2 : BUF --Daten IDDR2-Q0 Ausgabe port map (I=>DATA_OUTQ0_int, O=>DATA_OUTQ0); D3 : BUF --Daten IDDR2-Q1 Ausgabe
E : DCM_SP --DCM generic map ( CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 CLKFX_DIVIDE => 2, -- Can be any interger
-
Thread
3,7 oder 3,6V auf 3,3V runter
Spannungsbereich des controllers ist 1,8 bis 3,6V X-Port braucht 3,3V (all Pins are 5V tolerant) Heißt das jetzt, dass ich den X-Port auch mit höherer Spannung betreiben kann, als die 3V3? dann bräuchte ich nur die Spannung für den Controller
LT3531-3.3 VIN Range: 1.8V to 5.5V ( 200mA Buck/Boost ) 2x Kondi, 1x Ind. fertig.
-
Thread
Ports und Pins über Funktion setzen
struct { WORD A0:1; // Bit 0 für Adresse 0 WORD A1:1; // Bit 1 für Adresse 1 WORD A2:1; // Bit 2 für Adresse 2 WORD A3:1; // Bit 3 für Adresse 3 WORD A4:1; // Bit 4 für Adresse 4 WORD A5:1; // Bit 0 für Adresse 5 WORD A6:1; // Bit 1 für Adresse 6
. } AdressPins; void SetAdressPins (int AdressPins) { A0 = AdressPins.A0; A1 = AdressPins.A1; A2 = AdressPins.A2; A3 = AdressPins.A3; A4 = AdressPins.A4; A5 = AdressPins.A5; A6