K Krzysztof 20 years ago Follow post Save Hide Report Dlaczego przebieg generowany przez poni¿szy kod ma czêstotliwo¶æ tylko 500 kHz (wype³nienie co prawda 25%, bo skok zajmuje 2 cykle...). Mam ustawione bity CKSEL3...0 nastêpujaco: 1110 (zgodnie z not± aplikacyjn±), zastosowany kwarc 8 MHz. Oto listing: (jest to w funkcji main) DDRD = 0xFF; do { for(;;) { PORTD = 0xFF; PORTD = 0x00; }; } while(1); Pzdr. Krzysztof.
P Patryk Sielski 20 years ago Report Krzysztof snipped-for-privacy@wp.pl pisze: Show Quoted Text Pokaż jak to zasemblował.
K Krzysztof 20 years ago Report Show Quoted Text Linijka 77 jest nie zwi±zana z pytaniem... 47: int main() 48: { +000002FE: E5CF LDI R28,0x5F Load immediate +000002FF: E0D4 LDI R29,0x04 Load immediate +00000300: BFDE OUT 0x3E,R29 Out to I/O location +00000301: BFCD OUT 0x3D,R28 Out to I/O location 77: DDRC = (1<<DDC0) | (1<<DDC1) | (1<<DDC2); // ustawienie 3 wyj¶æ, do transmisji D/A +00000302: E087 LDI R24,0x07 Load immediate +00000303: BB84 OUT 0x14,R24 Out to I/O location 79: DDRD = 0xFF; +00000304: EF8F SER R24 Set Register +00000305: BB81 OUT 0x11,R24 Out to I/O location 104: PORTD = 0xFF; +00000306: BB82 OUT 0x12,R24 Out to I/O location 105: PORTD = 0x00; +00000307: BA12 OUT 0x12,R1 Out to I/O location 102: for(;;) +00000308: CFFD RJMP PC-0x0002 Relative jump