- Вложения
-
- main.rar
- (708 байт) 155 скачиваний
помогите с задержкой
- Сообщения: 45
- Зарегистрирован: Пн мар 09, 2009 08:06:49
скажите как можно заменить в переменной задержки с миллисекунд на секунды
- Реклама
создать библиотеку 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
}
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
}
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
1 сек = 1000 мсек ....как можно заменить в переменной задержки с миллисекунд на секунды
- Сообщения: 45
- Зарегистрирован: Пн мар 09, 2009 08:06:49
в блокноте могу сделать ?
у меня в проекте есть две кнопочки + и - вот чтобы не гнать с 5000 по одной единице
устанешь кнопкой щелкать в итоге сломаешь кнопку
у меня в проекте есть две кнопочки + и - вот чтобы не гнать с 5000 по одной единице
устанешь кнопкой щелкать в итоге сломаешь кнопку
- Сообщения: 45
- Зарегистрирован: Пн мар 09, 2009 08:06:49
- Реклама
- Сообщения: 25
- Зарегистрирован: Пт мар 18, 2011 12:41:09
Я б на вашем месте все таки про таймеры подумал... а то пока кода да функций в проге мало такие задержки еще прокатывают, а вот когда функционала станет побольше, такие извращения будут оочень сильно мешаться.
- Сообщения: 45
- Зарегистрирован: Пн мар 09, 2009 08:06:49
код буден увеличен на 5 строк если будет задача сделать расширенный код тогда придется
ломать голову над таймерами
ломать голову над таймерами
в блокноте и надо, только сохранить не как .txt а .h
И как в итоге победил? Поделись, сам иногда с секундами и минутами дело имею.
И как в итоге победил? Поделись, сам иногда с секундами и минутами дело имею.
- Сообщения: 45
- Зарегистрирован: Пн мар 09, 2009 08:06:49
а очень просто
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); //
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); //


