-
Thread
Reaktives Blinklicht mit AT Mega8 und IR-Empfänger
Delay_ms (1000) ; //pause PORTB.B5 := 0x01 ; //rot aus {while PORTC.B3 <> 0x00 do // unendlich schleife start begin // if PORTC.B3 <> 0x01 then Ausgabe //else
while i <> 0 do begin i := PORTC.B3 ; i := sbit at PORTC.B3; end; Ausgabe; end; begin DDRC := 0x00 ; //port auf eingang
-
Thread
Lerne LCD zu programmieren
meldet mir in der lcdsetup.h eine falsche Deklaration vor "x". Wenn ich die Variable als int verwende geht es. Nach Übertragung in den Atmega8 funktioniert das Ganze aber gar nicht. Es erscheint immer ein schwarzer Balken im Display. Aber nur einer, Textausgabe habe ich auch schon versucht, geht aber auch
#define LCD_PORT PORTC #define LCD_DDR DDRC #define LCD_RS PB4 #define LCD_EN PB5 Geht mit dem Code nicht. Muss alles an PORTC.
-
Thread
Interrupt/Timer Problem: Nur einmalige Ausführung
switch_led(LED_DISPLAY,1); wait_ms(10); switch_led(LED_DISPLAY,0); } int main(){ // PORTC for LEDs PORTC = 0xFF; DDRC = 0xFF; // Configure a timer // Clock: 16000000HZ // Prescaler: 1024=>15625 is the clock, CTC Mode TCCR1B = (1<<CS12) | (1<<CS10) | (1<<WGM12); OCR1B
Welcher Controller? (Wegen PORTC -> JTAG-Fuse?)
-
Thread
Sprachausgabe mit AVR
wird je höher ich die Samplingrate setze und ich keinen blassen schimmer habe woran es liegt. Es geht mir nicht darum die Daten auszugeben. Das funktioniert ja.
angeschlossen. - die +5V aus dem USB-Port speisen nun nur noch den LM386 direkt. Und siehe da, es geht alles - 1A Projekt ! .
-
Thread
16f690 Einstellungsproblem
0; ANSELH = 0; TRISA = 0x08; PORTC = 0x00; while (1) { if (PORTA == 0x08) { RC0 = 1; delay_ms(250); RC0 = 0; delay_ms(250); } } } [/c]
Warum fragst du den ganzen PortA ab, wenn nur ein Taster dranhängt ? Das geht nur, wenn alle andern Portpins nen Pulldown haben.
-
Thread
Programmoptimierung
raus. Interessant wäre hierzu eine Hysterese. Wert darf sich innerhalb 20 und 30 befinden - Wert geht auf 30,2 - Alarm geht an, Ausrufezeichen kommt - Knopf wird gedrückt, Hupe geht aus, Ausrufezeichen bleibt - jedoch, erst wenn der Wert die 29 erreicht hat, geht auch das Fragezeichen weg. Auch, wenn
[code] [code]geht auch, wie ich es hiermit beweise... [/code]
-
Thread
Problem mit Display
sbi(PORTC,1); cbi(PORTC,1); waitMs(1); PORTC = 0b110000; //0b00110000; sbi(PORTC,1); cbi(PORTC,1); waitMs(5); // 4-BitModus einschalten PORTC=0b100000; // Schreibsignal sbi(PORTC
dies wollte ich wechseln in 4-BitModus an PortC Bit 2-5 PortC Bit 0 = RS PortC Bit 1 = E sorry steht dort oben falsch
-
Thread
Zahl aufteilen - Bascom
Zahl_digitalanzeige(byval Zahl As Integer) $regfile = "m8def.dat" $crystal = 8000000 Config Sda = Portc.4 Config Scl = Portc.5 Dim I As Integer Dim Segmente As Byte I2cinit Init_digitalanzeige Do For I = 0 To 9999 Zahl_digitalanzeige I Waitms 100 Next I Loop End
>Ich bin mir sicher, auch in Bascom gibts schon was fertiges Nein, dafür nicht. So geht es auch: Zahl =1204 ' zum Testen Temp = Zahl For I = 1 To 4 Stelle(i) = Temp Mod 10 'letzte Stelle in Ziffernvariable schreiben Temp
-
Thread
Problem mit ATMEGA16 / bread board / Netzteil
Eingangspannung mit einen 7805 stabilisiert (von 12 V auf 5V), auch wenn ich den zB. den +12V Pol berühre gehts dann... das Programm scheint auch ok zu sein, solange der ISP drann hängt läuft es! Der ISP macht wohl eine zusätzliche Masseverbindung!? [c] . . DDRC = 0xFF; // PC0..PC7 as output PORTC
, dank der 'Basis-Dauerverdrahtung'. > . > . > DDRC = 0xFF; // PC0..PC7 as output > > PORTC = 0x00; // all PORTC output pins Off PORTC? JTAG hast du abgeschaltet? Edit: Das mit dem JTAG ist schon ein Reflex, wenn irgendwas nicht geht und Port C involviert ist.
-
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
Software PWM mit Bascom
Integer Dim B As Integer Config Timer0 = Timer , Prescale = 64 On Timer0 Timer0_isr Config Portc = Output Portc = 255 B = 120 A = 0 Enable Timer0 Enable Interrupts Portc.1 = 0 Do Loop Timer0_isr: Incr A 'A eins hoch zählen If
'Wenn A 120 ist dann Portc.0 = 1 'Portc.0 aus A = 0 'A wieder nullen endif Return [/code] Ich weiß, das A nie die 200
-
Thread
Timer 1 (CTC) unregelmäßig
Also mit dem struct geht es nicht - es passiert das, was ich befürchtet hatte: Die Taster (Eingänge) versagen den Dienst!
Fehler gefunden! Nun gehts! :-D
-
Thread
Schalter PORTC 1-5 C
DDRC &= ~(1<<DDC2); DDRC &= ~(1<<DDC3); DDRC &= ~(1<<DDC4); DDRC &= ~(1<<DDC5); PORTC |= (1<<PC1); /* internen Pull-Up an PC1-5 aktivieren */ PORTC |= (1<<PC2); PORTC |= (1<<PC3); PORTC |= (1<<PC4); PORTC |= (1<<PC5); /* Fuehre Aktion aus, wenn Bit Nr. 1 (das "zweite
DDRC &= ~(1<<DDC2); DDRC &= ~(1<<DDC3); DDRC &= ~(1<<DDC4); DDRC &= ~(1<<DDC5); //PORTC |= (1<<PC1); /* internen Pull-Up an PC1-5 aktivieren */ PORTC |= (1<<PC2); PORTC |= (1<<PC3); PORTC |= (1<<PC4); PORTC |= (1<<PC5); /* Wenn Taster gelickt ist soll LED an gehen*
-
Thread
Zeilenadressen LCD 4x20 blau
Bitte. Aber eine Frage noch: Mit welchen Adressen geht es denn nun?
: 1-Impuls für Daten) #define LCD_EN PC5 Alles neu kompiliert und Ergebnis: Geht nicht. Aber im Quellcode finde ich keine weitere Angabe von PORTD, es sollte also alles umgesetzt sein. Die Verdrahtung habe ich auch schon mehrfach überprüft. Wieso das jetzt ? Ist PortC anders zu
-
Thread
Atmel 324P: Power Save und RTC: 0,6uA überhaupt möglich?
input DDRD = 0x00; // input PORTA = 0xFF; // pullup on PORTB = 0xFF; // pullup on PORTC = 0xFF; // pullup on PORTD = 0xFF; // pullup on // normal startup or Watchdog reset? if ((MCUSR&(1<<WDRF)) > 0){ // Watchdog reset MCUSR = 0; // important to clear the Watchdog
Analog-Messgeräts. Klar sind 1,2uA schon sehr gut, aber mein Ehrgeiz ist geweckt, alles rauszukitzeln was geht - und das müssen eben 0,65uA sein. Mache ich irgendetwas bei der Konfiguration falsch? Danke! Sebastian
-
Thread
ISR Timer Interrupt 1 funktioniert nicht richtig
schalten [/c] Damit werden die Tastenpins auf Output geschaltet; sie geben jetzt 'high' aus (denn nach PORTC hast Du 0xf geschrieben). Jetzt hast Du bei gedrückter Taste einen sauberen Kurzschluss des Ausgangs. Wozu die ganze In/Out-Umschalterei? Weiter habe ich nicht geschaut.
Ein-und Ausgängen... wir benutzen in unserer FH das MINIMexle mit einem ATmega88 und dort hängt an PortC sowohl die Taster als auch die Steuerleitungen fürs LCD. Gruß und danke an alle :)
-
Thread
ATmega48 - Timer0: PWM mit Poti zum LED dimmen in C
unsigned char i = 0; unsigned int result; void port_init(void) { PORTB = 0xF1; DDRB = 0x0E; PORTC = 0x43; DDRC = 0xBC; PORTD = 0x00; DDRD = 0xFF; } void timer0_init(void) { OCR0A = 0x80; OCR0B = 0x80; TCCR0A |= (1 << WGM01) | (1 << WGM00); // Fast PWM TCCR0A |= (1
an dem Programmaufbau. Eine Frage hätte ich jedoch noch. Die LED geht nicht ganz aus. Das wäre mit der Pumpe dann genauso. Woran liegt das? Der vollständigkeitshalber hänge ich hier nochmal den funktionstüchtigen Quelltest an. [c] //ICC-AVR application builder
-
Thread
DMX Empfangsproblem mit ATMega16 und Hennes lib @ ASM
in dem Interrupt Vector mal wieder ein reti rein machen. Passiert dann das selbe mit deiner LED? geht die dann trotzdem an?
UART_RECV_COMPLETE liegt bei beiden an 12. Stelle ;-) ) >Dann muss das gehen ;-) !!!! AUA! Das geht NICHT! Der Mega 8 hat 1 Word pro ISR Vektor, der Mega 16 ZWEI!!! MfG Falk
-
Thread
for Schleife durch Tastendruck neu starten
1; // Taste_4 setzen (Licht aus) } DDRC = DDRC | 0x0F; // PortC wieder auf Ausgang } Wär cool wenn ihr mir da helfen könntet! gruß xASP
// Enable-Signal auf 0 DDRC = DDRC & 0xF0; // Port C auf Eingabe schalten PORTC = 0x0F; // Pullup-Rs eingeschaltet [/C] lass das DDR Register und die Pullup in Ruhe. Diese Dinge stellt man am Anfang *einmal* ein und dann lässt man sie in Ruhe
-
Thread
Timer Interrupt funktioniert nicht
} //Hauptprogram int main(void) { //Ein - Ausgänge Definieren DDRC = 0xff; //PORTC Ausgang (LEDs) PORTA = 0xff; //PORTA Pullup aktivieren (Taster) DDRD = 0xff; //PORTD (Display Daten) auf Ausgang setzten DDRB = 0x07; // Asugänge schalten für Display RS/RW/E
Arbeit nicht mehr auf die Reihe. Beschränkst du aber den Zugang zu dir auf alle 5 Minuten, dann geht auch bei dir was weiter. >> Deine 4Mhz, wo kommen die her? >> interner Oszillator, Quarz? > > externem Quarz. ok. Das erklärt dann nicht den zeitlichen Versatz >> Im CTC lädst du in der
-
Thread
-
Thread
Entprellen..schon alles versucht..Atmega zu schnell?
Natürlich gehr es per Hardware. Die Flip-Flop Methode ist auch sicherlich die stabilste, aber es geht halt auch mit Software. Wenn man beim Kontaktprellen davon aus geht das jedes Prellen irgendwann mal zu Ende ist, dann kann man auch mit einem Mikroprozessor den Kontakt sicher "entprellen". Die
ein zu bauen stimmt etwas nicht mit dem Ablauf. Dann denke noch mal drüber nach wie es ohne Delay geht. Ich wette es geht immer ohne ...
-
Thread
init-Problem mit i2c von Fleury
0x00; // Pull-Up-Widerstände ausschalten PORTB = 0b00000000; // Alle Ausgänge ausschalten PORTC = 0x00; // Alle Ausgänge auschalten PORTD = 0x00; // Alle Ausgänge auschalten TIMSK |= (1 << TOIE1); // Timer1 Interrupt freigeben TCCR1B |= (1 << CS10); // Teiler Timer1
Datei i2cmaster.h unter dem Punkt "Header Files" hinzugefügt. Das brauchst du nicht unbedingt, es geht auch ohne. Wenn i2cmaster.h im selben Verzeichnis wie main.c deines Projekts steht, wird die normalerweise auch gefunden. Wenn nicht, dann nicht. Oliver
-
Thread
XMega: ISR wird nicht getriggered
-256.html Das getestete Program: [c] #include <avr/io.h> #include <avr/interrupt.h> ISR(PORTC_INT0_vect) { PORTC.OUTTGL = 14; } int main() { PORTC_DIRCLR = PIN0_bm; // PORTC_INT0 als Eingang PORTC.PIN0CTRL = PORT_OPC_TOTEM_gc | PORT_ISC_FALLING_gc; PORTC.INTCTRL = (PORTC.INTCTRL
[c]ISR(PORTC_INT0_vect){ PORTC.OUTTGL = 14; }[/c] meinst du da nicht 0x14?
-
Thread
Display LCD W164B-NLW an Atmega 8515
------------ // Pinbelegung für das LCD, an verwendete Pins anpassen #define lcd_port PORTC // Port für LCD #define lcd_ddr DDRC // Port-Richtung #define lcd_clk PC0 // Clk-Leitung an Schieberegister 74HCT164 #define lcd_data PC1 //
der Zeit wo ichs brauch. Wenn ich die Auflösung größßer mach muss ich ja wieder was abziehen. Wie geht das? Hc Zimmerer schrieb im Beitrag #1696022: > Function warte() hat eine weitere Macke: das Beschreiben der Variable > „timer“ (eine 2-Byte-Variable) ist nicht dagegen gesichert, dass nach >
-
Thread
Probleme mit C
DDRD = 0xFF; // PortD alles als Ausgang DDRC &= ~ (1<<DDC0) | (1<<DDC1) | (1<<DDC2); // PORTC 0...2 als Eingang DDRC |= (1 << DDC3) | (1 << DDC4) | (1 << DDC5); // PortC 3..5 als Ausgang PORTC |= (1 << PC3) | (1 << PC4) | (1 << PC5);// PORTC 3..5 High = Digits aus // Timer 1 konfigurieren
1000ms hab ich nur testweise eingesetzt, damit die Uhr während der Entwicklung ein bisschen schneller geht^^ Aber ich habe noch eine ganz andere Frage: Wie kann ich einen Summer an meinen Atmega8 anschließen? Die Ansteuerung wird ja dann über einen Timer mit der richtigen Frequenz laufen, oder?
-
Thread
ICP auf ATMEGA8 wird nicht ausgelöst
= ~(1<<TOIE1); // Interrupts für Timer1 deaktivieren da µC sonst immer aufwachen würde PORTC = (1<<PC4); // Abschaltsignal lcd_clrscr(); lcd_puts("Abschalt"); set_sleep_mode(SLEEP_MODE_IDLE); sleep_mode(); [/c] Hab ich etwas übersehen? Im Anhang könnt ihr auch
sein, dass durch zu sehen da ich bis zu diesem besagtem [c]lcd_puts("Abschalt");[/c] komme. Danach geht der µC schlafen wird aber nicht mehr aufgeweckt :(. Was meint ihr?
-
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
Verständnissfrage zu ENTPRELLUNG.
if( newState == 1 && keyState == 0 ) { //keyPressed = 1; PORTC ^= (1 << PC5); } //nachdem ich keystate aus dem IF genommen hab funzt der Schalter keyState = newState; } } Soweit klappt alles wunderbar
. Ist es eben nicht. Am nebenwirkungsfreiesten ist ein Timerinterrupt zur Tastenabfrage. Dann geht nirgends CPU-Zeit verloren und Tastendrücke können sogar gemerkt werden. Ohne Timerinterrupt muß beim Drücken oder Loslassen (an den Flanken) die Entprellzeit verwartet werden. Ist nicht schön, aber
-
Thread
BASCOM PORTC.2 not found
Ich habe hier in einem Programm was ich auf einen Atmega 32 übertragen möchte ein Problem mit dem PORTC.2. Der Portc.2 soll einen Alias bekommen über die Codezeilen: 'R6 r6 alias portc.2 config r6 = output Beim compilieren meldet Bascom dann den Fehler: .DEF not found PORTC.2 Ich gehe
Ja! OK! Danke! Das wars. Ich habe die Variablen R1...6 durch was anderes ersetzt. Jetzt geht es.
-
Thread
Binärzähler in C - STK - 500
Wenns um Sekundengenauigkeit geht, würde ich eher einen geeigneten Quarz + internen Prescaler verwenden und dann mit Interrupts arbeiten. Hab ich bei meiner Binäruhr so erledigt.
sei(); // global interrupt an } void anzeigeBinaer() { PORTB = Sekundenaktuell & 15; PORTC = Sekundenaktuell >> 4; PORTC |= (Minutenaktuell << 2); } int main(void){ setup(); while(1){ } } ISR(TIMER1_OVF_vect) { TCNT1 = 3036; // zählerwert
-
Thread
Kontrolle einer PIC Testplatine
/www.ucontrol.com.ar/forosmf/proyectos-con-pic/conexion-mclr-%28master-clear%29/ der Wiederstand geht direkt an die +5V die Diode ist in dem Pfad drin das der PIC Brenner auch ein LOW signal erzeugen kann (hatte ich von einer schaltung die ich nicht mehr finde) raus genommen. Da hat er es auch so erklärt
auch einen internen Pull-Up. Port B1 bis B3 sind für alles zu haben. Bei besseren PICs ist der PortC dann oft speziellen Funktionen zugeordnet und ansonsten als IOs zu gebrauchen. Aber PortA wird erst benutzt, wenn die anderen voll sind ;-)
-
Thread
Wie bekomme ich eine Status Led für Uart
USART_RXC_vect) //Empfangsinteruppt wird ausgelößt sobald ein Byte empfangen wurde { PORTC^= (1<<PC0); } [/c]
; } [/c] und in der mainloop (quick and dirty): [c] if(timeout) { PORTC |= (1<<PC0); -- LED einschalten timeout--; } else PORTC &= ~(1<<PC0); -- nach gewisser Zeit: LED aus [/c]
-
Thread
Brauche dringend Hilfe! Gesperrt
Also bei dem Betreff des Threads wusste ich sofort um was es geht!
Da gibt es gleich 5 Threads. Hättest Du da nicht einfach in einem weiter schreiben können, denn es geht hier ja offensichtlich um das gleiche Thema.
-
Thread
Probleme beim Einschalten einer LED
Fotosensor nicht beleuchtet->geringe Spannung am ADC) leuchtet die LED bereits, wird der Sensor beleuchtet geht die LED aus, wenn ich dann jedoch die Beleuchtung des Fotosensors wieder beende, geht die LED NICHT wieder an(obwohl der codeabschnitt in dem das passieren sollte durchlaufen wird, siehe log-datei).
löschen geht anderst: [c] if (result<30) {uart_puts (" LED ist an "); PORTC &= ~(1<<PC5); }; [/c] Schau mal bei Bitmanipulationen ;) avr
-
Thread
Port wechseln für LCD-Display
es gemacht und es ging leider nicht. JTAG hatte ich mit 2 x MCUCSR |= (1<<JTD); // JTAG (PORTC) abgeschaltet. Die Pins an PORTC sind danach schaltbar, habe es überprüft. PORTA bringt leider auch kein Ergebnis. Verdrahtung stimmt, PORTD geht ja. Noch eine Idee?
"Die Software verwendet in der lcd-routines.h den PORTD. Der Port ist bei mir belegt. Wollte auf PORTC, oder PORTA ausweichen. Habe in lcd-routines.h aus dem "D" jeweils ein "C" bzw. "A" gemacht (PORTD --> PORTC, DDRD --> " Und genau das sollte funktionieren. Warum es bei ihm nicht geht, weiß der
-
Thread
Problem mit Wiz830MJ
_BV(PD5) #define DATA_L PORTA #define DATA_L_DDR DDRA #define ADDRESS_L PORTC #define ADDRESS_H PORTD #define ADDRESS_L_DDR DDRC #define ADDRESS_H_DDR DDRD [/c] Für die Registernamen habe ich die Adressen aus dem Datenblatt genommen. Immer wenn ich den Ping
Möglicherweise geht das auch so. Aber richtiger ist, den externen Adress- und Datenbus des Prozessors dazu zu benutzen. Ich weiß nicht, ob Dein Prozessor so etwas hat, aber ich habe einen atMega128 verwendet, und der hat
-
Thread
Lauflicht mit 2 Atmega8
geht doch mit 2 Atmegas, sogar synchron! Der Master-Atmega gibt seine Anweisungen einfach über die serielle Schnittstelle an seinen Slave. B.
Bernadette schrieb im Beitrag #1751665: > geht doch mit 2 Atmegas, sogar synchron! > > Der Master-Atmega gibt seine Anweisungen einfach über die serielle > Schnittstelle an seinen Slave. Natürlich gehts. Man kann auch eine WLAN Verbindung
-
Thread
Problem beim auslesen den IIC
1 // SDA Port D, Pin 1 #define SCL 0 // SCL Port D, Pin 0 #define SDA_PORT PORTC // SDA Port C #define SCL_PORT PORTC // SCL Port C [/C] Du musst SDA an PC1 hängen und SCL an PC0 und *NICHT* an Port D wie im Kommentar oben. Erste Anweisung
darin, dass sich der Tempsensor nicht angesprochen füllt.. die zeilen #define SDA_PORT PORTC // SDA Port C #define SCL_PORT PORTC // SCL Port C hab ich aus peter f´s i2cmaster.S rauskopiert weil ich snst niergends im programm auser in der datei i2cmaster.S eine
-
Thread
keine Ausgabe am LCD mit ATmega32
@ Hc Zimmerer: hast Du Deinen Beitrag nachträglich noch mal geändert, siehe EDIT. wie geht das ?
Display an PORTC des ATMega32 und JTAG per Fuse enabled?
-
Thread
LCD Display 2x16 Zeichen
Standardansteuerung PORT C. Da kann auch das JTAG Fuse dazwischenfunken. Ist das aktiviert sind einige Pins an PORTC für JTAG "reserviert" Ich glaube PC2-PC5
wenn der Enable Impuls kommt. Sehe gerade, dass der EN nicht über den 164 läuft. Stimmt, dann geht's.
-
Thread
ATMega88PA ADC6 als Ausgang geht nicht
Hallo Zusammen, ich habe ein ATMega88PA in eine Schaltung eingelötet. Ich hatte vorher ein ATMega8 und dieser hat beim ADC6 5V geschallten. Bei Stand-By wurde danach der Pin abgeschalten. Das lief so weit gut. Jetzt habe ich ein ATMega88PA eingelötet und der ADC tut nicht. Habe mal alle Pins (7-2) als Ausgang und als High geschalten. DDRC = 0b11111100; PORTC = 0b11111100; ADC 2-5 = 5V ADC 6+7 = 0V Wieso das? Funkt hier noch etwas rein? Im Datenblatt habe ich alles nach ADC6 abgeklappert aber keinen Hinweis gefunden. Wo könnte der Fehler liegen? Gruss Alain
-
Thread
ATmega32 4facher Takt??
bei 128MHz blinkt sie normal. Programm: $regfile = "m32def.dat" $crystal = 12800000 CONFIG PORTC.1 = OUTPUT Do Toggle PORTC.1 Wait 1 Loop End Mfg
es geht mein mega644 läuft auch noch mit 27Mhz aber der ADC will dann nicht mehr ^^ bzw spuckt er nur totalen blödsinn aus .. und das bei dem größtmöglichem teiler bis 25Mhz geht es jedoch ein
-
Thread
ATMega32L - Welche Ports am besten für Ein-/Ausgänge nutzen?
auf Port C, D und B und ein paar Pins für die 2 Eingäneg finden sich da auch noch leicht. Wenns geht, lass ich mir die TxD / RxD Anschlüsse frei. Einen MAX232 temporär anzuklemmen und damit eine Debug-Ausgabe über UART zu haben, kann ganz praktisch sein. Auch ein PWM-Ausgang findet oftmals im Nachhinein
Prinzipiell hast du freie Auswahl. Die analogen Eingänge gehen natürlich nur am PortA. Um den PortC voll nutzen zu können musst du JTAG ausschalten. >Konkret habe ich mir mal die Steckerbelegung des Programmers angesehen >und festgestellt, dass dieser teilweise an einige der 32 Ports >angeschlossen