Страница 1 из 1
помогите с задержкой
Добавлено: Вс мар 20, 2011 17:04:53
viktor110668
скажите как можно заменить в переменной задержки с миллисекунд на секунды
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 17:43:24
dimm1985
создать библиотеку delay_s.h, сохранить в C:\cvavr\inc
delay_s.h
Код:
#ifndef DELAY_S_H
#define DELAY_S_H
#include <util/delay.h>
static inline void delay_s(float s)
{
uint16_t i = s * 100;
if(i) do _delay_ms(10); while(--i);
}
#endif
потом в программе
#include "delay_s.h"
void main(void)
{
delay_s(3.5); // 3,5 sek
delay_s(5); //5 sek
}
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 17:45:20
ChipKiller
как можно заменить в переменной задержки с миллисекунд на секунды
1 сек = 1000 мсек ....

только зачем так издеваться над МК
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 17:48:38
viktor110668
в блокноте могу сделать ?
у меня в проекте есть две кнопочки + и - вот чтобы не гнать с 5000 по одной единице
устанешь кнопкой щелкать в итоге сломаешь кнопку
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 18:24:13
viktor110668
всем спасибо я разобрался
как сделать очень просто без включения файлов
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 18:38:03
ksv82
Я б на вашем месте все таки про таймеры подумал... а то пока кода да функций в проге мало такие задержки еще прокатывают, а вот когда функционала станет побольше, такие извращения будут оочень сильно мешаться.
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 18:51:30
viktor110668
код буден увеличен на 5 строк если будет задача сделать расширенный код тогда придется
ломать голову над таймерами
Re: помогите с задержкой
Добавлено: Вс мар 20, 2011 19:24:10
dimm1985
в блокноте и надо, только сохранить не как .txt а .h
И как в итоге победил? Поделись, сам иногда с секундами и минутами дело имею.
Re: помогите с задержкой
Добавлено: Пн мар 21, 2011 05:28:13
viktor110668
а очень просто
if (PINB.0==0) { //
delay_ms(50); //
PINC.0=1 ;
delay_ms(tmp*10);// вот тут переменную умножил на 10 и все
PINC.0=0;
while(PINB.2==0) {}; //
delay_ms(5); //