-
Thread
PIC18F46K80 Anfängerfrage
config WDTPS = 1048576 // Watchdog Postscaler (1:1048576) // CONFIG3H #pragma config CANMX = PORTC // ECAN Mux bit (ECAN TX and RX pins are located on RB2 and RB3, respectively) #pragma config MSSPMSK = MSK7 // MSSP address masking (7 Bit address masking mode) #pragma config MCLRE = ON
PORTB = 0x00; LATB = 0x00; TRISB = 0x00; TRISC= 0b01011000; // PORTC initalisieren LATC= 0b01011000; Init_USART(19200); PORTD = 0x00; LATD = 0x00; TRISD = 0x00; //*******************************************
-
Thread
"Unwichtige" Fragen für die Schaltplan-Optik
Platz einnimmt. Außerdem brauche ich funktionell keinen ganzen Port. Wenn ich aber aus PortB und PortC einen 16bit Parallelbus machen wollen würde, würde ich eindeutig auch das untere Symbol nehmen. Da geht dann Funktion vor einfachem PCB-Layout und zudem ist der Schaltplan schöner, wenn die 16 Leitungen
-
Thread
3x LED-PWM-Faden
LEDs pro Reihe mit 256 Helligkeitsstufen nur folgendes machen muss PORTA=red0; PORTB=blue0; PORTC=green0; PORTD=1; delay(1); PORTA=red1; PORTB=blue1; PORTC=green1; PORTD=2; delay(2); PORTA=red2; PORTB=blue2; PORTC=green2; PORTD=4; delay(4); PORTA=red3; PORTB=blue3; PORTC=green3; PORTD=8; delay(8); PORTA=red4; PORTB=blue4; PORTC=green4; PORTD=16; delay(16); PORTA=red5; PORTB=blue5; PORTC=green5; PORTD=32; delay(32); PORTA=red6; PORTB=blue6; PORTC=green6; PORTD=64; delay(64); PORTA=red7; PORTB=blue7; PORTC=green7
-
Thread
LCD STN 320x240 große Schrift 16x24 / 20x10 ATmega8 Assembler TWI USART inkl. Fontgenerator VBA
auch treiben können, notfalls Oszi anschließen und Pegel prüfen). Aktivierte Pull-Upps: sbi PORTC,4 ; PULL-UP ein sbi PORTC,5 ; PULL-UP ein Es könnte auch sein, dass die SLAVE-Adresse nicht korrekt ist. Einfach mal einen I2C-Scanner anschließen oder per Hand die einzelnen Adressen
-
Thread
PIC18F45k20 interrup & Serielle Übertragung
OFF, WDTPS = 32768 // CONFIG2H #pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC // CONFIG3H #pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L #pragma config CPB = OFF, CPD = OFF // CONFIG5H
OFF, WDTPS = 32768 // CONFIG2H #pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC // CONFIG3H #pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L #pragma config CPB = OFF, CPD = OFF // CONFIG5H
-
Thread
7-Segment Multiplex Library
; Wert 2 aus Tabelle laden in r24, PINC andi r24, 0x30 or r24, r16 out PORTC, r24 DP mußt du in beiden Fällen gesondert rechnen, bzw. setzen, Byte mußt du auch in jedem Fall aus einer Tabelle laden, so... Und die paar Bytes und Cycles mehr machen kaum einen Unterschied
2 aus Tabelle laden > in r24, PINC > andi r24, 0x30 > or r24, r16 > out PORTC, r24 > > DP mußt du in beiden Fällen gesondert rechnen, bzw. setzen, Byte > mußt du auch in jedem Fall aus einer Tabelle laden, so... > Und die paar Bytes und Cycles mehr machen kaum einen
-
Thread
AVR bootloader Probleme
ob parser_state PARSER_STATE_START ist [c]if (parser_state == PARSER_STATE_START) { PORTC ^= (1 << PC0); }[/c] dann funktioniert alles :/ Der compiler macht dann auch einen ganz anderen assembler code daraus: ohne IF Abfrage: [avrasm] /* Programmzustand: Parser *
cpse r7, r1 1e26e: 10 c0 rjmp .+32 ; 0x1e290 <main+0xce> PORTC ^= (1 << PC0); 1e270: 88 b1 in r24, 0x08 ; 8 1e272: 83 25 eor r24, r3 1e274: 88 b9 out 0x08, r24 ; 8 } switch(parser_state) {
-
Thread
ADC Wandlung, was mache ich Falsch
GGF. die while schleife .... }; .... if ( ADIF == 1 ) { PORTC ^= _BV(PC0); } [/c] Ich bedanke mich für euere Mühen und verbleibe mit freundlichen Grüßen Balou Baer
-
Thread
C# Serielleschnitstelle Empfang zu viele zeichen
OFF, WDTPS = 32768 // CONFIG2H #pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC // CONFIG3H #pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L #pragma config CPB = OFF, CPD = OFF // CONFIG5H
-
Thread
Kapazitive Erdfeuchtemessung
habe einen atmega88 mit folgendem code: [c] DDRC = (1 << DDC0); //Port auf Ausgang setzten PORTC |= (1 << PINC0); /* setzt Bit auf 1 */ _delay_ms(5); // kurz warten bis geladen DDRC &= ~(1 << DDC0); //Port auf Eingang PORTC &= ~(1<<PINC0); //Tristate
-
Thread
HC-SR04 mit Atmega8
Trig | PC0 Echo | PC1 */ #include <avr/io.h> //#include <util/delay.h> #define US_PORT PORTC #define US_PIN PINC #define US_DDR DDRC #define US_TRIG_POS PC0 #define US_ECHO_POS PC1 #define US_ERROR -1 #define US_NO_OBSTACLE -2 void HCSR04Init(); void HCSR04Trigger
-
Thread
ITG3200 Probleme Bascom
$crystal = 16000000 $hwstack = 50 $swstack = 50 $framesize = 50 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.5 , Db6 = Portc.6 , _ Db7 = Portd.7 , E = Portc.3 , Rs = Portc.4 Config Lcd = 16 * 4 Waitms 10 Initlcd Cls Waitms 50 Cursor Off Noblink $lib "i2c_twi.lbx" Config Scl = Portc.0 Config Sda = Portc.1 Config Twi = 400000 I2cinit Config Timer1 = Timer , Prescale = 64 On Timer1 Isr_von_timer1 Timer1 = 65286 Enable Interrupts Enable Timer1 Dim Temp_out_h As Byte Dim Temp_out_l As Byte
-
Thread
ATmega644 Timer1 CTC-Mode Timerinterrupt unregelmäßig
ldi r24, Low (HWRD(COUNT)) ldi r25, High(HWRD(COUNT)) ldi r16, 0x00 out PORTC, r16 _Loop32bit: subi r22, 1 sbci r23, 0 sbci r24, 0 sbci r25, 0 nop nop brne _Loop32bit ldi r16, 0xFF out PORTC, r16 _End: rjmp _End [/avrasm] Schwingt der Quarz mit genau 8 Mhz wird eine an PortC angeschlossene LED exakt eine Stunde lang leuchten. Schau, wieviele Sekunden kürzer oder länger sie wirklich leuchtet (*) und rechne die relative Abweichung aus. (*) Wobei Du natürlich sicherstellen
-
Thread
[[C] LCD die 10000ste
Kästchen noch grade so sieht --> erledigt. Das ganze läuft auf einem Mega32, das LCD hängt an PortC und JTAG ist aus. Am Mega hängt ein 16Mhz Quarz, der auch fehlerfrei werkelt. LED blinken geht. Angeschlossen ist es wie folgt: PORT C 0 (22) = RS PORT C 1 (23) = PORT C 2 (24) = E
-
Thread
Anregungen / Fragen / Hinweise zu Wecker
; PORTB.OUTSET=0x81; PORTA.OUTSET=0x80; break; case 0x33: PORTC.OUTSET=0x61; PORTB.OUTSET=0x02; PORTA.OUTSET=0x80; break; case 0x34: PORTC.OUTSET=0x15; PORTB.OUTSET=0xA0; break; case 0x35: PORTC.OUTSET=0x51; PORTB.OUTSET=0x82; PORTA.OUTSET=0x80; break; case 0x36: PORTC.OUTSET=0x51; PORTB.OUTSET=0x83; PORTA.OUTSET=0x80; break; case 0x37: PORTC.OUTSET=0x49; PORTB.OUTSET=0x90; break; case 0x38: PORTC.OUTSET=0x71
-
Thread
Tastercode ATMega8, AVR
weiter geholfen :( if (!(PINB & (1<<PB0))) { PORTB |= (1<<PB0); _delay_ms(2000); PORTC &= ~ (1<<PC2); } else { turnLedOn(BIT_6,1); turnLedOn(BIT_7,1); } habe es jetzt so, wenn ich den Taster drücke, gehen die LED's für 2 sekunden aus
an diesem Pin den Pullup einschalten while( 1 ) { if( !( PINB & (1 << PB0) ) ) PORTC |= ( 1 << PC2 ); else PORTC &= ~( 1 << PC2 ); } } [/c] das ist einfach nur eine Zusammensetzung aus den Elementen der [[Bitoperationen]] und dem Wissen, was man im DDR Register
-
Thread
AVR LEDs mit Taster programmieren ,ATMEGA8
if(led==BIT_1 || led==BIT_4 || led==BIT_5 || led==BIT_6 || led==BIT_7){ if(on==1){ PORTC &= ~led; }else{ PORTC |= led; } return; } if(led==BIT_2 || led==BIT_3){ if(on==1){ PORTB &= ~led; }else{ PORTB |= led; }
-
Thread
Brushless Regler Umbau
WH_OFF TCCR2A &= ~(1<<COM2B1); //PHASE3 (W) #define WL_DDR DDRC |= (1<<3); #define WL_ON PORTC |= (1<<3); #define WL_OFF PORTC &= ~(1<<3); #define PHASE_ALL_OFF UH_OFF;UL_OFF;VH_OFF;VL_OFF;WH_OFF;WL_OFF; #define SENSE_U ADMUX = 0; #define SENSE_V ADMUX = 1; #define SENSE_W
WH_OFF TCCR2A &= ~(1<<COM2B1); //PHASE3 (W) #define WL_DDR DDRC |= (1<<3); #define WL_ON PORTC |= (1<<3); #define WL_OFF PORTC &= ~(1<<3); #define PHASE_ALL_OFF UH_OFF;UL_OFF;VH_OFF;VL_OFF;WH_OFF;WL_OFF; #define SENSE_U ADMUX = 0; #define SENSE_V ADMUX = 1; #define SENSE_W
-
Thread
TCP/IP Server
soll? 15 LEDs mit Muster wäre z.B. einfach ein [c] int i = 0; while (1) { PORTB = i++; PORTC = i++; } [/c] Inhaltlich und der Komplexität nach, hat das wohl kaum ein Zusammenhang zu Deinem Vorhaben. Eine Erklärung zu Erfahrungen besteht muss mir einen Eindruck vermitteln ob Du überhaupt
-
Thread
7-Segmentanzeige Multiplexer Schaltung ok?
einfacher zu realisieren) nächste Stelle bestimmen neues Muster für die nächste Stelle an PORTC ausgeben diese Stelle über PORTA aktivieren [/code] dann hast du automatisch einen kleinen Zeitraum in dem nichts leuchtet und das reicht dann auch schon. Das das ganze über Timer und
die einzelnen Ziffern // digits enhält die Ziffern (1-5) der angezeigten Zahl PORTC |= (1<<(z+2)); // Ziffer einschalten z++; if (z>4) z=0; }[/c]
-
Thread
[C] PWM für Ladungspumpe, Versatz realisieren?
******************************** DDRD = 0xff; // PortD Ausgänge DDRC = 0x00; // PortC Eingänge // **** Einrichten von PWM Betrieb *************************************************************** // Der Timer 1 wird im Fast PWM Modus betrieben TCCR1A = 0b10110001;
********************************** DDRD = 0xff; // PortD Ausgänge DDRC = 0x00; // PortC Eingänge // **** Einrichten von PWM Betrieb *************************************************************** // Der Timer 1 wird im Fast PWM Modus betrieben TCCR1A = 0b10110001;
-
Thread
ATMEGA32 Prellspitzen abfangen
Anbei mal meinen Schaltplan der µC-Platine. Die Versorgungsspannung kommmt über PortC "Verteiler" vom Netzteil. Der Takt für PL / ... und MISO beträgt ca. 500 Hz. Habe den Schaltplan aus Versehen zweimal angehängt.
-
Thread
(Wahrscheinlich) Pointer Problem
RCLOCK595_PIN PC2 #define RCLOCK595_PORT PORTC #define RCLOCK595_DDR DDRC /////// #define RCLOCK595_high() (RCLOCK595_PORT |= _BV(RCLOCK595_PIN)) #define RCLOCK595_low() (RCLOCK595_PORT &= ~_BV(RCLOCK595_PIN)) ////////////////
////////////////////////////////////// #define DATA165_PIN PC5 #define DATA165_PORT PORTC #define DATA165_DDR DDRC //////////////////////////// #define CLOCK165_PIN PC4 #define CLOCK165_PORT PORTC #define CLOCK165_DDR DDRC #define CLOCK165_high() (CLOCK165
-
Thread
Hilfe bei Erstellung einer Library für den ADXL362
schreibende Daten while(!(SPSR & (1<<SPIF))); //Warte auf Übertragungsende _delay_us(2); PORTC = (PINC | (1<<SS2)); //Setze Chipselect auf 1 }[/c] [c]//Liest Daten aus einem Register des ADXL362 unsigned short lesen_ADXL362(int reg) { PORTC = (PINC | (1<<SS2)); //Setze Chip-Select
Warum die Anbängigkeiten von PINC? Für den Anfang: statt PORTC = (PINC | (1<<SS2)); : PORTC |= (1<<SS2); und statt PORTC = (PINC & (~(1<<SS2))); : PORTC &= ~(1<<SS2);
-
Thread
Tastendruck wird nicht erkannt
PullUps aktivieren, bei HIGH-aktiven nicht */ #if TASTER_LEVEL ; #else PORTC |= 1 << PC2; PORTC |= 1 << PC3; PORTC |= 1 << PC4; PORTC |= 1 << PC5; #endif /* Timer0 ohne Prescaler starten */ TCCR0 |= (0<<CS02) | (0<<CS01) | (1<<CS00
PB4) | (0<<PB5); DDRC |= (0<<PC0) | (0<<PC1) | (0<<PC2) | (0<<PC3) | (0<<PC4) | (0<<PC5); PORTC |= (1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) | (1<<PC4) | (1<<PC5); DDRD |= (0<<PD0) | (0<<PD1) | (0<<PD2); PORTD |= (1<<PD0) | (1<<PD1) | (1<<PD2); // Interrupts freigeben
-
Thread
Ansteuerung LCD 204b (Controller unbekannt)
setzen lcd_enable(); } [/c] Im Header sind die Ports definiert. [c] #define LCD_DATA_PORT PORTC #define LCD_DATA_DDR DDRC #define LCD_DATA0 0 #define LCD_DATA1 1 #define LCD_DATA2 2 #define LCD_DATA3 3 #define LCD_CTRL_PORT PORTD #define LCD_CTRL_DDR DDRD #define LCD_RS
-
Thread
Daten an PC mit MAX232
Hauptprogramm int main(void) { //Einmalig abgearbeite Kommandos DDRC |= (1<<PB1); //Definiert PortC Pin 5 als Ausgang DDRB &= ~(1<<PB0); //Definiert PortB Pin 0 als Eingang uart_init(); //UART-Initialisierung aufrufen //Lokale Variablen uint8_t Flanke = 0; char y;
-
Thread
Fuse Bits korrekt setzen
include <avr/io.h> #include <util/delay.h> int main(void) { DDRC = 0xFF; while(1) { PORTC = 0xFF; PORTC= 0x00; } }[/c] Gruß
-
Thread
Problem mit meinem Projekt (Quadrocopter)
; // use A2 instead of d8[/color] [color=#7E7E7E]//#define OVERRIDE_BUZZERPIN_ON PORTC |= 1<<2 //PORTB |= 1;[/color] [color=#7E7E7E]//#define OVERRIDE_BUZZERPIN_OFF PORTC &= ~(1<<2); //PORTB &= ~1;[/color] [color=#7E7E7E]/*******************************************
#7E7E7E]//#define LANDING_LIGHTS_DDR DDRC[/color] [color=#7E7E7E]//#define LANDING_LIGHTS_PORT PORTC[/color] [color=#7E7E7E]//#define LANDING_LIGHTS_BIT PORTC0[/color] [color=#7E7E7E]//#define LANDING_LIGHTS_INVERT[/color] [color=#7E7E7E]/* altitude above ground (in cm) as reported