-
Thread
Probleme mit For-Schleife und Rückgabeparameter
Wenn an PORTC.0 und/oder PORTC.1 ein Taster o.ä. hängt, dann ist die Portkonfiguration <TRISC = 0x00> falsch - damit ist der gesamte PORTC nämlich OUTPUT.
wiederverwenden, sollten sie gebraucht werden. Chris B. schrieb im Beitrag #3287319: > Wenn an PORTC.0 und/oder PORTC.1 ein Taster o.ä. hängt, dann ist die > Portkonfiguration <TRISC = 0x00> falsch - damit ist der gesamte PORTC > nämlich OUTPUT. Das habe ich schon angepasst, war ein alter code
-
Thread
Bascom Atmel Mega 16 Problem mit Timer und Portc
Timer1 geht, aber das ist ja das kleiner Problem, die SW kann ich noch ändern. Aber portc ist vom Layout der Platine jetzt festgelegt. Port c lässt sich in Bascom als Ausgang definieren: config portc = output Allerdings bleibt der Ausgang nach "reset portc.3" weiterhin height!
-
Thread
verwunderter C - Anfänger
[c] #include <avr/io.h> #define TAKT 14745600UL void main (void) { DDRC = 255; PORTC = 0; while(1) { warte16( ); PORTC++; } } void warte16(void) { unsigned long i; for (i = 0; i < 200000; i++); } [/c] dieser kleine Dualzähler funktioniert so
sollte, wenn i nicht als volatile deklariert ist). Wenn man sie hinter "PORTC++" schreibt macht er das nämlich schon. Wenn man bei warte16() das inlining abschaltet, wird sie in beiden Fällen (vor/hinter PORTC++) tatsächlich auch aufgerufen, besteht aber nur aus "ret".
-
Thread
Delphi 4 Variablen als Array ansprechen
Zuständen am AVR entsprechen. So wirds ja wohl eher nichts: ... var Form1: TForm1; porta,portb,portc,portd: Integer; ports:array[porta,portb,portc,portd] of integer; ... wäre ja nett, wenn ich hier eine Richtung gewiesen bekäme. Wenn alles fertig ist, wirds auch veröffentlicht... Danke
Achso, fange ja nichts mit Pointern oder so'n Quatsch an. Fast alles was mit Pointer geht geht in PASCAL auch syntaktisch viel bessser ohne Zeiger. Gruß Hagen
-
Thread
Anfängerfrage: LCD-Modul TC1602A-09 4Bit Modus an Atmega32, Code + Belegung
$regfile = "m32def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Waitms 50 Initlcd Config Lcdbus = 4 Config Lcdmode = Port Do Cls Locate 1 , 1 Lcd "Hallo" Locate 2 , 1 Lcd
$regfile = "m32def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcdbus = 4 Config Lcdmode = Port Waitms 50 Initlcd Waitms 50 Do Cls Locate 1 , 1 Lcd "Hallo" Locate
-
Thread
Hilfe Ports lassen sich nicht beschalten
---------------------------------------- ziffer_0: movlw b'00011111' movwf PORTC call delay clrf PORTC movlw b'00101001' movwf PORTC call delay clrf PORTC movlw b'01001001' movwf PORTC call delay clrf PORTC movlw b'10001111' movwf PORTC call delay clrf PORTC btfsc PORTB,7 goto main goto ziffer_0
-
Thread
Probleme AVR-GCC und Arrays
step_pattern[]={0xC,0x6,0x3,0x9) ; for (;;) { for unit8_t x=0; x<= 3; x++) { outp ( step_pattern[x], PORTC) ; /* Kurze Pause */ } } /********************************************/ /* mache ich das Ganze dann aber so, gehts */ /* einwandfrei */ /********************************************/ for (;;) { outp(0xC, PORTC) ; /* kurze Pause */ outp(0x6, PORTC) ; /* kurze Pause */ outp(0x3, PORTC) ; /* kurze Pause */ outp(0x9, PORTC) ; /* kurze Pause */ } Also keine Compilerfehler oder sowas, nur bei
-
Thread
mC wird "warm"
dimmt in 1 Stunde von 65535/65535 auf 1/65535 Duty-Cycle herunter, schaltet dann den Ausgang aus und geht in den Sleep Mode. In dem Moment sieht man die LED deutlich ausgehen.
du die kathoden müsstest du die transistoren logischerweise > zwischen + und anode schalten. das geht mit einem npn tranistor > schlechter. Nö, das geht sogar besser (keine Geistersegmente), da schneller geschaltet wird. Niemand zwingt Dich, immer nur die Emitterschaltung zu verwenden. Peter
-
Thread
AT90CAN128 wird heiß nachdem Programm läuft
noch pulldown wiederstände rein machen... Habe da wohl einen Gedankenfehler drin.... Das mit dem PortC werde ich mal nachsehen wenn ich zuhause bin heute abend ;-)
Dachte eigentlich dass es kein Problem ist da ich ja per ISP noch darauf zugreifen kann.... dies geht aber leider irgendwie net.... Gibts ne möglichkeit da noch was zu machen???
-
Thread
c compiler Unterprogramme aufrufen mit Funktion
Nach 1000 Sekunden (16,7min) geht sie aus.
Warum erst in 16,7Minuten und wann geht sie Wieder an ?
-
Thread
PNP Transistor schaltet nicht
hwstack = 32 $swstack = 10 $framesize = 40 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcdbus = 4 Cursor Off Ddrb = &B00100000 Cls Locate 1 , 1 Lcd "Hallo Welt" Do Portb.5 = 1 Loop
geht trotzdem nicht.
-
Thread
Frage zum Portexpander 74HCT165
c] [c] while(1) { if (stopbit == false) { // Clock im Ruhezustand auf 1 PORTC |= (1<<PC4); // An PL mal stroben... // PL auf High PORTC |= (1<<PC5); // PL auf Low PORTC &= ~(1<<PC5); // PL auf High PORTC |= (1<<PC5); unsigned int m; for(m=1
{ usart_write_str("1"); } // An Clock mal stroben... // Clock auf High PORTC |= (1<<PC4); // Clock auf Low PORTC &= ~(1<<PC4); // Clock auf High PORTC |= (1<<PC4); } stopbit = true; } [/c] Das stopbit setze ich dann über die serielle zurück, damit
-
Thread
Timer-Einheit zerschossen?
kann. Das wiederholt sich dreimal, dann vertauschen sich die Zeiten, d.h. sie ist länger aus und geht ganz kurz an. Nach dreimal wieder zurück zu lange an-kurz aus... Unten ist der zusammengekürzte Code, bei dem das Problem auftritt. Wenn ich statt dem Timer ein delay für das Blinken nehme, geht
= (1 << CS00) |(1 << CS02); // Timer 0 starten, Prescaler = 1024 TIMSK0 |= (1<<TOIE0); PORTC = (1<<PORTC6)|(1<<PORTC5); sei(); while (1) { if (timecounter0 == 32) { //_delay_ms(500); PORTC ^= (1<<PORTC6); } } } [/c]
-
Thread
µC Pin hängt bei einer bestimmten Spannung
Code: [code] void Zaehlung(void) { Fenster_auf = (PIND & (1<<PIND5)); if (Fenster_auf) {PORTC |= (1 << PC0);} else {PORTC &= ~(1 << PC0);} } [/code]
Nachtrag: PortC richtig konfiguriert?
-
Thread
ATmega 128 EIngänge verwenden
Liegt auf PORTC ab Werk nicht das JTAG Interface und muss man das nicht erst per Fuse abschalten, wenn man PORTC als normale GIO-Pins benutzen will?
nicht an dem PC0 Pin? Nein das LCD hängt an Port D und Port C möchte ich als Eingang nutzen. Mir geht es um die Syntax. [c] DDRC=0x00; // PORTC als Eingang festlegen while(1) { if (PINC & (1 << PC0)) { lcd_setcursor( 0, 1 ); lcd_string("Motor: I"); } else { lcd_setcursor( 0, 1 )
-
Thread
Wo liegt mein Denkfehler
Hi, ich habe folgendes kleines Programm geschrieben: [c] void Schalter1 (void) { PORTC &= ~(1<<PORTC0); // Bit 0 loeschen, LED an _delay_ms(2000); PORTC |= (1 << PORTC0); // Bit 0 setzen, LED aus } void Schalter2 (void) { PORTC &= ~(1<<PORTC1); // Bit 0 loeschen, LED an
schreib ich in die Schleife nur rein PORTC = PINB; dann geht die Lampe0 an, wenn ich an PORTB mit Masse verbinde.
-
Thread
AVRGCC und Assemblermacro´s
Geht so einfach nicht. Richtig wäre es, die Aufrufe von PORTC etc. umzuschreiben in _SFR_IO_ADDR(PORTC). Ich befürchte, daß Du dazu keine Lust haben wirst. Alternativ kann man sich mit #define _
include <avr/io.h> .global g_lcd_putbyte .func g_lcd_putbyte g_lcd_putbyte: cbi __SFR_IO_ADDR(PORTC),1 ret .endfunc und schon geht nix... reicht das ?? ...Aart
-
Thread
-
Thread
PIC-Register Verhalten
ANSELA clrf TRISA clrf PORTB clrf ANSELB clrf TRISB clrf PORTC clrf ANSELC clrf TRISC clrf PORTD clrf ANSELD clrf TRISD ;movlw 0xFF ;movwf PORTA ;movwf PORTB ;movwf PORTC ;movwf
movwf cnt1 movwf cnt2 movlb 0xFF incf PORTA,w ; <-- Um diese Zeile geht es movwf PORTA movwf PORTB movwf PORTC movwf PORTD dl decfsz cnt1 goto dl movlb 00 movlw 0xFF movwf cnt1 decfsz cnt2
-
Thread
Wie Ports am Besten zusammenfassen?
avrasm] Aktuell habe ich halt das Problem, dass ich wissen muss, dass LED9 an Port LED_PORT2 (=PORTC) hängt. Damit kann ich mir das "Herausziehen" des Portnamens aber auch sparen. Oder mache ich hier irgendwas systematisch falsch? Mit freundlichen Grüßen,
sbi ERROR_LED_PORT, ERROR_LED erzählt einem Lesenden sehr viel mehr als ein schnödes sbi PORTC, PC0 Im ersten Fall brauch ich nicht wirklich einen Kommentar um zu wissen, dass es um die Error LED geht. Im zweiten Fall schon. Und jeder Kommentar, der wegfallen kann, weil mir der Code selber
-
Thread
Ladung or Entladung eines Kondensator mit Free Running Mode ATmega 8
mitten drinn? und warum summierst du den ADC Wert? Darf man fragen, was das hier [c] if ( PORTC |= 0x01) // Set PC0 [/c] sein soll? Wozu ein if? Welchen Zweck soll das haben?
{ PORTC &= ~0x01 ; //Reset PC0 } } return (0); } Danke im Voraus
-
Thread
Umsteigen von Bascom auf C Gesperrt
muss als gedacht. Erstmal die definition der In-/Outputs (fertig), dann Befehle wie PortX.variable geht gar nicht (durch Arbeit umgangen) und zum Thema Textfile einbinden find ich auch nix... Ich denke diese ganze Arbeitszeit kann ich auch in C investieren. Schleifen und Ports setzten geht ja, nur fehlt
das noch. Ich bin aber auch keiner der sofort nach Forenhilfe schreit, wenn was nicht auf Anhieb geht. Deine Nervosität bezüglich mangelnder Mitarbeit etc. teile ich nicht. Wobei, dir geht es ja nach allem was jetzt von dir zu lesen war um eine Negativ-Kampa gegen Luna. Na dann mach mal.
-
Thread
Problem mit Mega1284P und XBee
Mach das mal so: int main(void) { DDRC |= 0xff; PORTC |= 0xff; uart_init(); sei(); uart_puts("asdfghjkl\n"); PORTC &= ~PORTC; while (1) { // USART0_RX_vect(); // was soll das denn werden? } return 0; }
Ah, cool jetzt gehts, vielen dank :)
-
Thread
Externe .c bringt nur theater
links = HC_SR_04(); SERVO_RECHTS; _delay_ms(250); rechts = HC_SR_04(); PORTC = (1<<MOTORB_2) | (1<<MOTORA_2) | (1<<MOTORB_EN) | (1<<MOTORA_EN); MOTOR_PWM(10,10); _delay_ms(1000); PORTC = (0<<MOTORB_2) | (0<<MOTORA_2) | (1<<MOTORB_EN) | (1<<MOTORA_EN);
makefiles etc. - Backupfiles der Editoren vorher löschen) als ZIP zu posten. Einmal in der Variante die geht und einmal in der Variante die nicht geht. Dann kann das hier vielleicht jemand mal nachvollziehen - zumindest was das Compilieren und Linken angeht.
-
Thread
AVR: was mit nicht benutzten Anschlüssen machen?
. Dadurch ist der Eingang definiert low, und selbst wenn der Pin mal auf Ausgang geschaltet wird, geht nichts kaputt.
maximal 0,3V von Vcc abweichen darf. Wenn man nun AVcc unbeschaltet lässt, weil man weder den ADC noch PORTC(3..0) verwenden will, ist dies nicht mehr gegeben. Was passiert dann? Gleicht der AVR selbst den Pegel aus?
-
Thread
Unkontulliertes LED geblinke
sbi(PORTC,MOTORAUSGANG_X); } } return(0); } ISR (TIMER2_OVF_vect) { if(motor_x != 0) { toggle(PORTC,MOTORAUSGANG_X); toggle(PORTD,DIODE_X); } TCNT2 = 70; toggle(PORTD,
DDRD = 0b00111111; //Pullup-Widerstände der Eingänge Aktivieren PORTB = 0b00100000; PORTC = 0b00111111; Deine Endschalter haben keinen PullUp.
-
Thread
ATmega8 Fuses?
UART 2-7:Dotmatrix Display. (4bit Datenbus) PORTB 0-5:Taster nach GND 6-7:XTAL für UART... PORTC 0-1:ADC 2-3:Steuerausgänge 4-5:I2C soll nach Möglichkeit für Erweiterungen frei bleiben 6: der ominöse RESET Pin :-I 7: nicht vorhanden Nun min. 2 Steuerausgänge fehlen mir. Das mit den Taster
ja immer L, wenn das Display inaktiv ist). Daten werden mit den Flanken des E-Signals übernommen, geht also nicht. ein Beispiel, Display am Port C, sw_out PortB.7, Datenbus PortC.4..7 in r16, DDRC andi r16, 0x0f out DDRC, r16 //Datenbus auf Eingang in r16, PORTC ori r16, 0xf0 out PORTC, r16
-
Thread
Allgemeine fragen zum ansteuern von Dot-Matrixanzeigen.
= 1 : Return Zeile6: Portd. 5 = 1 : Return Zeile7: Portd. 6 = 1 : Return Spalte1: Portc. 0 = 1 : Return Spalte2: Portc. 1 = 1 : Return Spalte3: Portc. 2 = 1 : Return Spalte4: Portc. 3 = 1 : Return Spalte5: Portc. 4 = 1 : Return End[/code] hier würde praktisch
bestimmte zeilen und spalten auf high bzw auf low setzen. das muss ja > sowieso gemacht werden. > geht das denn nicht einfach alles einzeln? OK. Du willst ein H anzeigen. (Es geht hier nur ums Prinzip wie das H entsteht, im Rechner machst du das anders) Das ist die Matrix 0 . . . .
-
Thread
LCD an Atmega 168 anschließen
[code] Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6 [/code] Oh, Herr ....
------------------------------------------------------------- Waidmann's heil! Die Jagd auf mich geht gleich los... MfG Paul
-
Thread
AD-Wert dezimal augeben
Config Portd = Output Dim W As Word Dim V As Single Const Prescale_value = 10 / 1024 Config Portc.0 = Input Portc.0 = 1 If Portc.0 = 0 Then Gosub Ad_start End If Ad_start: Config Adc = Single , Prescaler = Auto , Reference = Avcc W = Getadc(0) V = Prescale_value * W V =
Saft da ist und kein Reset gedrückt wird. Also gehört da eine Endlosschleife her: [pre] Do If Portc.0 = 0 Then Gosub Ad_start End If Loop End [/pre] Bei der Abfrage auf Benutzereingabe (If Portc.0 = 0 Then) hätte ich in Assembler und in C Bauchweh, mag sein, dass das in BASCOM geht,
-
Thread
Interrupt mit atmega8
ISR(INT0_vect) { PORTC = PORTC << 1; } [/code]
while(1) { } } ISR(INT0_vect) { PORTC = PORTC << 1; }[/code]
-
Thread
problem mit porc
Config der leds Config Porta = Input 'Config der achse Config Portc = Output Config Portd = Output Portb = 255 Set Portc 'set port B to 10 Portd = 0 '################ For I = 0 To 50 Reset Portc.0 'Reset Portc.1 Set Portc.2 'Reset Portc.3 Reset Portc.4 'Reset Portc.5 Waitms 500
-
Thread
LCD C0802-04, HD47780 ansteuern..
hat der ATMega8 auch JTAG am PortC wie die ATMega16? Wenn ja müsstest du das ausschalten.
Hi >hat der ATMega8 auch JTAG am PortC wie die ATMega16? Nein. MfG Spess
-
Thread
Problem mit Servo an einem Atmega8
, sondern lediglich die LEDs an PORTC ein- oder ausschalten will, so funktioniert das nur, wenn der Code für den Servo auskommentiert ist. [c] DDRC=255; //PORTC als Ausgang, PC0-PC3 mit PullUp (Startzustand) PORTC=15; while(1) { if(x==0) PORTC=0; else if(x==1) PORTC=255; } [/c] Wenn der Servo aktiviert ist tritt das gleiche Phänomen wie zuvor auf (Die LEDs flimmern nur kurz auf und werden dann wieder in den Startzustand versetzt
-
Thread
ATMEGA8 in C: 1 Tastendruck --> 2 verschiedene Funktionen -->Hilfe!
TURN_ON_MOTOR( CLOSE ); liest sich nun mal schon viel besser und aussagekräftiger als PORTC |= ( 1 << PC0 ); PORTC &= ~( ( 1 << PC0 ) | ( 1 << PC1 ) ); PORTC |= ( 1 << PC1 ); obwohl es genau dasselbe in anderer Verpackung ist.
Beitrag #2025500: > liest sich nun mal schon viel besser und aussagekräftiger als > PORTC |= ( 1 << PC0 ); > > PORTC &= ~( ( 1 << PC0 ) | ( 1 << PC1 ) ); > > PORTC |= ( 1 << PC1 ); das stimmt, allerdings - muss selber ständig nachschaun! mfg
-
Thread
Atmega8: ähnlich garagentorsteuerung programmieren
ich auch verständlich. Hier mein code bis jetzt: [c] #include <avr/io.h> void stop() { PORTC &= ~(1<<PC0); PORTC &= ~(1<<PC2); } void move(uint16_t dir) { switch (dir) { case 0: PORTC |= (1<<PC1); PORTC |= (1<<PC2); PORTC |= (1<<PC0); break; case 1: PORTC &= ~(1<<PC1); PORTC |= (1<<PC2); PORTC |= (1<<PC0); break; } } int main(void) { PORTD = 0xFF; PORTB = 0xFF; PORTC = 0x00; PORTC |= (1<<PC3); DDRB = 0x00;
-
Thread
LCD Zeichen anzeigen
so: PORTD = 0b00000000; PORTC |=(1<<PC0); PORTD = 0x48; PORTC |=(1<<PC2); _delay_us(50); PORTC &= ~(1<<PC2); /* h schreiben */ PORTC &= ~(1<<PC0); _delay_ms(2000); Wobei PC0 das RS Signal
(50); PORTC &= ~( 1 << LCD_E ); PORTC &= ~( 1 << LCD_RS ); _delay_ms(2000); [/C] so sieht man im Code gleich viel besser, welche Einstellungen in welcher Reihenfolge vorgenommen werden.
-
Thread
R2R-Genauigkeit in der Praxis
, 0b11111111 out DDRD, r16 out DDRC, r16 Schleife: inc r16 brne NoTrigger sbi PORTC,0 ; Oszi triggern NoTrigger: out PORTD,r16 ;push r16 ;ldi r16, 10 ;rcall Delay_us ;pop r16 cbi PORTC,0 rjmp Schleife [/avrasm] Ich habe mit 2 Geschwindigkeiten gemessen,
R-basierten Filter auch eine Nichtlineare Kennlinie einbauen, was mit einem DAC nicht so einfach geht.
-
Thread
Funktionsaufruf
wait(); PORTC ^= ( 1 << PC7 ); } // Ende ISR // ##################### TIMER0 initialisieren ############################ void init(void) { TIMSK = (1<<TOIE0) ; TCCR0 = (1<<CS01); // Takt/8 DDRC=0xff; PORTC= 0xff; sei(); } // ###################################### main ########################### int main(void) { init(); while(1) { } return 0; } // Ende main //#
-
Thread
Taster an atmega32 lässt sicht nicht einrichten
Else Portc.0 = 0 End If Loop End Ich hab es auch an anderen Pins probiert, aber nichts geht. Entweder leuchtet die LED im Dauerbetrieb, oder schaltet
Hi >Portc: Ist die JTAG-Fuse aus? PortC.0 hat nichts mit JTAG zu tun. MfG Spess
-
Thread
ATMega(8) und int. RC
Frage zum ATMega... Wenn ich den int. Osc. auf 1MHz stelle und folgenden code schreibe: do portc.0 = 1 waitms 100 portc.0 = 0 waitms 100 loop blinkt die led langsamer als wenn ich den int. Osc. auf 8MHz stelle...warum? im code steht doch das es 100 ms warten soll (muss doch egal sein
Stefan S. schrieb im Beitrag #2324575: > Hallo, > do > portc.0 = 1 > waitms 100 > portc.0 = 0 > waitms 100 > loop > danke stefan 'System frequency $crystal = 1000000 ' Bei 1 MHz '$crystal = 8000000 ' Bei 8 MHz
-
Thread
DIP-Schalter an ATmega8515
High). Schaltplan im Anhang:) Hierzu kam mir folgende Idee: [c] DDRC = 0x00; // Gesamter PORTC als Ausgang. PORTC = 0xff; // Interne Pull up's an. [/c] Nun noch eine Methode die für den Anfang mal nur PC0 auswerten soll. [c] int DMXStartadresse() { volatile uint8_t y; if( PD0
ausführlich geschrieben damit es ein wenig anschaulicher ist. Ich weis natürlich dass, das kürzer geht :)
-
Thread
GCC: Pin toggeln in einem Takt?
zb. so: [c] PORTC ^= (1<<PC2); [/c]
>PORTC ^= (1<<PC2); >PINC = 1 << PC2; Beides benötigt sichern nur 1 Takt?
-
Thread
Pic AND Funktion
Also das ganze geht in Asembler folgendermaßen: ;############################# loop btfss PORTA,0 goto aus goto test2 test2 btfss PORTB,0 goto aus goto an an bsf PORTC,0
= 0b11111111; for(;;) // endlosschleife { if(PORTA == 0b.00000011) { PORTC = 0b.00000001; } else { PORTC = 0b.00000000; } } // for(;;) }
-
Thread
ATMEGA8, RN-MiniControl, Lauflicht per CTRL-Stecker
von PB0 über PC3 bis hin zu PD7 geht. Wie stelle ich das an, unter Verwendung verschiedener Ports ein Lauflicht zu bekommen?
& 0x04, PORTB, PB0 ); SWITCH_LED( Licht & 0x08, PORTB, PB5 ); SWITCH_LED( Licht & 0x10, PORTC, PC3 ); SWITCH_LED( Licht & 0x20, PORTB, PB3 ); SWITCH_LED( Licht & 0x40, PORTD, PD3 ); SWITCH_LED( Licht & 0x80, PORTC, PC2 ); delay_ms(70); } return 0; } [/C]
-
Thread
LCD 204B-NLW & AtMega32
paar mal überprüfen. Hardwarefehler waren hier zu mindestens 50% das Problem wenn das LCD nicht geht.
Moment mal, ATMega32 und Portc? Dann JTAG abschalten;)
-
Thread
CAN-Bus mit BASCOM
vermutlich üner Config PORTC = input bzw config PORTC = output (oder Config PORTC = puput...) Zu Bascom git es ein ca. 700 Seiten langes Handbuch/Befehlsreferent (~32MB pdf). Da lohnt es sich, einen Blick reinzuwerfen. IMHO
In dem Du den Portc von Ausgang auf Eingang schaltest. Z.B. mit dem Befehl Config Portc = Input. Oder DDRC = 0.
-
Thread
ATmega8 Frequenz stimmt nicht
int); void USART_Transmit( unsigned char); void main( void ){ unsigned char a = 'U'; PORTC = (0<<PC3); PORTC = (0<<PC2); USART_Init (MYUBRR); do{ USART_Transmit(a); }while(1); } void USART_Init( unsigned int ubrr){ /* Set baud rate
int); void USART_Transmit( unsigned char); void main( void ){ unsigned char a = 'U'; PORTC = (0<<PC3); PORTC = (0<<PC2); USART_Init (MYUBRR); do{ USART_Transmit(a); }while(1); } void USART_Init( unsigned int ubrr){ /* Set baud rate */ UBRRH = (unsigned
-
Thread
avr while-Schleife und Interrupt
<MS1_Takt)) == 0 ) { Messschieber_gefunden = 1; } _delay_us(1); // so geht es ... // PORTC |= 1<<PC1; // und so auch ... } } [/c] Wie man an den Kommentaren erkennen kann, möchte ich eine Messschieberanzeige auf ein LCD übertragen. Nach dem Start des Controllers
'delay' in die while-Schleife einfüge? Dann geht's ja auch.
-
Thread
Bootloader mit Microchip Studio
void ) = 0x0000; DDRC = (1 << DDC5); for (uint8_t i = 0; i < 10; i++) { PORTC ^= (1 << PORTC5); // toggle pin _delay_ms (200); } start(); } [/c] So weit. Dann ein Hauptprogramm. Macht das gleiche, nur anderer Ausgang [c] #define F_CPU 1000000UL #include
Deshalb gibts den Page Buffer. Was verstehst du daran nicht? Byteweises schreiben direkt ins Flash geht nicht.