반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // 딜레이 void Delay_us_Asm(unsigned int time_us) /* time delay for us */ { register unsigned int i; for(i = 0; i < time_us; i++) // 4 cycle + { asm volatile(" PUSH R0 "); // 2 cycle + asm volatile(" POP R0 "); // 2 cycle + asm volatile(" PUSH R0 "); // 2 cycle + asm volatile(" POP R0 "); // 2 cycle + asm volatile(" PUSH R0 "); // 2 cycle + asm volatile(" POP R0 "); // 2 cycle = 16 cycle = 1 us for 16MHz } } void Delay_ms_Asm(unsigned int time_ms) /* time delay for ms */ { register unsigned int i; for(i = 0; i < time_ms; i++) { Delay_us_Asm(250); Delay_us_Asm(250); Delay_us_Asm(250); Delay_us_Asm(250); } } | cs |
반응형
'개발모듈 > 펌웨어 모듈' 카테고리의 다른 글
- AVR Eeprom 읽고 쓰기 (0) | 2020.02.24 |
---|---|
- Smpte Out (16Mhz 200us 타이머사용) (0) | 2019.12.16 |
- Key Control 5 (0) | 2019.12.11 |
- Data_Send 함수 (0) | 2019.12.10 |
- Key Control 4 (0) | 2019.12.10 |