-
Thread
G-LCD bei Pollin
1 +5V 2 GND 3 Vlcd 4 LP 5 6 7 Vlcd 8 FLM 9 CLK O 10 CLK U 11 D0 12 D1 13 D2 14 D3 Falls mal jemand den genauen Zweck von Pin 3 und 7 rausfindet, waere das schoen. Es scheint
Umgedreht: Pixel 1,2,3,4,5,6,7,8,9,10 usw. sind D3,D2,D1,D0,D3,D2,D1,D0,D3,D2 usw.
-
Thread
Atmel Studio: "Standard" SW-Routinen aus einem Pool verwenden
, 6, Init.OUT_LOW) pin('AMP_C1', Port.D, 4, Init.OUT_LOW) pin('AMP_C2', Port.D, 7, Init.OUT_LOW) pin('AMP_C3', Port.D, 5, Init.OUT_LOW) pin('AMP_ERR_C0', Port.C, 4, Init.IN_PULL_UP) pin('AMP_ERR_C1', Port.B, 0, Init.IN_PULL_UP) pin('AMP_ERR_C2', Port.C, 5, Init.IN_PULL_UP) pin('AMP_ERR_C3', Port.C, 3, Init.IN_PULL_UP) pin('LED_AMP_C0', Port.C, 2, Init.OUT_LOW) pin('LED_AMP_C1', Port.C
-
Thread
Display geht immernoch nicht.
LCD-Pin 3 (Kontrast) --> z.B. Poti/Trimmer für Kontrasteinstellung LCD-Pin 4 (RS) --> an einen Pin des ATmega8 (z.B. PORTD.2) LCD-Pin 5 (R/W) --> GND LCD-Pin 6 (E) --> an einen
selbe Tut ist, der Beitrag stammt von Febr. 2010. So habe ich den Mc besschaltet: 1 Vss GND 2 Vcc 5V 3 Vee GND oder Poti (siehe oben) 4 RS PD4 am AVR 5 RW GND 6 E PD5 am AVR 7 DB0 offen 8 DB1 offen 9 DB2 offen 10 DB3 offen 11 DB4 PD0 am AVR 12 DB5 PD1 am AVR 13 DB6 PD2 am AVR 14 DB7
-
Thread
Atmel SAM4S_EK2 Board und SPI mit SSD1351-LCD-Controller
Driver verwenden kann. Dazu gibt es auch ein Beispiel für xmega devices: http://asf.atmel.com/docs/3.21.0/sam4s/html/spi_master_xmega.html Dort sieht man, wie die Pins definiert werden: [c] void spi_init_pins(void) { ioport_configure_port_pin(&PORTD, PIN1_bm, IOPORT_INIT_HIGH | IOPORT_DIR_OUTPUT); ioport_configure_port_pin(&PORTD, PIN4_bm, IOPORT_PULL_UP | IOPORT_DIR_INPUT); ioport_configure_port_pin(&PORTD, PIN5_bm, IOPORT_INIT_HIGH | IOPORT_DIR_OUTPUT); ioport_configure_port_pin(&PORTD, PIN6_bm, IOPORT_DIR_INPUT
-
Thread
virtueller COM-Port mit Atmega
Leitung Tx (bzw. Rx) dort hin gelangen Da kriecht kein Strom, der fließt ganz normal aus den USB-5Volt über den TX-Pin in den PIC und da über die Schutzdioden des PortPins auf Vcc. Dein Pic16F876 ist im Datenblatt mit 2-5,5Volt Betriebsspannung angegeben, er war also vermutlich nie wirklich aus.
Won K. schrieb im Beitrag #4326002: > Da kriecht kein Strom, der fließt ganz normal aus den USB-5Volt über den > TX-Pin in den PIC und da über die Schutzdioden des PortPins auf Vcc. Sehe ich auch so. > Dein Pic16F876 ist im Datenblatt mit 2-5,5Volt Betriebsspannung > angegeben, er war also
-
Thread
Standard LCD über nur 3 Drähte
Am besten finde ich persöhnlich Lösungen über dem I2C Bus. Das braucht auch nur zwei Pins und hat den Vorteil, dass man mit diesem Bus ja dann nicht nur dass Display ansteuern kann sondern noch massig andere Hardware... Spart dann ne menge Pins wenn man
3 D1 4 D3 5 D5 6 D7 10 D6 11 D4 12 D2 13
-
Thread
Hameg Oszilloskop mit Drucker HM1007/ HM8148-2 möglich?
Muss ich zusammensuchen, ist schon länger her. War ein Projekt aus 1997. Im Anhang die C-Quelle für den 80C535. Sollte aber auch auf einem passenden AVR laufen. Braucht 16k Ram. Port P4 ist der Datenbus. P5 Steuerbus. Die Zuordnung der P5-Pins muss ich noch suchen.
Port5.2 = Clr Pin18 Port5.3 = CLK Pin19 Port5.5 = R/W Pin21 Port5.7 = Trigger-Reset Pin23
-
Thread
Wie Kodierschalter auswerten?
ist, dass die pins des schalters in der richtigen reihenfolge angeschlossen sind: beide C an GND pin 1 -> PC2 pin 2 -> PC3 pin 4 -> PC4 pin 8 -> PC5 pullups (z.B. 10k) an PC2..PC5 nicht vergessen
in nIn eine 3. Die Tilde vor dem Ausdruck negiert das Ganze, da die Logik am Port Low-Aktiv ist. El Nino schrieb im Beitrag #2141300: > Pin1 auf PC2, Pin2 auf PC3, Pin4 auf PC4, > > Pin8 auf PC5. Ist das
-
Thread
Atmega16 Ports defekt?
. hab mir das pollin-board und nen usbisp zugelegt. soweit alles ok. doch jetzt machen mir meine 2 atmega16 sorgen.... beim ersten lassen sich die pins a1,c2,c3,c4,c5,c6,d0,d4 nicht steuern. beim anderen sind es die pins a1,c2,c4,c6,d0,d2,d4. aufgefallen ist mir das bei den ersten gehversuchen
Karl heinz Buchegger schrieb im Beitrag #1711945: > Damit hast du dann die Erklärung für alle C Pins. > > JTAG abschalten > das hilft aber nur bei 2 pins! die anderen bleiben fest auf 5v. > > > Die Pins am A Port: AVcc ist veschaltet? > jupp ist angeschlossen > > > Was hängt
-
Thread
Interner Pullup Widerstand, Buttonansteuerung klappt nicht
LCD_PORT_5 &= ~(1<<LCD_D5); LCD_PORT_6 &= ~(1<<LCD_D6); LCD_PORT_7 &= ~(1<<LCD_D7); if(temp2 & 0x01) LCD_PORT_4 |=(1<<LCD_D4) ;// setzen if(temp2 & 0x02) LCD_PORT_5 |=(1<<LCD_D5) ; if(temp2
<LCD_D5) ; if(temp1 & 0x04) LCD_PORT_6 |=(1<<LCD_D6) ; if(temp1 & 0x08) LCD_PORT_7 |=(1<<LCD_D7) ; lcd_enable(); temp2 = temp2 & 0x0F; LCD_PORT_4 &= ~(1<<LCD_D4); LCD_PORT_5 &= ~(1<
-
Thread
I2C Interrupt Handler bei Fehler
); while(j==0) { GPIO_ToggleBits(GPIOB, I2Cx_SCL_PIN); j=GPIO_ReadInputDataBit(GPIOB, I2Cx_SDA_PIN); } } void I2C_I2C_init(void) { I2C_Cmd(I2C2, DISABLE); I2C_InitTypeDef i2cInit; clearAllI2CFlags(); RCC_APB1PeriphClockCmd
; gpioInit.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(I2Cx_SCL_GPIO_PORT, &gpioInit); gpioInit.GPIO_Pin = I2Cx_SDA_PIN; GPIO_Init(I2Cx_SDA_GPIO_PORT, &gpioInit); GPIO_PinAFConfig(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_SOURCE, I2Cx_SCL_AF); GPIO_PinAFConfig
-
Thread
Seriell-Port Programmer? Überspannungsschutz ?
1. evtl. haben nicht alle Pins Dioden in beide Richtungen. 2. kann auch sein, dass dadurch das Potential des Substrats gestört wird und es ein Latchup gibt. 3. Die Dioden halten nicht sonderlich viel aus, der max.zulässige
Strom der µC Pin zieht könnte ich den Wiederstand errechnen damit nicht mehr wie 5 Volt ankommen. Kann mir das jemand sagen? Ich finde im Datenblatt nur dieses Leakage Current Wert von 1µA aber das ist doch nicht
-
Thread
[AVR|C] Codeschloss Projekt - wie den Code verbessern
PD1: Rote LED (gesperrt) PD2+3: Taster 1+2 um LED 1+2 austasten PD4: Eingegebenen Code löschen (Taster3 auf dem Evalboard) PD5+6: LED1+2 auf dem Evalboard Aus einem anderen Thread schon ein paar Überlegungen, was man noch
} if( debounce( PIND, PD3 )){ return 13; } [/c] ZU [c] if( debounce( PIND, PD2 )){ return 11; } if( debounce( PIND, PD3 )){ return 12; } if( debounce( PIND, PD4 )){ return 13; } [/c]
-
Thread
Erfahrungen mit AI-Coding
Opencode. ("Implement the following in Rust: ...") Kontrahenten der 13GB auf Platte Klasse: Qwen3.5-9B-UD-Q8_K_XL Qwen3.5-27B-Q3_K_M Qwen3.6-35B-A3B-UD-IQ3_S Qwen3.6-35B-A3B-UD-Q2_K_XL (12GB) Als Vergleich: Qwen3.6-35B-A3B-UD-Q4_K_S (20GB) opencode/minimax-m2.5-free (Cloud, 230B, von Februar
Doch, hat sie - und das macht sie gar nicht mal schlecht. Aktuell "lasse" ich auf einem ESP32-S3 mit Claude einen FIDO2 Key mit NFC Leser und ISP Display schreiben. Die KI kann mir genau sagen, an welchen Pins beim M5Dial der Rotary Encoder sitzt, er erstellt mir die Init-Routinen für das I2C
-
Thread
STM32F103C8T6 - Fälschung von ST bestätigt
Servus, bei mir kamen letzte woche 2 mit aufdruck 99185 RR9U MYS 99 846: https://www.ebay.de/itm/STM32F103C8T6-Board-Cortex-M3-3-3V-Arduino-IDE-kompatible-ARM-STM32-ARM-32/253369088499?pageci=9f86a4fe-5607-4c2a-bee2-f91ee20730c0 sind
der Gegenwert einer Luxusjacht entsteht. Die gezeigte Mini Bord verbraucht für sich selber nur 4 Port Leitungen plus I2C Pins. Diese Port Pins stehen auch für externe Anwendungen zur Verfügung. Abgesehen davon habe ich für alle meiner verwendeten uC (Bords) ein Kommandozeilen Monitor (KM)geschrieben
-
Thread
Änderung von Port bzw. Pin zuweisungen
((d & 0x2C) << 2); // bit 4 (PG5) if (d & _BV(4)) PORTG |= _BV(5); else PORTG &= ~_BV(5); Hier sind für bit 2 PB4, für bit 3 PB5 und für bit 5 PB7 angegeben, was nicht stimmt und somit auch nicht
angegeben sind. Ich habe auch schon folgendes versucht: DDRH |= 0x78; DDRE |= 0x38; DDRG |= _BV(5); // bit 6/7 (PH3 & 4) // first two bits 0 & 1 (PH5 & 6) PORTH &= ~(0x78); PORTH |= ((d&0xC0) >> 3) | ((d&0x3) << 5); // bits 2 & 3 (PB4 & PB5) // bit 5 (PB7) PORTE &= ~(0x38); PORTE |=
-
Thread
einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler
Selbst bei einer Eingangsspannung von 100V und Vorteiler 1:1 lässt diese Eingangsspannung maximal R2 und R5 das zeitliche segnen. Der Verlust dieser beiden R ist vertretbar. Hab' nochmal nachgerechnet, die Grenzfrequenz des Tiefpasses R1+R2+R5 + C2 =21k/100pF liegt momentan bei 76 kHz, wird
Relais sollte es aber gehen. >Hab' nochmal nachgerechnet, die Grenzfrequenz des Tiefpasses >R1+R2+R5 + C2 =21k/100pF liegt momentan bei 76 kHz, >wird beim einem 10kHz Rechteck-Eingangssignal etwas eng, >besser wäre C2=56pF. Besser wäre eine Frequenzkompensation des Spannungsteilers, aber das
-
Thread
Arduino 3.3V DC/DC Convertor
Beispiel. Oder so einer: https://m.reichelt.com/at/de/Vielschicht-bedrahtet-X7R-10-/CKX7R-1-0U-50/3/index.html?ACTION=3&LA=517&ARTICLE=206914&GROUPID=3162&artnr=CKX7R+1%2C0U+50&SEARCH=%252A
im Kabel, das man dran steckt. Dieses Kabel versorgt dann aber die Platine vom Mega über den USB-Port. Sieht man auch an der Pin-Bezeichnung VCC an dem Programmierport. Was also wohl passiert ist, dass sich deine 3,3V vom Wandler mit den 5V vom USB beißen. Und womöglich kommen auch noch GND-Probleme
-
Thread
Raspberry Pi 2 Touchscreen und Steuerung wie?
an mein Ground und 5v/3,3V Anschlüssen gesteckt.wie bekomm ich jetzt diese Spannung auf mein Breadboard ? oder kann ich diese I2C Erweiterung vornehmen und dann von dieser Erweiterung an mein Display ,damit ich die Gpios
Gut daran hab ich nicht gedacht aber was ist dann mit den Pins 3 und 5 die ich für den I2C brauche ? verwendet das Display die Pins auch oder sind das freie Plätze die aber vom Display verdeckt werden?
-
Thread
Umsetzung von Hardware-ungekoppeltem Code; Zeiger in C?
Hallo, Hier noch ein Gedanke um die defines zu vereinfachen: #define LED_MIN_PORT PORTB #define LED_HOUR_PORT PORTD #define SWITCH_PORT PORTC #define LED_MIN_1_pin 1 #define LED_MIN_2_pin 2 #define SW_1_pin 5 #define PIN(x) (*(&x - 2)) //address of
) : OUT_HIGH( LED_MIN2 ); val & 8 ? OUT_LOW( LED_MIN3 ) : OUT_HIGH( LED_MIN3 ); val & 16 ? OUT_LOW( LED_MIN4 ) : OUT_HIGH( LED_MIN4 ); val & 32 ? OUT_LOW( LED_MIN5 ) : OUT_HIGH( LED_MIN5 ); } [/C] Die doppelten
-
Thread
PIC-I/O als input/tristate für weiteren output nutzen
Es ist einfacher, mehrere Eingänge auf einen Pin zu legen, als Ausgänge. Z.B. 2 Tasten über 3 Widerstände an einen Analogeingang.
musst, dann platzt eh' gleich nach Projektbeginn der Knopf. > Mit 8 I/O werden über eine Matrix von 5 x 5 24 Schaltausgänge bedient > (und ja, mit zusätzlichen Multiplex_ICs könnte ich das mit 5 I/O > erledigen Mit Schieberegistern sogar mit nur 3 Pins. Beliebig nach oben skalierbar. Und beliebig
-
Thread
Raspberry pi 2 wird extrem heiß
An PC-USB-Ports können deutlich mehr als 2A rauskommen, da die fast immer lediglich über einen Mosfet an der 5V-Schiene hängen. In dem Fall begrenzt nur der RDSon den Strom, Sicherungen sind nicht hinter jedem USB-Port
Habe meine Platine so abgeändert, dass alle in Frage kommenden Bauteile, die mit GPIO Pins zu tun haben aus der Pinleiste des Raspberry versorgt werden. musste nur eine Leiterbahn unterbrechen und mit einem 5 cm langen Draht eine Verbindung zum 3,3 V Pin (Pin1) herstellen. Somit kann mit
-
Thread
DOGM162_163_4WIRE_SPI_3.3V_5.0V_Initialize_ASM
ich mir noch ein EA DOGM163W-A gekauft. Die mit 7-Zip komprimierte Datei <DOGM162_163_4WIRE_SPI_3.3V_5.0V_Initialize.zip> enthält folgende Software: 4WIRE_DOGM162_3_3V 4WIRE_DOGM162_5_0V 4WIRE_DOGM163_3_3V 4WIRE_DOGM163_5_0V SPI_DOGM162_3_3V SPI_DOGM162_5_0V SPI_DOGM163_3_3V SPI_DOGM163
nicht auf die reinen Initialisierungen. Nach dem Einschalten der Versorgungsspannung erscheint für 2.5 s der Hinweis: After this: pls. wait patiently Danach werden die Werte von C0 bis C5 (s. Datenblatt) von 000000 bis 111111 inkrementiert und die LCD_init immer neu aufgerufen. Es dauert recht
-
Thread
Mein erstes Projekt
Hallo, Symbole für +5V und GND sind in der supply1 library. Leitungen quer über den Schaltplan und durch andere Bauteile wenn möglich auch vermeiden. Sind die Leitungen beim Gleichrichter bzw. C1, C2, Spannungsregler usw.
@ 5V) umgesetzt. Bei einem 2VA Trafo sollte genügend Wirkleistung bereitstehen. 3. IMHO gehört in einen 230 V Primäranschluss IMMER eine Sicherung. Andreas
-
Thread
Conrad DCF77 und DS1822 an 3.3V?
und den hat das Board nicht. Es sei denn der ist auf dem Chip drauf. Bis auf die I2C Pins, die OC sind sollen alle anderen 5V tolerant sein. Ob das auch gilt, wenn die als Ausgang geschaltet sind weiss ich nicht, vermutlich eher weniger. >> wieder gleich externer Masse ist und ich
ich nicht alles über die Platine fahren. Beim LPC2368 sind die beiden I2C Pins der "kompatiblen" Schnittstelle (er hat 3 I2C) ja OC. Wenn ich die mit 1 beschreibe steuert der Transistor durch und müsste über den externen Pull Up des DS18B20 eine 0 auf dem Augang erzeugen.
-
Thread
Auswahl des richtigen µc
Features habe ich eine Grafik von genau dieser CPU eingebunden. (Kommt aus dem Datenblatt "STM32F103xC-D-E.pdf" Seite 12. Auf dem linken Bus APB2 ist der Timer TIM1 und TIM8. Auf dem rechten Bus APB1 ist der Timer TIM2, TIM3, TIM4, TIM5, TIM6, TIM7. Auf dem rechten Bus APB1 ist auch der RTC Timer
sicher der XC2000 bestens. ALso hier: http://www.infineon.com/cms/en/product/channel.html?channel=db3a3043243b5f170124c9447c2f4c9c oder schau hier: http://www.infineon.com/cms/en/product/applications/automotive/powertrain/index.html Also lasst mal Eure "Wald-und-Wiesen"-Mikro stecken ... Sorry
-
Thread
PIC - "beliebtester"?
, also Ausgänge auf "low" setzen, erfolgt analog: #include <avr/io.h> ... PORTB &= ~(1<<PB2); /* löscht Bit 2 in PORTB und setzt damit Pin PB2 auf low */ PORTB &= ~( (1<<PB4) | (1<<PB5) ); /* Pin PB4 und Pin PB5 "low" */ [/code] Allein, dass man zum Setzen/Löschen immer ganze Oder
einfach geht (zumindest beim gcc). Das sind vordefinierte Strukturen? Doch, es geht so einfach: [c] #include "sbit.h" int main( void ) { DDR_B3 = 1; // output DDR_B7 = 1; for(;;){ PORT_B3 = PIN_D0; PORT_B7 = !PIN_D0; } } [/c] Allerdings sind die
-
Thread
Impulsverfahren auslesen / Morsecodes im uC interpretieren
Fragen: > 1. wie könnte man den Timer (sequenz_end_timer) realisieren? Ähm. Mit einem Timer? > 2. An welchen PIN würdet ihr das Trigger-Signal anschließen Ähm. An jeden Pin deines µC der einen Interrupt bei Auftreten einer Flanke generieren kann? > und wie > bekomme ich einen Interruptaufruf
--- // * */ int main(void) { DDRB = 0xFF; // set up pin direction PortB as Output PORTB = 0xFF; // Turn all LEDs off DDRD &= ~(1 << DDD2); // Clear the PD2 pin / PIN.4
-
Thread
I2C Kommunikation mit RV3029 Problem
' 8 MHz $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 20 * 2 'Config Lcdpin = Pin , Db4 = Lcd_db4 , Db5 = Lcd_db5 , Db6 = Lcd_db6 , Db7 = Lcd_db7
' 8 MHz $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.7 , Rs = Portc.6 Config Lcd = 20 * 2 'Config Lcdpin = Pin , Db4 = Lcd_db4 , Db5 = Lcd_db5 , Db6 = Lcd_db6 , Db7 = Lcd_db7
-
Thread
erst programmieren, dann schalten
mit SPI nicht. Nun mal meine Frage dazu: Ich drücke Schalter 1 und dann sollen z.B. LED 1,2,3,4 und 5 leuchten. Ich drücke danach Schalter 2 und dann sollen z.B. LED 5,10,11 und 12 leuchten. Ich drücke ich noch einmal Schalter 1 und dann sollen LED 1,2,3,4,5 aus gehen. Ich drücke noch einmal
Bitmusters an die Porterweiterung. Diese Wünsche: > Ich drücke Schalter 1 und dann sollen z.B. LED 1,2,3,4 und 5 leuchten. > Ich drücke danach Schalter 2 und dann sollen z.B. LED 5,10,11 und 12 > leuchten. > Ich drücke ich noch einmal Schalter 1 und dann sollen LED 1,2,3,4,5 aus > gehen. > Ich drücke
-
Thread
RGB-LED Ansteuerung mittels PWM in AVR Studio 4 (C-Programmieren)
. 'OC0A = PD.6 = Pin 12 - RGB LED_1 R 'OC0B = PD.5 = Pin 11 - RGB LED_2 R 'OC1A = PB.1 = Pin 15 - RGB LED_1 G 'OC1B = PB.2 = Pin 16 - RGB LED_2 G 'OC2A = PB.3 = Pin 17 - RGB LED_1 B 'OC2B = PD.3 = Pin 5 - RGB LED_1 B 'ADC0 = PC.0 = Pin 23 'ADC1 = PC.1 = Pin 24 'ADC2 = PC.2 = Pin 25 'ADC3 = PC.3 = Pin 26 'ADC4 = PC.4 = Pin 27 'ADC5 = PC.5 = Pin 28 $regfile = "m88adef.dat" $crystal = 8000000 $hwstack = 100 $swstack = 100
-
Thread
ATmega328P Stromverbrauch
Erfahrungsgemäß ist es am einfachsten einmal irgendwo 5V für das LCD zu erzeugen, Ansteuerung über 5V Seriell zu Parallel Bausteine (PCF8574 z.B.) und die serielle Schnittstelle dann 3V kompatibel zu machen, was bei I2C kein Thema ist.
mal Spannungs Controller rausgeschrieben, um stromsparend arbeiten zu koennen : TPS62056 von 10..2.7V in auf 3.3V, mit 12uA Eigenverbrauch, und 1.5uA im Standby. Arbeitet mit bis 1.2MHz. Allenfalls gibt's da schon bessere.
-
Thread
LCD Ansteuerung
, 1<<PIN_RS ; entspricht 0b00010000 or temp2, temp3 out LCD_PORT, temp2 ; ausgeben rcall lcd_enable ; Enable-Routine aufrufen
Also ich habe jetzt nur folgende Pins am LCD verbunden : Pin1 ; GND Pin2 ; VCC Pin3 ; V am Poti, ich hab den dabei auch mehrmals mit Drehen rumprobiert Pin5 ; GND Und es sind trotzdem keine Balken zu erkennen! Aber warum?
-
Thread
uC Programmiertechniken - Gibt es da Bücher?
*/ double lat = (lat1 + lat2) / 2 * 0.01745; double dx = 111.3 * cos(lat) * (lon1 - lon2); double dy = 111.3 * (lat1 - lat2); double distance = sqrt(dx*dx + dy*dy); return distance; #endif } [/c]
CPU_Sleep(); } /* INT2: Bewegung erkannt */ SystemInit(); Enable_Timer2_ISR(); Enable_Timer3_ISR(); [/c]
-
Thread
LCD zeigt 4 Balken an
In Verbindung mit der Funktion LCD_write_in_ports(); und der Header Definitionen müsste > PIN 11 = PD6 > PIN 12 = PD5 > PIN 13 = PD4 > PIN 14 = PD3 korrekt sein.
{ if(i == 0) cbi(LCD_DATA_4_PORT,LCD_DATA_4_NR); if(i == 1) cbi(LCD_DATA_5_PORT,LCD_DATA_5_NR); if(i == 2) cbi(LCD_DATA_6_PORT,LCD_DATA_6_NR); if(i == 3) cbi(LCD_DATA_7_PORT,LCD_DATA_7_NR); } i++
-
Thread
3 Tasten als HID am USB-Port für Windows-PC
es hier, wie gesagt, tatsächlich nicht notwendig ist, was neues zu kaufen. @Topic: In der main.c findest du: [c]// [...] static const uchar keyReport[NUM_KEYS + 1][2] PROGMEM = { // [...][/c] Den Tasten 1 - 17 (die "pin assignments" stehen weiter oben als Kommentar in der main.c) sind die Buchstaben
/* no key pressed */ /* 1 */ {0, KEY_DOWN}, /* 2 */ {0, KEY_UP}, /* 3 */ {0, KEY_ENTER}, /* 4 */ {MOD_SHIFT_LEFT, KEY_D}, [/c] Ich hoffe dass ich damit auf PB0 "Pfeil-runter" PB1 "Pfeil-hoch" PB2 "Enter" gelegt habe. Ist das so
-
Thread
Instabiler I²C Bus
kommen einmal solche oder andere Werte. Das ist eher ein Zufallsgenerator. Hast du ein anderer I2C Port zum Testen. Schau mal nach, ob auf dem Board schon irgendwas an dem Pin hängt. Eventuell mal die Buskapazitäten messen (sollten laut Datenblatt max. 400pF sein).
Lib kompiliert bekommen und bin dort auf interessante dinge gestoßen: * Sie verwenden nicht den I2C Port sondern SPI, wobei im Anschlussplan MOSI als I2C7SDA und MISO als I2C7SCL geführt wird. * Im Code sieht man folgendes: [c] // Select the I2C function for these pins. This function will
-
Thread
Zeitmessung funktioniert nur so halb :-/
ist. Ansonsten hängt der µC und wartet bis auch tatsächlich alle 5 Lichtschranken durchgeschaltet haben.
> Mit 8 MHz kann ich alle normalen Baudraten ausser 28k8, 57k6, 76k8 und > 115k2. Datenblatt Atmega8, Seite 158 Da steht, dass man mit 8Mhz schon bis 0M5 hochkommt, aber dann hat man Fehlerwahrscheinlichkeiten von 0.2 - 8.5 %
-
Thread
ATMEL Evaluations-Board V2.0.1 - Fehler beim überspielen
mit einem Multimeter die verschiedenen Kabel geprüft und in der selben reihenfolge angelötet. 1-1 2-2 3-3 4-4 5-5 6-frei 7-7 8-8 9-9 (Belegung der beiden Stecker) Habe auch schon die kabel 2(TxD) und 3(RxD) getauscht, leider ohne erfolg. Das Compilen in Bascom-avr funtioniert ohne Probleme
der ATmega nicht, wenn er mit dem PC verbunden ist?). Hier nochmal die aktuelle Kabelbelegung Pin vom PC - Pin am Board 1-6 2-2 3-3 4-4 5-5 6-(frei) 7-7 8-8 9-9 mfg
-
Thread
Drehimpulsgeber mit Rasterstellung bei 00/11 auswerten
9380014B STS 0x014B,R24 Store direct to data space +000003C5: 9621 ADIW R28,0x01 Add immediate to word b) Optimization for speed 70: new_state=PINE & (_BV(PINE4) | _BV(PINE3)); +000003A4: 91800000 LDS R24,0x0000
deinem Code keine grosse Ähnlichkeit mit dem Original erkennen... Vielleicht ist wichtig, dass _BV(PINE4) und _BV(PINE3) verschieden sind. _BV(PINE4) bedeutet z.B. (1<<3) d.h. 8, und _BV(PINE3) = 1<<2 = 4. Ist bei deinem PF.PORT.BIT.B1 vermutlich nicht so? Ausserdem kostet dein LCD_clear() und LCD_write
-
Thread
3x LED-PWM-Faden
aber gleichbleibend gedimmt, wird wohl irgendwie dran liegen dass sich alles zu schnell ändert... [c] #include <stdint.h> #include <string.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> uint16_t values[32] = { 0, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16,
, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19
-
Thread
Brauche Hilfe bei Projektarbeit
Ausgehend vom Bild im Anhang: 1. Beschaltung der 5 Cs (0,1µF) wie im Bild 2. Pin11 (oder Pin10) zum ATMega32 an Pin15 (PD1, TxD) 3. Pin14 (oder Pin7) über einen Schutzwiderstand von ca. 50 bis 100 Ohm an den Innenleiter der 50Ohm-Leitung, Pin15 des MAX232 und alle GND des ATMege an den Schirm der 50Ohm-Leitung. ... fertig ist die µC-Seite. Auf der anderen Seite der 50Ohm-Leitung: 1. Innenleiter der 50Ohm-Leitung an Pin2 eines RS232-Steckers. (keine Buchse) 2. Schirm an Pin5 ... fertig ist die PC-Seite. Zum PC ein RS232
-
Thread
R2R-Netzwerk an Atmega328 - wie klein darf R sein?
1k angeschlossen (2*R). Vcc ist 5V und alle 8 Port-Pins sollen an demm Netzwerk angeschlossen sein. Die anderen Pins sind Eingangs-Pins, an zweien ist ein 20MHz-Quarz angeschlossen und die restlichen sind unbenutzt.
Das interessiert mich auch. > Wie geht das ? Anbei mal die Prinzipschaltung. Zu Beginn sind N2, N3 geschlossen, d.h. C1, C2 werden entladen. Dann öffnen N2, N3. Ein 1-Bit schließt nun N1, ein 0-Bit N2, d.h. C1 wird auf oder entladen. Dann öffnen N1, N2. Dann schließt N3 und die Ladung teilt
-
Thread
PATA Schnittstelle an AVR mit 2 Ports
ich würde gerne mit meinem ATMega "IDE" "sprechen". Ich habe aber aktuell nur noch zwei 8-Bit Ports und ein paar einzelne Pins auf einem 3. Port frei. Wie bekomme ich also die 24 Signalleitungen angeschlossen? Ich hatte folgende Idee: Auf einen Port (nennen wir ihn Port-A) schalte ich alle 8 benötigten Steuersignale der PATA-Schnittstelle. An den zweiten Port (nennen wir ihn Port-B) schließe ich 2 Bus-Transiever (z.B. 74245) an. An meine übrigen 3 Pins des dritten Port schließe ich einen Adreßdekoder an (74138 oder irgend sowas). Der Adressdecoder
-
Thread
Display Ansteuerung - 16 x 4 DotMatrix LCD
----------------- Ddrc = &B11111111 Ddrd = &B11111111 Config Lcd = 16 * 4 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.3 , Db6 = Portc.2 , Db7 = Portc.1 , E = Portc.5 , Rs = Portc.6 Portd.7 = 1 Waitms 20 Locate 2 , 4 Lcd "Hallo" End -----------------------------------
m16adef.dat" $crystal = 8000000 $hwstack = 100 $swstack = 100 $framesize = 100 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _ Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 4 Cursor Off Dim Initcounter As Byte Dim Bt As Byte Dim S As String * 2
-
Thread
Attiny 841 mit SPI ein Display ansteuern
5 PB2) XCK0 - SCK (Pin 10 PA3) TxD1 - MOSI (Pin 8 PA5) RxD1 - MISO (Pin 9 PA4) XCK1 - SCK (Pin 7 PA6) Das Slave-Select-Signal gibt es bei den USARTs nicht, wenn Du das brauchst, musst Du das von Hand mit irgendeinem Portpin nachliefern. Die I2C-Schnittstelle nutzt SCL (Pin 9 PA4) SDA (Pin 7 PA6) Damit /kannst/ Du SPI und I2C gleichzeitig verwenden, bei SPI kannst Du sogar zwischen USART0 und der SPI-Hardware wählen.
-
Thread
ARM - µC
Danke Uwe, also die ersten 3 links beziehen sich auf den DigiKey, oder? Der ARM9 würde mir aber erstmal reichen ;). Ich habe jetzt eigentlich nur 2 Probleme: 1. ein richtigen sockel dafür zu finden. http://www.elk-tronic.de/
uralt UART (mit einigen kleien Eigenheiten) der soviel ich bis jetzt gesehen habe, für die gesamte LPC2xxx Serie immer der gleiche ist. Es gibt für etliche LPC2xxx einen FreeRTOS Port und auch etliche andere Libraries in Sourceform. Google einfach mal nach sämtlichen Typen (2148, 2106, etc). Der Code
-
Thread
unineffizienter Code in Arduino Beispiel "Blink without Delay" ?
= led ^ 1 ? :) > oder auch led ^=1 Ich würde bit-weise invertieren, dann kann man die anderen PortPin's noch für andere Zwecke verwenden. [c] #define PP0 = 0x01; #define PP1 = 0x02; #define PP2 = 0x04; #define PP3 = 0x08; #define PP4 = 0x10; #define PP5 = 0x20; #define PP6 = 0x04,; #define PP7 = 0x08; port ~= PP5; // für PortPin 5 [/c] Durch Addition, z.B. (PP3+PP5+PP7), können mehrere PortPin's angesteuert werden.
-
Thread
wie I2C und SPI über 7 Kabel ?
Ah. Passt doch: Kabel: 1 VCC 2 SCL 3 SDA 4 SCLK 5 MISO 6 MOSI 7 DC Fahrradrahmen: GND
Joe F. schrieb im Beitrag #5858331: > Ah. Passt doch: > > Kabel: > 1 VCC > 2 SCL > 3 SDA > 4 SCLK > 5 MISO > 6 MOSI > 7 DC > > Fahrradrahmen: > GND Ein Draht fehlt noch zum Glück, SPI braucht noch eine vierte Ader, den CS. Die Frage bleibt, warum es I2C und SPI
-
Thread
GPS-MS1 E Inbetriebnahme-Erfahrungen UPDATE µ-Blox (u-Blox
Kontaktunsicherheit mit sich führen. Diese Fehlersuche kann Stunden dauern. Die seriellen NMEA-DATEN (3,3Volt) können direkt an RXD eines 5Volt µC weiterverarbeitet werden, oder per MAX232 bzw MAX3232 für den PC aufbereitet werden. 2. Das _Update_ muss eingespielt werden. Einfach die "gpsxs-dl.exe
bei meinem Kabel rauskommt, wenn ich im Hyper Terminal auf verbinden gehe, leuchtet die LED zwischen PIN5 und Pin4 am Stecker und zw. PIN 5 und PIN7. Auf PIN 2 tut sich nichts, bei PIN 3 leuchtet die LED, wenn ich sie verkehrt rum anschließe!