auf 0x3F Wenn ich jetzt 3,3V anlege, sollte im jeweiligen Register PORTCbits.RCX eine 1 stehen. PORTC ist aber auf 0x00. Die Adresse vom PORTC (0xE) stimmt. Die Lötung habe ich geprüft und ich habe es an einem zweiten PIC getestet. Gleiches Problem. Testweise habe ich mal TRISC0 und TRISC1 auf
Schließer) ersetzt, betätigt durch einen Magneten 'am Vorderrad (Teil von altem Fahrradcomputer) 'taster2 PORTC.5 wählt die Anzeige aus, langer Tastendruck löscht den jeweiligen Wert ' zu Beginn kann mit dem Poti1 PORTC.0 der Radumfang eingegeben werden. ' 4 K Größe (Demo Version)wird ausgenutzt, es sind keine
Komma und Leerzeichen Ddrb = &B00001110 Portb = &B11110001 ' portb.0 ist eingang Ddrc = &B00000000 Portc = 255 Admux = &B01100000 'bit 7 u. 6 aref intern bit 5 nur 8 bit 3..0: adc0 Adcsra = &B11100010 ' adcan start frei clock/4 Tccr1a = &B00000000 Tccr1b = &B11000101 'bit 6=1 steigende flanke 3600 pro
Tx_Data[0]= 0xAB; CANWrite(Tx_ID, Tx_Data,1, Can_Send_Flags); // PORTC = 0x3; // delay_ms(10000); } } [/c] Ich gehe von einer korrekten Beschaltung des MCP's aus, da das prinzipielle Kommunizieren sauber funktioniert. Jemand hier der unterstützen
microcontroller Welt und steh vor einem Problem. Hatte mir eine LED Brücke gebaut (8 LEDs) und diese an PortC 0-7 angeschlossen. Dann diese alle mit DDRC = 0xFF; PortC = 0x00; alle auf Low Pegel gesetzt jedoch gehen nicht alle LEDs nur PC0 PC1 PC6 und PC7. Die andern sind ohne Pegel. Hab die selbe Programmierung
Batterielaufzeit heisst LCD mit statischer Ansteuerung, angenommen man packt die Ziffern an PPTA,PORTB und PORTC und Backplane an PORTD.0, und die Taster an PORTD.1 bis PORTD.6 an einen Schalter der die Verbindung nach GND aufhebt dann ist das Programm einfach [code] void setup() { DDRB=DDRA=DDRC=0xFF
schalten DDRC=0b01100000; // 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); i2c_init(); // Starte I2C Bus lcd_init(); // Starte I2CLCD lcd_light(0); // 0=Licht an, 1=Licht aus // Display Befehle lcd_command
gestellt TRISA = 0xFF; // Set PORTA as input TRISC = 0x00; // Set PORTC as output TRISD = 0x00; // Set PORTD as output ADC_Init(); // Initialize ADC module with default settings Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); // Clear display
schalten DDRC=0b01100000; // 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); i2c_init(); // Starte I2C Bus lcd_init(); // Starte I2CLCD lcd_light(0); // 0=Licht an, 1=Licht aus // Display Befehle lcd_command
schalten DDRC=0b01100000; // 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); i2c_init(); // Starte I2C Bus lcd_init(); // Starte I2CLCD lcd_light(0); // 0=Licht an, 1=Licht aus // Display Befehle lcd_command
vergleich += ADCW; //Gemessenen Wert aus ADCW auslesen if (temp > vergleich) { PORTC = (1<<PC4); } else { PORTC = (0<<PC4); } Dieser Programmauschnitt funktioniert nicht :( Muss ich den ADC zwischendurch immerwieder deaktivieren? da sonst der gemessene
Fehleingaben As Byte 'Deklarationen Declare Sub Clearealleeingaben() 'Configurationsabschnitt Config Portc.0 = Output 'So definiert man einen DDRx Reihe als Output und kann den dann Toggeln 'Config Pinc.4 = Input 'So definiert man einen Input Pin für einen Taster 'Portc.4 = 1 'So schaltet man Pullupwiderstand
memory mapped mode, 1: IO port mode */ #if LCD_IO_MODE #ifndef LCD_PORT #define LCD_PORT PORTC /**< port for the LCD lines */ #endif #ifndef LCD_DATA0_PORT #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ #endif #ifndef LCD_DATA1_PORT #define LCD_DATA1_PORT
on lcd*/ _delay_ms(50); } return 0; } Anbei mein Testaufbau. Ich verwende PORTC + PB1 um das LCD anzusteuern. Seht ihr irgendwas abgrundtief Falsches? Aktuell stochere ich nur in Trüben. Den Trimmer habe ich für VO auf 1K eingestellt. Wie gesagt, verdrehe ich Data0 - 3 sehe
controller's SPI interface (SPIC on ATxmega128a3u), using its /SS output (PORTB.4 on ATmega1284P, PORTC.4 on ATxmega128a3u) as /CS on the flash chip. Note that the W25Q64BV only supports 3.6 volts max for supply. If you own a programmer for the serial flash you can use it to store an MP3 file, starting
" if (chars=='A') { PORTC=(1<<DDC1); } PORTC=0x00; } " Das wird in einer sehr schnellen Endlosschleife wiederholt ausgeführt. Wenn du ein A schickst, ist PC1 für ein bis zwei CPU Takte (paar
wäre PORTC=(1<<PC1). Noch richtiger wäre PORTC |=(1<<PC1); zum Einschalten und PORTC &= ~(1<<PC1); zum Ausschalten. Unterschied: Mit diesem beiden Befehlen änderst du nur das eine Bit, was du ändern
Programmierung mit MC die ich kenne sieht ein Blinklicht wie folgt aus: DDRC = 0b00100000; PORTC = 0b11111111; // PC5 = High _delay_ms(1000); PORTC = 0b11011111; // PC5 = Low _delay_ms(1000); Im Arduino sieht der Beispielcode anders aus. int led = 13; pinMode(led
schalten DDRC=0b01100000; // Port C 2x auf Ausgang schalten KEY_DDR&=~ALL_KEYS; KEY_PORT|=ALL_KEYS; PORTC |= (1<<PC5); // Port C beim einschalten Ausgänge aus PORTC |= (1<<PC6); i2c_init(); // Starte I2C Bus lcd_init(); // Starte I2CLCD lcd_light(0); // 0=Licht an, 1=Licht aus // Display Befehle lcd_command
.4 RESX alias Porte.3 DCX alias porte.5 WRX alias Porte.6 RDX alias Porte.7 DATA_PORT alias PortC Const Wait_S = 150 Dim a as long '******************************************************************************* 'Colors '***************************************************************
Command Port Chip1, Chip2 & RST #define LCD_DATA_PIN PINC // Data Input Register #define LCD_DATA_PORT PORTC // Data Output Register #define LCD_DATA_DDR DDRC // Data Direction Register for Data Port // Command Port Bits #define CD 0x05 // Data/Control (RS) PinNumber #define RW 0x06 // R/W PinNumber #define
für INT0 und INT1 Gibt es eine möglichkeit die LCD Routines so um zuschreiben das RS und EN auf PortC und die 4 Datenleitungen auf PortD verteilt sind? Wenn nicht, müsste ich mich von Int0 und Int1 trennen wollen. [c] // LCD RS <--> PORTB Bit PC2 (RS: 1=Data, 0=Command) #define LCD_RS
Beitrag #4477196: > Gibt es eine möglichkeit die LCD Routines so um zuschreiben das RS und > EN auf PortC und die 4 Datenleitungen auf PortD verteilt sind? Ja gibt es.
diese Aufgabe und dieses Programm anpassen will. Nur habe ich dorthin die Bediengung if (GPIO_PORTC_DATA_R & 16) // Wenn Taste PC4 gedrückt ist .................. .................. else { GPIO_PORTC_DATA_R &= ~32; //sonst LED PC5 aus } eingeführt. Ich bitte Sie, zu mir nicht zu streng
Wie kommt man davon auf 400 clock tics? Frage 2: Was bedeuten das Zeichen ~ in Zeilen GPIO_PORTC_DIR_R &= ~16; // Port 4 weil 16=2^4 GPIO_PORTC_DATA_R &= ~32; //sonst LED PC5 aus Frage 3: Ist die Bediengung if (GPIO_PORTC_DATA_R & 16) // Wenn Taste PC4 gedrückt ist an der richtigen