-
Thread
stm32 cortex SPI und I2C funktionieren nicht gemeinsam
enable RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2, ENABLE); // Configure I2C2 pins: SCL and SDA for the administrative bus GPIO_InitStructure2.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11; GPIO_InitStructure2.GPIO_Speed = GPIO_Speed_50MHz
(I2C2, ENABLE); //GPIO Configs GPIO_InitTypeDef GPIO_InitStructure2; // Configure I2C2 pins: SCL and SDA for the administrative bus GPIO_InitStructure2.GPIO_Pin = GPIO_Pin
-
Thread
8051 MP3 Player (Web Radio )
wieso steht da restposten http://www.er-tronik.de/shop2/index.php?cPath=25&osCsid=54e16853241ce365a5db93edd1bcf20b ist der snd1 ein auslaufartikel geworden ?
Was mir grad noch bzgl. IDE eingefallen ist, du beachtest doch hoffentlich, dass der SND1 keine 5V-toleranten IO-Pins hat. Wie willst du die Pegelwandlung lösen? Evtl. lässt sich die Pegelwandler-Schaltung aus den I2C-Specs verwenden, die ist bidirektional. Alternativ gibt die MAX3000er Serie, aber
-
Thread
seriell FTDI TTL UART SUART ich blicke nicht mehr Durch!
- XOR 1 SETUP Initialisierung 1 - Adr. - x - XOR 254 - Adr. - Info - XOR 2 GET PORT Schaltzustände abfragen 2 - Adr. - x - XOR 253 - Adr. - Daten - XOR 3 SET PORT Relais schalten 3 - Adr. - Daten - XOR 252 - Adr. - x - XOR 4 GET OPTION
Hallo, das wären meine 3 Grundfunktionen. [c] #include "myToolbox.h" uint8_t relaisPort; // Port Zustand irgendwo Lib intern gespeichert void portBitSet (const uint8_t pos) { relaisPort = relaisPort | _BV(pos);
-
Thread
Drei 7-Segment-Anzeigen über nur einen Port ansteuern
während sich dein Mikrocontroller langweilt. Bau dir lieber eine ordentliche Routine in Software, die 3 Anzeigen an einem Port verwaltet. Beispiel: PC0-PC3: Daten, die an einem Segment angezeigt werden sollen. PC4,5,6: Latch-Eingang für je ein Segment. void dsp_char(unsigned char char2display)
einigen Stufen Einstellen. Nachteil: Braucht etwas Platz auf der Leiterplatte - DIL24 Wide. I2C kann an nur 2 Pins über Software in C sehr simpel implementiert werden. Es gibt dafür auch fertige Vorlagen. MFG:MBP Markus
-
Thread
Arduino: Eingänge, Ausgänge, I2C, Leitungslängen,.
+----> µC | | R2 Z | | GND GND R1-3 = 4k7, Z = BZX55, 5V1 Zenerdiode Durch den Spannungsteiler R1/R2 halbiere ich mir die Eingangspg
24V PNP und 2 x 24V > 150mA LED Lampen. > > Für die Pegelanpassung an den Eingängen mit 5V -> 24V dachte ich an: > > in o-----+ > | > R1 > | > +----R3-----+----> µC
-
Thread
Ps5 HDMI Lötpads erneuern
https://www.youtube.com/watch?v=vRD3ZMV2t2c
Nochmals, hast du die Bilder und das Vergleichsvideo überhaupt gesehen? Beim TE fehlen 13 Pads, 3 davon sind Masse... Zur Referenz, auf Bild 3 ganz unten ist Pin 19.
-
Thread
LCD und 3.3V PIC kurze Frage
Display http://site.gravitech.us/MicroResearch/Others/LCD-20x4B/LCD-20x4B_Datasheet.pdf Mit einem 3.3V PIC ansteuern? Bzw. muss ich darauf achten, dass das ich das Teil an 5V tolerante Pins hänge? Wenn ja welche (Display-)pins müssen an 5V Pins vom µC? Gruß Daniel
das LCD erwartet Highpegel > 2,2V und Uss 5V das wird eine Gradwanderung an 3V mit dem PIC. Alle Pins an 5Vtolerante IOS und Pullups nach +5V könnte aber gehen.
-
Thread
Display"fehler" bei OLED Module IIC I2C 128x64
Ich betreibe ein 1.3" OLED LCD 4Pin Display Module IIC I2C 128x64 3-5V an einem STM32F103C8T6 und einer Library von https://controllerstech.com/oled-display-using-i2c-stm32/ Auf dem Display (s. Bild) sieht man am rechten
Sicherheit um dieses Bauteil: https://www.diymore.cc/collections/led-display-module/products/diymore-1-3-inch-oled-lcd-display-module-4pin-iic-i2c-interface-ssh1106-128-64-128-64-for-arduino-raspberry-pi-3-3v-5v?variant=14648256561210 Ob man von denen ein Datenblatt kriegt? 2,2K Pullup an SDA und SCL
-
Thread
PWM - Breite von 0
verwenden. In Beispielen fand ich gerade, daß die Register CRCH und CRCL für den Autoreload des Timer2 benutzt, und die Register CC1 bis CC3 für den Compare-Wert. Das funktioniert nur an den Pins P1.1 bis P1.3. Für eine variable PWM mit einstellbarer Grundfrequenz hat man also nur 3 PWM-Kanäle. Es
mir der SDCC 3.2.0. [c] /******************************************************************************* Main.c Testprogramm Timer2 und PWM an Pin P1.0 mit Controller SAB80C517A ***************************
-
Thread
Was nehme ich nur?
Wieviel Stromverbrauch? > Welche Spannung? Sowas. http://www.reichelt.de/Hintergrund-gruen/LCD-3-5-13-LOBAT/3/index.html?;ACTION=3;LA=2;ARTICLE=10181;GROUPID=3005;artnr=LCD+3%2C5-13+LOBAT >> Dazu kommt auch eine "Ampel" die den Betriebszustand Signalisiert. >> Die Ampel kann direkt angetrieben
brauchst deren "spezielle Funktion") > Bzw. Spricht etwas gegen eine Verwendung der folgenden Ports als SS/CS? > PE2, PE§, PE4, PE5, PE6, PE7 und PB0. Ist es so schwer S.2 des Datenblattes bzw. das Kapitel I/O Ports => Alternate Port Functions anzusehen? (XCK0/AIN0) PE2 (OC3A/AIN1) PE3 (
-
Thread
RC-Empfänger an Mikrocontroler v2
Akkupack mit 6V versorgt. Das SKT500 bekommt seinen Saft über ein externes Netzteil. Der Masse-Pin des Servo-Anschlusses ist mit dem Masse-Pin (8) der Steckleiste PORTD des SKT500 verbunden. Der Signal-Pin des Servo-Anschlusses ist mit dem PD2-Pind der Steckleiste PORTD des SKT500 verbunden.
wegen Steigender (A) oder Fallende Flanke (B) (MCUCR) 3A. (0->1) auf fallende Flanke einstellen und rjmp 5. 3B. (1->0) auf steigende Flanke einstellen 4. gemerkten wert von TCNT0 auswerten, leds an/aus 5. schritt 0 rückgängig, reti (Nur so als Vorschlag
-
Thread
SPI für ADC MCP3204 auf ATXMega256A3 initialisieren
read_MCP3204( void) { uint8_t byte = 0xff; uint8_t ergebnis; gintI++; SPI_MasterSSLow(ssPort, PIN4_bm); //Übertragung starten, SS auf low, kann ich auf Oszi messen. delay_us(10); ergebnis = SPI_MasterTransceiveByte(&spiMasterC, byte); // Hier würde ich gerne ein Byte über PortC MOSI (Pin5) übertragen delay_us(10); SPI_MasterSSHigh(ssPort, PIN4_bm); //Übertragung stoppen, SS auf high, kann ich auf Oszi messen. delay_us(10); return; } /*%%%%%%%%%%%%%%%%%%%%%%%%%%
-
Thread
Universelles Evaluation-Board mit ATMega32
Experimentierboard habe ich zb eine Zusatzplatine, Das sieht dann zb so aus. Angesteckt ist ein LCD am Port C und die LED Anzeige am Port D. Ich könnte jede der beiden Komponenten auch an jedem anderen Port anstecken. (Der 5. Anschluss direkt am µC ist der ISP)
>Ich sach nur: RN-Standardanschluss :-) Der hier? Dann sind wir nicht kompatibel;) Pin 1 ist bei mir GND, Pin2 Vcc und so weiter. Gerade andersrum. Pin 1 DB7 Pin 2 DB6 Pin 3 DB5 Pin 4 DB4 Pin 5 EN2 (wird nur bei manchen LCDs benötigt) Pin 6 EN Pin 7 R/W Pin 8 RS Pin
-
Thread
ATMega16 Starthilfe
AVR-GCC-Tutorial nachgelesen? Dort steht Sample-Code. I/O-Register. Und damit du weist wo sich die Ports hardwaremässig auf deinem µC befinden hilft ein Blick ins Datenblatt, zumeist Seite 2 Pin-Configurations.
Hallo! Das kommt natürlich darauf an, an welchen Port Du Deine Taster bzw. LEDs anschließt. Du kannst sie an Port A oder auch an Port C anschließen, wie Du willst. Wo die Ports sind, siehst Du gleich auf Seite 2 im Datenblatt (Port A hat die Pins 33-40
-
Thread
AVR-spezifische Optimierung wirkt nicht in Member-Funktion
Hallo, Ich verwende avr-g++ 4.3.5 ich habe eine Klasse, die einen Port abstrahieren soll. Die Klasse hat ein Attribut [c]volatile uint8_t* const port_address[/c] und eine Funktion [c] inline bool Port::get_pin(uint8_t pin_number
in r24,55-32 lsr r24 lsr r24 lsr r24 sbrc r24,0 rjmp .L2 cbi 55-32,2 .L3: .L5: rjmp .L5 .L2: sbi 55-32,2 rjmp .L3 [/avrasm] Dieses Beispiel hingegen: [c] #include <avr/io.h> volatile uint8_t* const port = &
-
Thread
Frage zu CCL-Einheit in neueren AVR-Controllern
Wenn Sie aber über Sinn&Unsinn von CCL diskutieren wollen, so ist das so wenig nutzbringend wie C vs. Assembler, 5 V vs. 3.3 V, SMD vs. THT &c.
/EFM8BB51F8G-C-QFN20?qs=7D1LtPJG0i3GGYLLlbsrGQ%3D%3D
-
Thread
8 Kanal 50Ms/s AVR Logic-Analyzer
> PD4 AVR_PB2 + PB3 weggelassen da ich keine Funktion finden konnte RAM_READ -> PD6 IN_SELECT -> PD7 DATEN 0 -> PC0 1 -> PC1 2 -> ADC7 3 -> ADC6 4 -> PC2 5 -> PC3 6 -> PC4 7 -> PC5 würde ich jemanden
Eingansbuffer - z.Zt. noch MAX232 als RS232 Treiber XC9572XL-10 CPLD (ja ich weiß, ist nur ein 3,3V Typ aber mit 5V tolleranten I/Os) Kostet z.B. beim großen R im plcc44 Gehäuse 3,40EUR. Die 3,3V sind unkritisch und man kann sie von den 5V mit 2 in Reihe geschalteten 1N4148 'erzeugen'. (Für die
-
Thread
DOGM LCD 3-Zeilen initialisieren
// BS: 1/4, 3-zeiliges LCD _delay_us(7.5); // 30us delay dogm_write_check(0, 0x51); // Booster aus, Kontrast C5, C4 setzen _delay_us(7.5); // 30us delay dogm_write_check(0, 0x6A); // Spannungsfolger und Verstärkung setzen _delay_us(7.5); // 30us delay dogm_write_check(0, 0x78); // Kontrast C3, C2, C1 setzen _delay_us(7.5); // 30us delay dogm_write_check(0, 0x0C); // Display ein,
-
Thread
LCD Display es werden keine Buchstaben angezeigt.
) GND E PD5 am uC D0 - D3 Nicht angeschlossen 4 - Bit Modus D4 PD0 am uC D5 PD1 am uC D6 PD2 am uC D7 PD3 am uC A
) GND E PD5 am uC D0 - D3 Nicht angeschlossen 4 - Bit Modus D4 PD0 am uC D5 PD1 am uC D6 PD2 am uC D7 PD3 am uC A
-
Thread
Arduino - bringt's das ? Gesperrt
alles ganz klar und übersichtlich beschrieben. http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf So sind eigentlich alle Ports des uC nach außen geführt. Und wenn man genau schaut auch alle die du hier anmeckerst. ICP1 - Pin Nr. 4 ICP3 - Pin Nr. 48 XCK0 - Pin Nr. 14 XCK1 - Pin Nr. 65 XCK2 - Pin Nr. 47 XCK3 - Pin Nr. 9
-
Thread
LCD an ATmega128 Port E
dahingehend umgestellt aber jetzt würfelt das LCD nur noch die Anzeige. D.h. daß manche Zeichen (vielleicht 3 - 5 Stk.) nicht mehr den orginales Text anzeigen. Wenn ich den µC resette erscheinen andere Zeichen kryptisch. Ich habe zwar zwei Timer am Laufen, ich lasse mir über die dazugehörigen Ports keine Signale
dennoch daran liegen? Hardware: ATmage128 LCD = Displaytech 204A (an 4-Leitungsbus) LCD D4 = Port E Pin 2 LCD D5 = Port E Pin 3 LCD D6 = Port E Pin 4 LCD D7 = Port E Pin 5 LCD E = Port E Pin 6 LCD RS = Port E Pin 7 LCD RW = GND alle anderen LCD Pins sind frei,
-
Thread
2x 7 Segment Multiplexen mit ATmega32 - Grundlagenproblem
darauf geachtet, dass JTAG per Fuse abzuschalten? Schreib dir ein Testprogramm, mit dem du nur die Pins am Port C ansteuerst. Und zwar gaaaaanz langsam ansteuern. Mit dem Voltmeter kannst du dann kontrollieren, ob die Pins auch wirklich auf 0 bzw. 1 gehen. Dann misst du weiter: nach dem Basiswiderstand
Hi >Leider hab ich keine Ahnung was ein JTAG Fuse ist bzw. wie ich es >abschalte. Am PortC befindet sich das JTAG-Intercace. Das ist werksmässig eingeschaltet und blockiert etliche Pins von Port C. Siehe Datenblatt: JTAG Interface and On-chip Debug System MfG Spess
-
Thread
Thermomix Rezeptchips
300b 1341 5000720 2a2d 8152 fb4b 8538 04fc 7551 c1e5 886e 5000730 0fca 3e8f b792 e319 287c 72b2 dd08 116e 5000740 59c5 cdf9 1b37 46c3 3832 38ef f77a deb0 5000750 357c 3e73 b683 37c9 c128 4e37 d5c5 3fb7 5000760 a9a0
dc24 04a3 3bdd 5617 fedc 5000f60 a682 3ad4 8f6d 1daf 0509 ad3a f646 c2b1 5000f70 a4a1 4f69 4655 b2d4 0963 ba0d 2c45 c5dc 5000f80 3f00 edc2 c223 2c74 0294 31df 05ae e094 5000f90 c915 67aa 74e3 5aa8 2218 aca9
-
Thread
Spartan3 BUFGMUX
of both muxes: mux3 : BUFGMUX port map( O => out_vclk, --output I0 => mux1_out, --input0 I1 => mux2_out, --input1 S => current_cam(0) --select ); [/c] Sprich ich möchte mit dem
detected on wire:DUMMY(617,57608) Net:cam_l_vclk_IBUFG on pin I1 on location BUFGMUX4 has a routing conflict with Net:cam_f_vclk_IBUFG on pin I0 on location BUFGMUX5 Conflict 2, detected on wire:DUMMY(617,57624) Net:cam_r_vclk_IBUFG on pin I0 on location
-
Thread
Schrittmotor mit ULN2803 und 8052 uC
die verwendeten Teile sind einfach schon zu alt. Ich habe vor mir eine fertige Platine, welche 2 Steppermotoren über 2 ULN2803 Darlington ansteuert, von daher kann ich die Gegebenheiten nicht ändern. Die Stepper sind unipolar, 5 Adrig und wie gesagt alles schon fix und fertig auf einer "kommerziellen
Hier der Quelltext in C im Anhang. Bitte beachten, ich habe gerade gesehen, Zeile 292 [c] m2_gobo_shaker(gobo,(2)) ; //dmx_data[0]%10 [/c] sollte [c] m2_gobo_shaker(gobo,(1)) ; //dmx_data[0
-
Thread
DCF-Uhr mit LCD in C
Hallo, ja, so hatte ich das auch verstanden. Problem schein zu sein, das ich A) einen anderen PIN nehmen, und B) den gesamten Port im Interupt einlesen. Die und Verknüpfung klappt dann wohl nicht mit dem (1<<PINC5). Also muss ich auch beim einlesen nur das eine BIT einlesen. Mal sehen ob das
in dataPC den anderen Funktionen zur Verfügung gestellt Warum wird hier die komplette Reihe von PortC eingelesen und in dataPC gespeichert, und nicht nur der PinC1? Ich habe mal meinen modifizierten Code angehängt. Vllt seht ihr dort warum das nicht funktioniert. Das Signal sieht sauber aus
-
Thread
Pollin RFID Entwicklungsboard
> Das lesen der Transponderkarte hat auf Anhieb funktionier, obwoch ich > für C1 1,0n statt 1,2n verwenden mußte (war falsch abgepackt.) Schau mal in dem Bestückungsplan: C1 existiert 2 mal in der Liste, einmal zusammen mit C5 als 1,2nF und einmal alleine mit 1nF. Ich denke C1
zumindest, was die Betriebsspannung angeht. Da liegt bei dem Bausatz und dem TC1602E-01 nämlich +5V auf Pin 1 und Gnd auf Pin 2 . Beim TC1602A-08 liegen die 5V auf Pin 2 und Gnd auf Pin 1. Da ja freundlicherweise auch keine Pinnummern der 14-pol. Stiftleiste im Schaltplan zu finden sind, schliesst
-
Thread
Wie viel LCD´s kann man gleichzeitig mit dem Atmega32 ansteuern ?
den LCD´s soll dann PKW oder LKW angezeigt werden Mein Plan war : LCD 1 : RS =PA0 R/W =PA2 E =PA1 DB4 =PA4 DB5 =PA5 DB6 =PA6 DB7 =PA7 LCD 2 : RS =PB0 R/W =PB2 E =PB1 DB4 =PB4 DB5 =PB5 DB6 =PB6 DB7 =PB7 LCD 3 : RS =PC0 R/W =PC2 E =PC1 DB4 =PC4 DB5 =PC5 DB6
Anderer Plan: LCD 1 : E =PA0 LCD 2 : E =PA1 LCD 2 : E =PA2 LCD 1-3 : R/W =PC2 RS =PC3 DB4 =PC4 DB5 =PC5 DB6 =PC6 DB7 =PC7
-
Thread
Verwaltung von Pins und Peripherie global oder lokal
/1 #define GLCD_CS2 PD4 // CS/2 #define GLCD_RESET PD6 // Reset-Pin (RESET = 0) /* Grafik-LCD Daten-Port */ /* Px7: -> DB7 (MSB) + Busy-Flag) * Px6: -> DB6 * Px5: -> DB5 * Px4: -> DB4 * Px3: -> DB3 *
*/ #define I2C_PORT PORTC #define I2C_DDR DDRC #define I2C_PIN PINC #define I2C_SCL PC0 #define I2C_SDA PC1 // Freie Pins #define SPARE0 PC3 #define SPARE0_PIN PINC #define SPARE0_DDR DDRC
-
Thread
Problem mit PIC16F84A
*** ; Pinbelegung ; ----------- ; PortA ; 0 Lichtschranke 1 ; 1 Lichtschranke 2 ; 2 nc ; 3 nc ; ; PortB ; 0 ULN 2803 Pin1 (LED B1) ; 1 ULN 2803 Pin2 (LED B2) ; 2 ULN 2803 Pin3 (LED B3) ; 3 ULN 2803
messen. z.b mit hilfe einer led, oder etwas ähnlichem... 2) schließt an einen pin des Ra ports noch einen taster, oder schlater an. so das ihr >SICHER einen pegel von gnd oder 5v an diesem pinne habt - kontrolliert das! erreichen könnt ihr das
-
Thread
LCD I2C ATmega32 initialisieren
Äääähhhmmm.... Es gibt keine I2C Displays dieser Art. Ist mir zumindest noch nicht untergekommen. Aber es gibt I2C Huckepack Adapter, auf solchen LCDs. Und von der Sorte gibts mindestens 4 verschiedene. Mit mindestens 3 verschiedenen
. Das entsprechende File fügst du zu deinen Sourcefiles hinzu. Bei der Benutzung des Soft-I2C denke daran, in i2cmaster.S die benutzten Pins und Ports zu definieren. Das ist bei twimaster.c nicht nötig, da die Pins ja klar sind. Meiner Erfahrung nach sind die Libs narrensicher, wenn sie einmal
-
Thread
32-Bit μC für zwei Layer PCB
Ich würde Dir den RX210 im 100-pol. LQFP-Gehäuse empfehlen. Nur wenige Vcc-GND Anschlüsse, Ports gut sortiert angeordnet und eine gute Leistung bei bis zu 50 MHz. Weite Versorgungsspannung von 1,6 - 5,5 V.
Freescale hat mit der KE06 Serie auch welche in LQFP 44 mit 10x10mm und CAN: Voltage range: 2.7 to 5.5 V! – Flash write voltage range: 2.7 to 5.5 V – Temperature range (ambient): -40 to 105°C • Performance – Up to 48 MHz ARM® Cortex-M0+ core – Single cycle 32-bit x 32-bit multiplier – Single
-
Thread
Arduino digitalWrite durch C-Code ersetzen
v3 // DIGITAL // (Reset) PC6 // D0 (Rx) PD0 // D1 (Tx) PD1 // D2 (Int0) PD2 // Nokia 5110 // 8 GND // 7 LIGHT // 6 VCC // 5 CLK // 4 DIN // 3 DC // 2 CE
) PB0 #define DIN 8 // D9 (OC1A) PB1 (PWM) #define CLK 9 // D10(SS/OC1B) PB2 (PWM) #define VCC 10 // D11(MOSI/OC2) PB3 (PWM) #define BL 11 // D12(MISO) PB4 #define GND 12 // D13(SCK) PB5 (LED) #endif // _PINS_H_ [/c] [c] #include <LCD5110
-
Thread
Stört mein Motor seinen PIC?
versorgen Ich versuche das gleich mal. Christian schrieb im Beitrag #2345640: > mittendrin den µC Der uC ist sehr nahe am 7805, das Blaulicht auch, siehe Jumper JP5 im Anhang. Das einzige, was weiter weg ist, ist der KEMO-3.5W-Verstärker. Gruß Jens
Sollte C6 mit den 100uF nicht eher von den 5V nach GND sein? Und dann evtl. die 5V via Diode auf JP3 P1 führen um die Speisung zum Motor abzukoppeln.
-
Thread
FlipFlop initial value bei MachXO2?
vhdl] library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; library machxo2; use machxo2.all; use machxo2.components.all; library work; use work.all; entity test is port (tx: out std_logic; tx_empty_out: out std_logic); end test; architecture impl of
im RefDesign.. USART SPI_ROM TEMP_SENSOR Link: Für den Zip. http://www.latticesemi.com/alpha-mxo2-pico-kit#_C5AFA0531C10491E9706210E995C7F0F Oben ist so ein Reiter_Menue_BAR .via Mouseklick ..kannst du noch den Pdf Doku Stuff da separat Downloaden. > Hast du auch mal auf Größe optimieren lassen
-
Thread
2 LEDs mit nur 1 PIN ein-, ausschalten
Kommt auf die Versorgungsspannung an. Bei Vcc=5V und Vled=2,2V leuchten ohne Pin beide. Was indes geht: analogen Inverter dran, Pin mittelohmig auf Vcc/2 legen und beide LEDs antiparallel zwischen dessen Ausgang und Pin. Bei Pin als Input liegen
an. Mit einem µC, der an den Pins und VCC nur 3,3V hat anstatt 5V, sollte das besonders leicht gehen.
-
Thread
Bits effektiv umsortieren in C
das in C schreibt. Ist dann ne Abwägung zwischen gut lesbar und portabel oder 2-3 Zyklen gespart. Peter
int x = ((b >> i) ^ (b >> j)) & ((1U << n) - 1); // XOR temporary r = b ^ ((x << i) | (x << j)); [/c] Zum Beispiel: b = 00101111 (binär) und wir wollen 3 aufeinander folgende Bits swappen n = 3 beginnend beim 2. Bit von rechts: i = 1 an die 5. Stelle j = 5 Ergenbnis: r = 11100011 (binär
-
Thread
Serielle Kommunikation zwischen Python und µC
den analogen Wert eines Temperatursensors (LM35DZ) auszulesen und danach über UART auszugeben: [c] #define F_CPU 16000000L //16 MHz #include <avr/io.h> #include <stdint.h> #include <stdlib.h> #include <util/delay.h> #include <string.h> #define ADC_PIN 0 #define LED_PIN PORTB5
Hi Max, Max M. schrieb im Beitrag #4204690: > [c] > import serial > > ser = serial.Serial(port='COM4', baudrate=9600, > bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=2) > try: > ser.isOpen() > except: > print("Error
-
Thread
Eine Kinderfrage bzg. Struct
Tag! Ich habe eine Frage, vielleicht könnte mir jemand helfen? Irgendwo habe ich Code gesehen: [c] struct bits { u8 b0:1; u8 b1:1; u8 b2:1; u8 b3:1; u8 b4:1; u8 b5:1; u8 b6:1; u8 b7:1; } __attribute__((__packed__)); #define SBIT_(port,pin) ((*(volatile struct bits*)&port
#define WBIT_(port,pin) ((*(volatile struct wbits*)&port).b##pin) #define WBIT(x,y) WBIT_(x,y) [/c] und dann als Test [c] u16 meinvar = 0; #define MW0 WBIT(meinvar,0) #define MW1 WBIT(meinvar,1) #define MW2
-
Thread
IO-Pins als Bitfeld zusammenfügen und maskieren (AVR)
einen Port-Pin wie auf eine Variable zugreifen: struct bits { uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; } __packed; //das gleiche wie: __attribute__ ((__packed__)) #define SBIT_(port,pin) (
[c] struct bits { uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; } __packed; //das gleiche wie: __attribute__ ((__packed__)) #define SBIT_(port,pin) (((volatile struct bits *) & port) ->
-
Thread
KFZ-Lichtwahlschalter (12V) soll 3.3V schalten, Relais, Optokoppler?
gesucht und auch alle belegungen gefunden und diese mittels durchmessen überprüft: Abblendlicht: Pin = 1 Standlicht: Pin = 3 Automatisch: Pin = 2 Aus/Null/TFL: Pin = 9 Nebelscheinwerfer: Pin = 5 Nebelschlussleuchte: Pin = 7 12V Dauerplus = 8 GND = 6 Beleuchtung = 10 Zündungsplus = 4 Funktionsweise
Die beiden Gruppen sind verbunden? - Pin 8 mit 1,3,2,9,5,7 - Pin 6 mit 10,4 kannst du nicht unabhängig voneinander betreiben?
-
Thread
MP3-Player umdrehen?
in Ordnung... SPI würde ich ja ohnehin für den Audiochip benutzen und die ATmega128 haben genug Pins. Ich habe ebend schon 2x CF, außerdem sind die billiger. So klein bekomme ich die Elektronik ja eh nicht, dass der Kartentyp eine Rolle spielt.
Seite untergebracht ist, die, wie es der Zufall so will, exakt so breit wie die kurze Seite einer 2.5"-Platte ist. Daher ist der Hitachi-Anschluss auch steckerkompatibel zu dem einer 2.5"-Platte. Microdrives sind 1"-Festplatten im CF-Typ-III-Gehäuse, und werden derzeit von Hitachi/IBM und Magicstore
-
Thread
Zugriff auf Ports über einen Pointer od Ähnlichem für PIC18F (nicht Bit Addressierbar)
case 2: port_ptr = &PORTC; bitmask = 1 << 2; case 3: port_ptr = &PORTC; bitmask = 1 << 3; case 4: port_ptr = &PORTF; bitmask = 1 << 6; case 5: port_ptr = &PORTF; bitmask = 1 << 7; case
// PORTC pin 2 RC2 &PORTC, 1 << 3, // PORTC pin 3 RC3 ... etc... }; Anschließend die Port/Pin Abfrage in der FUNKTION: if(!((*pins[Target].port)&(pins[Target].mask))) { jetzt liegt
-
Thread
Mega 128 Pins?
3. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: TQFP and QFN/MLF Package: 1] The sum of all IOL, for all ports, should not exceed 400 mA. 2] The sum of all IOL, for ports A0 - A7, G2, C3 - C7 should not exceed 100 mA. 3] The sum of all IOL, for ports C0 - C2, G0 - G1, D0 - D7, XTAL2 should not exceed 100
-
Thread
Wie programmier ich das elegant in C
unsigned char b7:1; > }; > [/c] > mit einer struct machen könnte. ist genauso Bitpopelei Wo liegt den das Problem. Schreib dir deine Ausgangslage hin PD3 PD2 PC5 PC4 PC3 PC2 PC1 PC0 und überleg dir welche Bitblöcke
rauskommt. Ist doch kein wirkliches Problem. Du liest von PIND ein, dann hast du PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 interessiert (in Ergebnis nachsehen) bist du an PD3 und PD2. Also setzt du gezielt erst mal alle anderen Bits auf 0. Dann hast du 0 0 0 0 PD3 PD2 0 0 Jetzt schaust
-
Thread
Elektor - nächste Ausgabe mit R8C/13 Platine
sind. Bei Pin 2 und 23 sollte man wohl den Empfehlungen im Datenblatt folgen und Pin 2 mit ~5k gegen Masse und Pin 23 mit einem 100uF-C gegen Masse beschalten. Gruß, Ralf
Looking for M16C/R8C... Confirming... und das war's dann. 2. Versuch: Software von renesas geholt FTD/FTD Basic leider wird hier als port nur "E8" angegeben und ich habe keine möglichkeit COM1 anzugeben.
-
Thread
Mondlicht Steuerung
timer, die ports, die pwm und den generellen ablauf (also hauptprogramm vs interrupt) verstanden hat 2-3 tage. ich kann dir nur empfehlen einen uC zu verwenden. vor allem wenn man merkt was man mit den dingern
GND Als Port-pin Ausgang nehme ich mal PB 5,4,3. Eingang lege ich auf PB 0,1,2.
-
Thread
Junkers CAN-Bus Protokoll
Heizung selbst. Einige Daten konnte ich wiedersehen, aber nicht an einer Adresse festmachen. Der I2c Bus ist nur an den Steckern zur Hauptplatine vorhanden. Weißer Stecker zu schwarzem Kabel. Pin Belegung, leider bei mir nicht mehr aufgebaut.(!) BM1 -Stecker Pin1 VCC, Pin2 NC, Pin3 GND, Pin4 "5Volt
ist doch der selbe wie für das bm1. wie redet den die hauptplatine mit dem bm1, geht das nicht per i2c? ich lese mich gerade durch die listen....... hut ab was ihr da schon alles gemacht habt. gilt das noch? BM1 -Stecker Pin1 VCC, Pin2 NC, Pin3 GND, Pin4 "5Volt", Pin5 "SDA", Pin6 "SCL" da könnte
-
Thread
INT2 Problem Mega32
(BUZZER_PORT,BUZZER_PIN); // Pin is low //### GLOBAL INTERRUPT CONTROLLER ### // enable disable the interrupts over // the global control register GICR |= (1<<INT0); // enable INT0 - PD2
PD2 */ ISR(INT0_vect) { Beep(3, 500); while ( bit_is_clear(PIND, PD2)){ dms(1); } gSleepCnt= 0; return; } /* ** INT1 - PD3 */ ISR(INT1_vect) { Beep(5
-
Thread
Welchen Parameter muss ich nutzen, um mit Arduino und DS18S20 ein Relais zu steuern?
/o OneWire ds(DS18S20_Pin); // on digital pin 2 [/c] schnell umgeschrieben zu [c] int DS18B20_Pin = 2; //DS18S20 Signal pin on digital 2 //Temperature chip i/o OneWire ds(DS18B20_Pin); // on digital pin 2 [/c]
schreiben: [c] int Dummbatz_Pin = 2; // DS18S20 Signal pin on digital 2 //Temperature chip i/o OneWire ds(Dummbatz_Pin); // on digital pin 2 [/c]