uuu000

пауза с коммент

Sep 23rd, 2022
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. можно
  2. #define F_CPU 4000000UL // указываем частоту в герцах
  3. #define time 30 //объявляем константу time(например 30)
  4. void pause (unsigned long a)//функция паузы с аргументом а
  5.  
  6. {
  7. unsigned long counter ;//переменная counter
  8. for(counter=a; counter>0; counter--)
  9. asm ("nop");//для того, чтобы избежать оптимизации этой ф-ции
  10. }
  11.  
  12.  
  13. пример использования
  14. int main(void) {
  15.  
  16. ......
  17.  
  18. while(1)
  19.  
  20. {
  21. ....
  22. pause (10000L*time);//пауза рассчитывается в зависимости от частоты F_CPU
  23. //в данном случае аргумент а=10000L = 10000*(1/4000000)= 2,5( мсек)
  24. // и еще умножаем на выбранную константу (например 30) получаем 30*2,5=75(мсек)
  25. ....
  26. }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment