Gast
#4417284
Hallo AVR-Gurus Habe von Pollin ein Entwicklungsboard ATMEL ATmega168PA gekauft Best.Nr. 810366 für 3,95Teuro Mikrocontroller-Board mit Onboard-Spannungswandler, 16 MHz Präzisionsquarz und UART-Interface. Alle I/O-Ports sind auf Lötösen im RM 2,54 herausgeführt. Da ich an der seriellen TxD Rxd kein Signal messen konnte, habe ich kurzerhand den Chip gelöscht und eine kurze Routine per ISP draufgespielt also stack-ini und dann sbi ddrd,pd4 ;als ausgang nop ewl1: sbi portd,pd4 ;2Takte nop ;1 Takt cbi portd,pd4 ;2Takte rjmp ewl1 ;2Takte ;; 7Takte zusammen ergibt gemessen 2.285700 MHz am Pin PD4, das waere dann 15999900 OszillatorTakt .equ fCPU=15999900 also eindeutig ein 16 MHz-Quarz-Takt nun wollte ich etwas schneller werden und benutzte den PIN-Schreib-Befehl Auszug aus dem Atmel-PDF 14.2.2 Toggling the Pin Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn. Note that the SBI instruction can be used to toggle one single bit in a port. diesmal dieses: ewl2: sbi pind,pd4 ;2Takte rjmp ewl2 ;2Takte ;4 Takte und am PD4 genau 2,000000 MHz gemessen das ergibt dann fCPU=8000000 ,also ein 8MHz-Quarz als Bemerkung dazu ;;Crystal Oscillator, slowly rising power 16K CK 14CK + 65ms leider lässt sich im AVRStudio 4.19 sich die Fuses-Einstellung nicht in die Zwischenablage kopieren !! aber es wurde zwischen den beiden Programmen nichts an den Fuses verstellt. ??? Wie ist das zu erklären, dass der Atmel 168PA einmal 16 Mhz hat und dann 8 Mhz€ mit freundlichem Gruß Fritz