ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
eduardo
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Вс июн 17, 2012 16:32:42

ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение eduardo »

Драсьте уважаемые обитатели сайта и форума. У меня вопрос такой: можноли в языке Си длительности импульса присвоить какое_либо имя или значение? К примеру:
PINB0=1;
delay_us(2500);

какой синтаксис использовать? Подскажите,выручте пажалста!!! Спасибо.
Реклама
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение borys »

Все это давно расписано в умных книжках.
Реклама
Аватара пользователя
player259
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн май 02, 2011 05:16:16

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение player259 »

директивами препроцессора,
#define
#inline
ваш случай:
#define SOME_KIND_OF_DELAY PINB0=1; delay_us(2500);
eduardo
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Вс июн 17, 2012 16:32:42

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение eduardo »

borys писал(а):Все это давно расписано в умных книжках.
В умных книжках по-умному и написано. Например в "Code Vision AVR-Пособие для начинающих" автор Лебедев М.Б. А хотелось бы чтоб по-простому...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
radiokot__
Мучитель микросхем
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение radiokot__ »

Вы хоть напишите когда вам эта задержка нужна.
Может просто можно присваивать значение тогда когда надо.

Например

PINB0=1;
delay_us(2500);

Ну там видимо

PINB0=0;
delay_us(2500);
Ни один домашний кот незнает что он домашний.
Реклама
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение borys »

Для eduardo.
Вообще то Вы взялись не за самое дело (микроконтроллеры) и книги читать придется. Не пото-
му, что мне так хочется, а потому, что это Вам необходимо. Если совсем по простому, то с по-
мощью гаечного ключа и лопаты.
Реклама
eduardo
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Вс июн 17, 2012 16:32:42

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение eduardo »

radiokot__ писал(а):Вы хоть напишите когда вам эта задержка нужна.
Может просто можно присваивать значение тогда когда надо.

Например

PINB0=1;
delay_us(2500);

Ну там видимо

PINB0=0;
delay_us(2500);
Алгоритм такой: если в PINB0 присутствует 1 в течении 2500 мкс,то PORTD0=1. Иначе PORTD0=0.
if(PINB0=1+delay_us(2500)) //в этой строке синтаксис неверный
{PORTD0=1;}
else
{PORTD0=0;}
А КАК НАПИСАТЬ ПРАВИЛЬНО???
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: ОСВОЕНИЕ НАПИСАНИЯ ПРОШИВОК ДЛЯ TINY2313

Сообщение uk8amk »

Можно сделать например так(чисто программный метод):

Код: Выделить всё

unsigned short i = 0;

while( (PINB.0 != 0) && ( i<2500 ) )
	{
	++i;
	delay_us( 1 );//подобрать задержку(возможно NOP-ами)
	};
if( i == 2500 )
	PORTD.0 = 1;
else
	PORTD.0 = 0;
Задержку отрегулируете исходя из кол-ва инструкций в цикле while() и тактовой частоты МК. Но правельней было бы реализовать на таймерах.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»