Полная версия этой страницы:
Задержка delay_ms()
ILYCHOFF
Feb 2 2006, 11:05
Я новичок в AVR. Объясните пожалуйста как в CV организуется задержка delay_ms()? как правильно ей прользоваться?
Подключаешь файл delay.h. delay_us(100); задержка 100 микросекунд,delay_ms(10); задержка 10 миллисекунд. значения передаваемые в функции должны быть unsigned int ! А вообще все это в хелпе расписано.
Данная задержка реализована простым циклом с декрементом.
Поэтому если вы собираетесь использовать функции задержек из delay.h проследите чтобы в настройках проекта была указана именно Ваша системная частота.
Еще одна тонкость. Особенно это касается микросекундных задержек. Если Вам необходимо достаточно точно выдержать временнОй интервал надо запретить прерывания на время выполнения задежки (если, конечно, это допустимо):
#asm("CLI")
delay_us(20);
#asm("SEI")
ILYCHOFF
Feb 3 2006, 06:02
Всем спасибо разобрался
э... а где это в системных настройках частота кстала указывается?
xtal? и в чем указывать? в герцах?
ILYCHOFF
Feb 3 2006, 09:52
В Code VisionAVR в Configure the project вкладка C Compiler указывается и проц и частота кварца.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.