-
Thread
Berechnungsfehler?
wirklich schlau, was das werden soll. Aber am Anfang der Schleife ist zb der Teil hier [C] PORTC |= S0|S1|S2; // H | H | H = Y7 _delay_ms(50); if (!(PINB & (1<<D_IN1))) ERR=+1; PORTC = 0x00; //reset MUX _delay_ms(50); [/C] immer gleich. Nur die Zahlenwerte
ändern sich. -> Kandidat füe eine Funktion [C] void Pulse( uint8_t Pins, uint8_t InputMask ) { PORTC |= Pins; _delay_ms(50); if (! (PINB & IputMask) ) ERR = +1; PORTC = 0x00; //reset MUX _delay_ms(50); } [/C] weil ich es gerade sehe: Ist es Absicht, dass du da
-
Thread
Bei Betätigung eines Tasters Strom geben -> Atmega8
******************* ; PORTC - Port C Data Register .equ PORTC0 = 0 ; Port C Data Register bit 0 .equ PC0 = 0 ; For compatibility .equ PORTC1 = 1 ; Port C Data Register bit 1 .equ PC1 = 1 ; For compatibility .equ PORTC2 = 2 ; Port C Data Register bit 2 .equ PC2 = 2 ; For compatibility .equ PORTC3 = 3 ; Port C Data Register bit 3 .equ PC3 = 3 ; For compatibility .equ PORTC4 = 4 ; Port C Data Register
-
Thread
Linvor Bluetooth Modul antwortet Atmega8 nicht wie erwartet
while ( !(UCSRA & (1<<RXC)) ) { //warten bis senden fertig long_delay(300); PORTC |= ( (1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) ); long_delay(300); PORTC &= ( ~(1<<PC0) & ~(1<<PC1) & ~(1<<PC2) & ~(1<<PC3) ); long_delay(300); PORTB = UDR; PORTC
) & ~(1<<PB3) ); long_delay(700); cReceive=UDR; PORTB = cReceive; PORTC = ( cReceive >> 4); long_delay(2000); } PORTC |= (1<<PC4); long_delay(500); PORTC &= ~(1<<PC4); long_delay(150); } } [/c] Equinox
-
Thread
LCD <----> µC | Cursor vom Display mit dem µC abfragen
cursor ;sichern bcf portc,0 ;RS auf Low legen bcf portc,1 ;RW auf Low legen decf cursor,1 ;Cursor Wert minus 1 movfw cursor ;Cursor Wert ins Work bcf portc,0
@karl heinz ich glaube, es geht darum zu wissen in welcher position im menue er gerade ist.
-
Thread
Schalten mit AT90S8535
drücke (z.b.)taste 1 an port A LED 1 an port C leuchtet ich drücke dann taste 1 an port B LED 1 geht aus und LED 2 geht an und das mit allen ports Wenn jemand ne idee hat wie ich das machen kann, bitte posten# Vielen Dank
gelehrt werden, dann könnte man auch solche einfachen Logikgleichungen aufstellen: for(;;){ PORTC = PINA | PORTC & ~PORTD; PORTD = PINB | PORTD & ~PORTC; } Peter
-
Thread
Analogwert Auswerten Bascom
Konfiguration! Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Config Portc = Output Portc = 255 Dim W As Integer , Channel As Byte ' HIER geht die Endlosschleife los Do 'Analogwert einlesen W = Getadc(1) Print "Channel 0 " ; " value " ; W 'Incr Channel 'Analogwert 1 If(w > 240 Or W < 260) Then Portc.0 = 0 else Portc.0 = 1 End If Loop [/pre] MfG Falk
-
Thread
UART mit Logik schalten
des UART Atmega). Die TX-Leitung des UART Atmega geht auf ext. int1 des Logik Atmega, und wenn da die Freigabe vorhanden ist, geht es über ein Pin zum MAX232 raus?
RS232) und PINC2(Atmega 2/2) high sind tue was { PORTC |= (1<<PC5); //setze PC5 high } PORTC &= ~(1<<PC5); //setze PC5 low } return 0; } [/c]
-
Thread
reihenfolge der bits in einem byte umdrehen
festgestellt, dass der aktuelle WinAVR mit -OS ein riesen Schrott erzeugt! [c] unsigned char Val; Val= PORTC; Val = (Val&0xF0)>>4 | (Val&0x0F)<<4; Val = (Val&0xCC)>>2 | (Val&0x33)<<2; Val = (Val&0xAA)>>1 | (Val&0x55)<<1; PORTC=Val; [/c] Wird zu: [c] Val= PORTC; IN R18,0x15 In from
.. ganz ohne tabellen Aber halt auch mit 17 Takten. Ein Tabellenzugriff in eine ROM- Tabelle geht schneller.
-
Thread
frequenz auslesen und auf lcd anzeigen
hdatei: [C] char buffertakt [50]; int zaehler; int zahl; int hz; int i; #define RS_1 PORTC |= (1<<PC7) #define RS_0 PORTC &= ~(1<<PC7) int wait () { _delay_ms(2); return 0; } int E () { PORTC |= (1<<PC6); PORTC &= ~(1<<PC6); return 0; } int ausgabe () { RS_0; PORTA
daran lags leider nicht...der interrupt geht immer noch nicht...
-
Thread
externer interrupt
1 << ISC10)|(1<<ISC11); sei(); while(1){ PORTC=0xff; _delay_ms(1); PORTC=0x00; _delay_ms(1); } } ISR(INT1_vect) { PORTB=0xff; PORTB=0x00; }[/c] Ein Signal des PortC wird dabei zum Test auf den INT1/PD3 gegeben. Zum Oszibild: blau PortC und gelb PortB
-
Thread
LED-Matrix: Phantomleuchten
> Schleifen sind generell tödlich fürs Multiplexen oder PWM. > Das geht nur mit einem Timerinterrupt zufriedenstellend [ ] Der Profi spricht.
in der Abarbeitung ein bischen Zeit dauert. Durch die sequentielle Anordnung der Befehle [C] PORTC = ~ADRESSES[ActiveLEDs.LOWER_LED][0]; PORTD = ADRESSES[ActiveLEDs.LOWER_LED][1]; ... PORTC = ~ADRESSES[ActiveLEDs.MIDDLE_LED][0]; PORTD = ADRESSES[ActiveLEDs.MIDDLE_LED]
-
Thread
AVR-Board Schaltplan
zu verbinden ist, auch wenn man den ADC nicht benutzt? Weil AVCC der Stromversorungspin für den PortC ist.
kann wer von euch für mich das routen? pls, weiß nicht wie das geht ;(
-
Thread
Verständnisfrage PIC-Stack
instruction. Anstatt movlw B'00000000' movwf PORTA movwf PORTB movwf PORTC movwf PORTD movwf PORTE kannst Du clrf PORTA clrf PORTB clrf PORTC clrf PORTD clrf PORTE nehmen --- einen Befehl und ein wenig Zeit gespart. Dein Konstrukt zum
nicht auch das ein oder andere Mal zum Wörterbuch greifen muss, wenn es um etwas 'Branchenfremdes' geht.
-
Thread
Probleme mit ATMega16, PORTC macht was er will!!??
; //eine Variable um 1 hochzählen } int main(void) { io_init(); //timerinit(); PORTC = 0x0; return(0); } Ich will einfach nur alle PINS von PORTC auf 0 setzen, aber es geht nicht. Hab sogar schon die Timer-Initialisierung auskommentiert, weil ich dachte, es liegt da ran, aber es geht nicht. Hab an PORTC ein Display hängen, das ich ansteuern will, aber mein PORTC macht, was er will *wunder*. Bekomme, wie schon gesagt, noch nicht mal alle PINS auf 0V. :-/ Wenn ich obiges Programm
-
Thread
AT Mega 88 Interrupt
vect) { ChargeCurrent_Write_Speed(); ChargeVoltage_Write(); InputCurrent_Write(); } geht leider aber immer noch nicht. Muss ich noch was definieren ? Habe ich was übersehen?
Befehl' wieder zurück. > P.S bitte nicht gleich "steinigen" wenn es zu einfach ist ..... Es geht nicht um "einfach". Es geht darum, dass diese Taktik der Problem-Präsentation in homöopathischen Dosen einfach nur nervt. Speziell wenn schon x-mal nach komplettem Code nachgefragt wurde und du dann
-
Thread
Unerklärliche Ausgabe beim Multiplexen
Segmentanzeigen anzeigen. Die Anzeige wird mit folgender ISR gelöst: [c] ISR(TIMER0_OVF_vect){ PORTC=0; show(display[pos]); PORTC|=(1<<pos); if(pos==0&&einspeisen==1) PORTD&=~(1<<7); if(pos==1&&powered==1) PORTD&=~(1<<7); pos++; if(pos>3) pos=0; } [/c] Die Variable
sind: Mit einer Maske, die bei jedem Aufruf um 1 Stelle geschoben wird und wenn pos auf 0 geht, wird auch die Maske wieder auf Ausgangsstellung gesetzt. [C] uint8_t multiPinMask = 0x01; ISR(TIMER0_OVF_vect) { PORTC = 0; PORTD = display[pos]; PORTC |= multiPinMask; //
-
Thread
Atmel AVR 168 xplained Mini Code funkt nicht
Hallo, Knut schrieb schon einiges. Noch mal klarer: dies führt zu PortC als Eingang mit Pullup on. [c]DDRC = 0b00000000; PORTC = 0xFF;[/c]
} } [/c] Am Ausgang PD5 müsste dan das gleiche Signal heraus kommen, wie in PC1 rein geht.
-
Thread
Programmierung einer LED-Anzeige zu langsam
3; ... Vorlage2[0] = 0; ... Vorlage2[9] = 1; Vorlage2[10] = 3; [/c] und dann PORTC = Vorlage[Wert]; PORTD = Vorlage2[Wert];
edit: Das Array geht natürlich nur von 0-9, sorry für den schreibfehler ;)
-
Thread
A t m e g a 88 wird nicht mehr erkannt
ldi r17, 0x00 ende: out PORTC, r16 out PORTC, r17 rjmp ende [/asm]
die 8 MHz nicht, nötig wäre ein Quarz über 10 MHz. Alternativ könnte man den ATmega8 mit out PORTC, r16 out PORTC, r17 vollpacken plus Rücksprung vom Ende an den Anfang und mehrmals versuchen, die L-fuse des 88 umzustellen. Wobei allerdings dieses > Auf dem Atmega88 ist ja auch noch ein
-
Thread
Micropersonalcomputer
Haupt-Codefresser [C] void LED(int On, int Loop, int MS) { if(Loop) { while(Loop) { PORTC |= (1 << PC0); //An _delay_ms(MS); PORTC &= ~(1 << PC0); //Aus _delay_ms(MS); Loop--; } } else { if(On) PORTC |= (1 << PC0); //An else
void LED(int On, int Loop, int MS) > { > if(Loop) > { > while(Loop) > { > PORTC |= (1 << PC0); //An > _delay_ms(MS); > PORTC &= ~(1 << PC0); //Aus > _delay_ms(MS); > Loop--; > } > } > else > { > if(On) > PORTC |= (1 << PC0)
-
Thread
VPP, MCLR und VDD
Compiler benutzt du? Nochwas. Im Main() hast du TRIS definiert, aber den zustand nicht (PORTB und PORTC). d.h. Ausgangspegel ist undefiniert.
> Im Main() hast du TRIS definiert, aber den zustand nicht > (PORTB und PORTC). d.h. Ausgangspegel ist undefiniert. Richtig, das fehlt noch: PORTB = 0x00; // Reset Port B PORTC = 0x00; // Reset Port C
-
Thread
Pin Change Interrupt PCINT0
Status-LEDs PC0, PC1, PC2, PC3 DDRC |= ((1<<DDC0)|(1<<DDC1)|(1<<DDC2)|(1<<DDC3)|(1<<DDC4)); PORTC &= ~((1<<PORTC0)|(1<<PORTC1)|(1<<PORTC2)|(1<<PORTC3)|(1<<PORTC4)); // -- Konfiguration PCINT0 Interrupt an Pin PB0, PB1 & PB2 -- DDRB &= ~((1<<DDB0)|(1<<DDB2)|(1<<DDB2)); PORTB |=
Gebastelt). [c] ISR (PCINT0_vect) { for (unsigned char i = 1; i <=15; i++) { PORTC = i; _delay_ms(200); } PCIFR |= (1<<PCIF0); } [/c] So geht es nun. Aber warum wird das PCIF0 Flag nicht selbständig nach der Abarbeitung gelöscht?
-
Thread
ATmega32A; 595; 165 Code Hilfe benötigt
RCLOCK_PORT PORTC #define RCLOCK_DDR DDRC /////// #define RCLOCK_high() (RCLOCK_PORT |= _BV(RCLOCK_PIN)) #define RCLOCK_low() (RCLOCK_PORT &= ~_BV(RCLOCK_PIN)) //////////////// #define CLOCK_PIN
RCLOCK_PORT PORTC #define RCLOCK_DDR DDRC /////// #define RCLOCK_high() (RCLOCK_PORT |= _BV(RCLOCK_PIN)) #define RCLOCK_low() (RCLOCK_PORT &= ~_BV(RCLOCK_PIN)) //////////////// #define CLOCK_PIN
-
Thread
Messschieber mit µc auslesen
Scientific , Digits = 3 'Einstellen der Variable für den seriellen Messwert Config Portc.0 = Input 'Takt-Eingang X-Achse Config Portc.1 = Input 'Daten-Eingang X-Achse Config Portc.2 = Input 'Takt-Eingang Y-Achse Config Portc.3 = Input 'Daten-Eingang Y-Achse Config Portc.4 = Input 'Takt-Eingang Z-Achse Config Portc.5 = Input
-
Thread
Einzelne Bits mit WinAvr
eigenes Byte: [c] uint8_t schalter, taster, licht; schalter = PORTB&(1<<PORTB1); taster = PORTC&(1<<PORTC2); if (schalter) licht = 1; if (taster) licht = 0; : [/c] Jetzt könnte ein Hacker drauf kommen und alles zusammen in ein Bitfeld hacken, das dann natürlich statt 3 Bytes nur
C-Compiler sowas in seinen Headerfiles bereit stellt. Dass man soetwas selber erstellen kann und wie das geht weiß ich selber Nur für jedes einzelne SFR mir meine eigene Union zu schreiben fände ich etwas aufwändig.
-
Thread
Probleme mit Datenauswerten von HDD mit Atmega
0x00; //PortB auf Eingänge schalten PORTD &=~ (1<<PD2); // DIOR HDD lesepin auf 0 ziehen PORTC &=~ (1<<PC1); // 8bit Latch für D8-15 aktivieren PORTC |= (1<<PC0); // CLK von Latch High8bit *Hig8 = PINB; PORTC &=~ (1<<PC0); PORTC |= (1<<PC1); // 8bit Latch für D8-15 deaktivieren PORTC &=~ (1<<PC3); // 8bit Latch für D0-7 aktivieren PORTC |= (1<<PC5); // CLK von Latch Low8bit *Low8 = PINB; PORTC &=~ (1<<PC5); PORTC |= (1<<PC3); // 8bit Latch für D0-7 deaktivieren
-
Thread
LCD will nichts anzeigen (incl. Code)
PORTC /*!< Read / write PORT */ #define RW PORTC7 /*!< Read / write BIT */ #define BUSY_PORT PORTC /*!< Busy PORT */ #define
PORTC3 /*!< Enable 2 BIT */
-
Thread
Bascom u. SPI und Soft-SPI
erfolgreich getestet (MMC Karte). Hier der Programmauszug: Config Spi = Soft , Din = Pinc.3 , Dout = Portc.4 , Ss = Portc.5 , Clock = Portc.2 ' AT8 Ddrc = &B11110111 Cs Alias Portc.5 Clk Alias Portc.2 Miso Alias Pinc.3 'inp Mosi Alias Portc.4
Also wenn ich PortC oder PortD mit Softspi nehme gehts auch nicht. Könntest du mir die MMC Programm geben, dann hätte ich den direkten vergleich und weniger Fehlerquellen. Verstehen kann ich das nicht ich arbeite
-
Thread
AVR-ASM Knobelei : Bitmanipulation am LCD im 4-Bit Mode
Da es anscheinend um eine praktische Frage geht, anbei etwas Ausführlicheres.
sbrc r24, 7 > 46: c5 9a sbi 0x18, 5 ; 24 Nur dass Databit 7 auf Portbit 3 geht.
-
Thread
4x4 Matrixtastatur mit Tasterentprellung
also nicht von KEY_ROW0 bis KEY_ROW3, sondern von KEY_ROW1 bis KEY_ROW4: [code] #define KEY_ROW1 PORTC0 #define KEY_ROW2 PORTC1 #define KEY_ROW3 PORTC2 #define KEY_ROW4 PORTC3 #define KEY_COL1 PORTC4 #define KEY_COL2 PORTC5 #define KEY_COL3 PORTC6 #define KEY_COL4 PORTC7 [/code] Somit
Außerdem ist mir ein ganz großer Fehler im ersten Posting passiert. Der ATmega8 hat gar kein PC7, geht nur bis PC6, und das ist auch noch der RESET-Pin. Im Anhang ist eine geänderte Version des Quelltextes aus dem Urposting: PortD statt PortC wird nun verwendet. Gruß, Marc
-
Thread
Probleme bei Programmierung von Lichtschranken-Stoppuhr
;zähler erhöhen reti anzeige2: cpi zaehler, 2 brsh anzeige3 out PORTC, ausschalten lds temp, Seg_Code2 out PORTD, temp lsl schalter out PORTC, schalter inc zaehler reti anzeige3: cpi zaehler, 3 brsh anzeige4 out PORTC
PORTC, schalter inc zaehler reti anzeige5: out PORTC, ausschalten lds temp, Seg_Code5 out PORTD ,temp lsl schalter out PORTC, schalter clr zaehler clr
-
Thread
PIC16F886 Interupt on Change RB7 läuft nicht
swapf STATUS,W bcf STATUS, RP0 movwf Status_save MOVFW PORTC XORLW B'00000001' MOVWF PORTC MOVFW PORTB Intende_ BCF INTCON,RBIF bcf INTCON, T0IF swapf Status_save, w movwf STATUS swapf W_save
movwf W_save swapf STATUS,W bcf STATUS, RP0 movwf Status_save MOVFW PORTC XORLW B'00000001' MOVWF PORTC nop MOVFW PORTB MOVLW B'10000000' MOVWF PORTB nop nop Intende_ BCF INTCON,RBIF bcf INTCON, T0IF bcf
-
Thread
RFID - China-Reader ohne Spezial-IC
Wieso baust du ihn denn nicht 1:1 nach? Irgendwie versteht ich noch nicht so recht um was es dir geht.
' 3 Spaltenausgänge Spalte258 Alias Portc.5 Spalte369 Alias Portc.6 Beep Alias Pinb.0 ' Klingeltaste als Enter '**************************************************************************** Startup: '*********
-
Thread
LCD Dot-Matrix 122x32 - Befehle ok, aber keine Daten
OUT DDRC = 0xFF; //PORTC: OUT PORTC = 0x00; PORTD = 0x00; //Reset PORTC/D PORTC = 0b00010000; //Reset Display _delay_us(100); PORTC = 0b00000000; _delay_us(100); PORTC = 0b00010000; //Reset
PORTD = 0b10101111; En_L; PORTC = 0b00010011; //Write data to controller 1 En_H; PORTD = 0b10101011; //Data En_L; PORTC = 0b00010101; //Write data to controller 2 En_H; PORTD = 0b10101111; //Data
-
Thread
delay Funktion mit IRS ersetzen
C++ ist C++, schon klar. -- (hört mal auf, euch da anzugiften - menno. Tauscht eure PLZ aus und geht was trinken! [14478, Cuba-Libre nehm ich]) 73, DG1RTO
PC5 ausgeben if (PINB & (1 << 0)) { // pin is high PORTC |= (1 << 5); } else { // pin is low PORTC &= ~(1 << 5); } // Blinken der LED 2 (rot) an Pin PC0 unter Verwendung der
-
Thread
Atmega16 + 75HC595 Problem
probier mal den code von tuxgraphics [c] #ifdef USE_74595 // SER pin 14: #define S74595_0 PORTC&=~(1<<PORTC5) #define S74595_1 PORTC|=(1<<PORTC5) // RCLK pin 12: #define S74595_RCLKDOWN PORTC&=~(1<<PORTC4) #define S74595_RCLKUP PORTC|=(1<<PORTC4) // SRCLK pin 11: #define S74595_CLOCKDOWN PORTC&=~(1<<PORTC3) #define S74595_CLOCKUP PORTC|=(1<<PORTC3) // Inline assembly, nop = do nothing for a clock cycle. //#define nop() asm volatile("nop\n\t" "nop\n\t"::) #define nop() asm volatile(
-
Thread
Eine Sprungtabelle, aber wie?
--------------------------------------------------- ;Ports als Eingänge konfigurieren, PortD und PortC ;Schwimmschalter SW1 Pin 20 PORTD PD6 ;Schwimmschalter SW2 Pin 25 PORTC PC3 ;Schwimmschalter SW3 Pin 26 PORTC PC4 ;Schwimmschalter SW4 Pin 27 PORTC PC5 ;Schwimmschalter SW5 Pin
DDRD,6 ;Schwimmschalter SW1 sbi PORTD,6 cbi DDRC,3 ;Schwimmschalter SW2 sbi PORTC,3 cbi DDRC,4 ;Schwimmschalter SW3 sbi PORTC,4 cbi DDRC,5 ;Schwimmschalter SW4 sbi PORTC,5 cbi DDRD,1 ;Schwimmschalter SW5 sbi PORTD,1 cbi DDRD,0
-
Thread
Problem mit LEDS an Port C0-C2
DDRC |= (1<<DDC0) | (1<<DDC1) | (1<<DDC2)| (1<<DDC3); DDRD |= (1<<DDD7); PORTD |= (1<<DDD7); PORTC |= (1<<DDC0) | (1<<DDC1) | (1<<DDC2) | (1<<DDC3); Port C0-C3 als Ausgang geht auch Port D7 als Ausgang geht auch Port D0-D6 als Eingang geht nicht AVR bricht zusammen reset bei tastendruck Schalte alle Ausgänge LEDS aus geht auch
-
Thread
ILI9341 langsam Verbesserungsvorschläge?
.PC7 D/C........PC0 MOSI.......PC3 SCK........PC5 Im Code ILI9341.h: #define controlport PORTC // fuer Mega2560 #define controlddr DDRC #define controlpin PINC #define rstport PORTC #define rstddr DDRC #define rstpin PINC #define dc 0 // controlport
Schaltungsaufbau entspricht sowie einige Bilder. Ich hab mir eine andere Kammera geliehen aber schärfer geht es nicht mehr.
-
Thread
Mikrocontrollers Eingang bestimmten Impuls abfragen
Geht das so? Solange e<60 ist wird hochgezählt. Also 60Sekunden. Nach 60s wird PORTC.5 auf high gesetzt, falls nicht ein Interrupt ausgelöst wird, welcher e auf 0 setzt. // External Interrupt 0 service
int e=0; while (1) { if (e < 60) e = e++; delay_ms(1000); if (e > 60) PORTC.5 = 1; else PORTC.5=0; }; }
-
Thread
Bit in Byte mit Schleife schieben.
16 mal "i"erhöht werden, also i= 16 i= 32 i= 48 [c] void Eingaenge_abfragen () { PORTC |= (1<<PC4); // Mit PL alle Eingänge in das Register schieben. // PL auf High PORTC |= (1<<PC5); // PL auf Low PORTC &= ~(1<<PC5); // PL auf High PORTC |= (1<
StatusEingangKarte[1] so aussieht: "0000 0000 0000 1000" [c] void Eingaenge_abfragen () { PORTC |= (1<<PC4); // Mit PL alle Eingänge in das Register schieben. // PL auf High PORTC |= (1<<PC5); // PL auf Low PORTC &= ~(1<<PC5); // PL auf High PORTC |= (1<
-
Thread
Problem: AVR m8A/m8535 mit TG12864B-03 in Assembler
LCD ; 0b1111 für PortB ; 0b0011 für PortC sbi PORTB, 0 sbi PORTB, 1 sbi PORTB, 2 sbi PORTB, 3 sbi PORTC, 0 sbi PORTC, 1 cbi PORTC, 2 cbi PORTC, 3 cbi PORTD, TG12864_RW cbi PORTD, TG12864_DI rcall transmit_12 ; set LCD start
to 3 ; 0b[0011] für PORTB ; 0b01[00] für PORTC sbi PORTB, 0 sbi PORTB, 1 cbi PORTB, 2 cbi PORTB, 3 cbi PORTC, 0 cbi PORTC, 1 sbi PORTC, 2 cbi PORTC, 3 cbi PORTD, TG12864_RW cbi PORTD, TG12864_DI rcall transmit_12 ;================
-
Thread
C Preprocessor, Gluebefehl ##
man es so machen! Das muss man glaub ich auch nicht verstehen, es genügt, wenn man weiß, wie's geht. ;-)
So ist es in der Entwicklungsphase einfach umzustellen, vor allem auch zwischen normalen Ports wie PORTC_3 und virtuellen Ports (SERPA), die z.B. über SPI an einen seriell-parallel-Wandler wie 74*595 ausgegeben werden. [c] enum { PORT_LED = PORTC_2, PORT_SENSE = PORTC_3, PORT_NIXIE_POWER
-
Thread
MPLAB IDE 8.00 mit PICC LITE v9.60PL1 Problem
dDocName=en023805 Wenn ihr das Projekt braucht, muss ich zuerst ein Programm runterladen. Villeicht gehts auch ohne :)
Funktioniert Super!! Egal ob ich #include <htc.h> oder #include <pic.h> eifüge, geht beides. vielen Dank
-
Thread
Display mit Touchscreen bei Pollin?
...nachher... Geht also. Flache Lötspitze, sauber, 180°
X nochmal messen geht nicht. Da fehlt Y. Gruß allu
-
Thread
SPI ATmega8L Beschleunigungssenor
**************************************/ #define SPIF 7 #define SS PORTB.2 #define LED_rot PORTC.3 // Output rote LED #define LED_gelb PORTC.2 // Output gelbe LED #define LED_gruen PORTC.1 // Output grüne LED #define BUZZER PORTC.0 // Output Buzzer
Das Bit setzen oder die LED? > [...] gespielt habe, bleibt es sofort hängen, die > rote LED geht erst gar nicht an. Daher nochmal die Frage, werde Deine LEDs mit 1 oder mit 0 geschaltet. Und was natürlich auch auffällt. bit_setzen sind Deine ersten Anweisungen in Main, noch bevor Du die
-
Thread
ARM Luminary LM3S811 GPIO Probleme
6MHZ | SYSCTL_OSC_MAIN); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); GPIOPadConfigSet(GPIO_PORTC_BASE, USER_LED, GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD); GPIODirModeSet(GPIO_PORTC_BASE, USER_LED, GPIO_DIR_MODE_OUT); GPIOPinWrite(GPIO_PORTC_BASE, USER_LED, 1); for(;;) ; } [/C]
{ unsigned int i; SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); GPIOPadConfigSet(GPIO_PORTC_BASE, USER_LED, GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD); GPIODirModeSet(GPIO_PORTC_BASE, USER_LED, GPIO_DIR_MODE_OUT); for(;;) { GPIOPinWrite(GPIO_PORTC_BASE, USER_LED, 0xff); i =
-
Thread
Globale Variablen im ISR
nicht in einer Funktion ist, > ist doch grundsätzlich als global zu sehen, oder nicht? Darum gehts überhaupt nicht. Es geht um die Unterscheidung zwischen Definition und Deklaration. Eine Definition ist etwas, bei dem vom Compiler tatsächlich Speicherplatz reserviert wird. Das sind Definitionen
include <avr/interrupt.h> #include "uart.h" int main() { uart_init(); DDRC = 0xFF; // PORTC Ausgang sei(); while (1) { PORTC = uart_string[0]; _delay_ms(5000); PORTC = uart_string[1]; _delay_ms(5000); PORTC = 0xFF; _delay_ms(50); PORTC
-
Thread
PIC Port I/O mit HiTech C
PIC 16F1825 mit Hi-Tech C und bin auf diesem uC blutiger Anfänger. Ich möchte eine rote LED an PORTC und eine grüne LED an PORTA kurz aufblinken lassen, der Code ist unten angehängt. Wenn ich das nur mit PORTC mache, blinkt die LED einmal kurz auf, dann Pause, alles gut. Auch alles gut, wenn ich nur
Ports des PIC. THX 4 help Cheers Detlef int k ; TRISA = 0; TRISC = 0; PORTA=0x0; PORTC=0x0; for(;;) { for(k=0;k<1000;k++) _nop(); PORTC=0xff; for(k=0;k<1000;k++) _nop(); PORTC=0x0; for(k=0;k<1000;k++) _nop(); PORTA=0xff; for(k=0;k<1000;k++) _nop(); PORTA=0x0; for
-
Thread
Bascom Avr Code
innerhalb eines Falls aneinanderreihen? Z.B. Wenn var1 = 1 und var2 = 2 und var3 = 7 dann setze Portc.0 = 0 und Portc.1 = 1 Ich kenne von anderen Programmiersprachen, dass man ein & dazwischen setzen kann oder ein AND. Geht so etwas in diesem Fall auch in Basic? If var1 = 1 & var2 = 2 & var3
ich überhaupt net in dem Zusammenhang, wenn dann && (in C eben). Wenn Bascom wie QBasic läuft, dann gehts mit AND: [pre] If (var1 = 1) And (var2 = 2) And (var3 = 7) Then Portc.0 = 0 Portc.1 = 1 End If [/pre]