Ja dann sind wir mal nicht so 
ich hab als Testprogramm das aus der Wiki-Seite verwendet, und gleich nach der Stop übergabe diese Warteschleife eingebaut:
Code:
Do
Incr Testcnt
Loop Until Twcr.twsto = 0
Print "stop: " ; Testcnt
Bei 16Mhz komme ich auf den Wert 9.
So schaut das ganze in Assembler aus:
Code:
# Do
# Incr Testcnt
+00000106: E6A4 LDI R26,0x64 Speicherort von Testcnt
+00000107: E0B0 LDI R27,0x00
+00000108: 918C LD R24,X Wert aus SRAM holen
+00000109: 5F8F SUBI R24,0xFF +1
+0000010A: 938C ST X,R24 Wert wieder ins SRAM
+0000010B: 2700 CLR R16 Clear Register
+0000010C: 27BB CLR R27 Clear Register
+0000010D: E5A6 LDI R26,0x56 TWCR über SRAM holen
+0000010E: 918C LD R24,X Load indirect
+0000010F: FB84 BST R24,4 Bit store from register to T, TWSTO ist Bit4
# ... Twcr.twsto = 0 ?
+00000110: F40E BRTC 0x0112 Branch if T flag cleared
+00000111: E001 LDI R16,0x01 Load immediate
+00000112: E040 LDI R20,0x00 Load immediate
+00000113: 1704 CP R16,R20 Compare
+00000114: F011 BREQ 0x0117 Branch if equal, fertig
# loop
+00000115: 940C0106 JMP 0x00000106
+00000117: ....
kann ja mal jemand nachrechnen wieviel Takte das sind
Lesezeichen