Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 12:15

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 03:30 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
Прошу помочь с простенькой программкой для AVR Tiny13a (только начал изучать программирование AVR и накидал в Code vision AVR 3.39b):
----------------------------------------------------------------------
/*******************************************************
This program was created by the CodeWizardAVR V3.39b

Chip type : ATtiny13A
AVR Core Clock frequency: 9,600000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 16
*******************************************************/

#include <tiny13a.h>
#include <delay.h>

unsigned char v; // создаем переменную v

interrupt [EXT_INT0] void ext_int0_isr(void) // Обработка прерывания по PB1/int0
{
v++; // увеличиваем на 1
if(v==4)v=0; // при достежении v значения 4, присваиваем v значение 0
delay_ms (100); // задержка
}

void main(void) // настройка порта В
{
DDRB=(1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0);

PORTB=(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (1<<PORTB1) | (1<<PORTB0);

// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Low level
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=(1<<INT0) | (0<<PCIE);
MCUCR=(0<<ISC01) | (0<<ISC00);
GIFR=(1<<INTF0) | (0<<PCIF);

// Globally enable interrupts
#asm("sei")

while (1)
{
if(v==0) PORTB.2 = 0; PORTB.3 = 0; PORTB.4 = 0; // При v=0 все светодиоды погашены

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
if(v==1) PORTB.2 = 1; PORTB.3 = 0; PORTB.4 = 0; // При v=1, загорается светодиод пора PB2
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
if(v==2) PORTB.2 = 0; PORTB.3 = 1; PORTB.4 = 0; // При v=2, загорается светодиод пора PB3, тухнет PB2
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
if(v==3) PORTB.2 = 0; PORTB.3 = 0; PORTB.4 = 1; // При v=3, загорается светодиод пора PB4, тухнет PB3

}

}
--------------------------------------------------------------------
Проект в proteus 8 представляет управление с помощью контроллера одной кнопкой тремя светодиодами по очереди. Т.е. в исходном состоянии порты со светодиодами PB2, PB3, PB4 - низкий уровень. К PB0 ничего не подключено. Кнопка на PB1, второй конец на землю. При 1 нажатии загорается и горит PB2, при втором нажатии PB2 тухнет, зажигается PB3, при третьем - тухнет PB3 и загорается PB4, при четвертом - все порты со светодиодами выключаются. И по кругу.

При запуске в Протеусе начинают подмаргивать PB3, PB4. При первом нажатии PB2 загорается, при втором моргают PB3, PB4.

Просьба, готовые решения не предлагать. Есть hex файл подобной программы. Хочется научиться программировать самому, хотя бы простые вещи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 04:15 
Только пришел

Зарегистрирован: 26 фев 2020, 19:35
Сообщения: 23
Откуда: Москва
А что, давайте попробуем.
Каковы Ваши познания в английском, и в C ? Можете читать и понимать datasheet Tiny13?
Понимаете ли каждый оператор в приведенной выше программе?
Попробуйте описать задачу в виде алгоритма, прям на русском языке, словами по пунктам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 05:00 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 7238
http://www.forum.easyelectronics.ru/vie ... =4&t=15718
Оттуда:
Цитата:
Хардварное прерывание имеет смысл для события, на которое нужна мгновенная реакция. То есть вот прям всё бросаем и резко переключаемся на.
Нажатие кнопки живым человеком при лазании по меню к таким событиям не относится


Перепишите программу на работу без прерываний, оно здесь как седло корове. Тем более с delay(100).
Например, цикл вида:
Код:
data=0xFF;
while (1)
{
  chk=port_in & mask; // прочитать/проверить бит
  if (chk == 0)   
  {
     if (data != 0)
    {
      Установить порт по v
      v++; if (v>3) {v=0;}
    }
  }
  data=chk;
  delay(100);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 05:23 
Только пришел

Зарегистрирован: 26 фев 2020, 19:35
Сообщения: 23
Откуда: Москва
u37, человек же попросил не давать решений—помогите ему самому прийти к верному ответу.
А Вам вопрос: а если эта схема питается от батарейки? Может всё-таки седло?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 06:03 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 7238
Цитата:
а если эта схема питается от батарейки?

ответ
Первое сообщение:
Цитата:
while (1)
{
...
}


Надеюсь, дальше не последует вопрос - "а если бы он вёз снаряды?" ))
Не надо придумывать то, чего нет в ТЗ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 12:19 
Старожил

Зарегистрирован: 10 фев 2016, 19:55
Сообщения: 351
alfa19 писал(а):
Хочется научиться программировать самому, хотя бы простые вещи.

В этом случае пара замечаний.
Первое: переменная, которая используется и в прерываниях, и в основном цикле должна объявляться с модификатором 'volatile':
Код:
volatile unsigned char v; // создаем переменную v

Это скажет компилятору, что не нужно оптимизировать работу с такой переменной.
Второе: обработчики прерываний должны как можно быстро выполнять свою работу и возвращать управление основной программе. А в Вашем коде там целая задержка 'delay(100);'. В конкретно данном примере это не нарушит логику работы программы, но при использовании большего количества прерываний такое решение станет источником проблем.
Для борьбы с дребезгом кнопки при таком способе опроса нажатия нужно использовать RTC: засекать время срабатывания прерывания и не реагировать в течении определённого промежутка времени на новые срабатывания прерывания. RTC можно реализовать с помощью таймера ATtiny13. Либо можно реализовать опрос кнопки в обработчике прерывания таймера -- настраиваете таймер так, чтобы один из обработчиков срабатывал каждые 100 мс (пример) и в нём проверяете состояние кнопки.

И наконец по поводу логики работы программы. У Вас прерывание настроено на срабатывание по низкому уровню, т.е. пока нажата кнопка постоянно будет генерироваться прерывание с вызовом обработчика. Соответственно, если кнопка будет нажата дольше, чем 100 мс, сработает более одного прерывания -- будет более одного переключения состояния. Решить проблему можно, например, настроив прерывание на срабатывание по спадающему уровню.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 12:51 
Старожил

Зарегистрирован: 10 мар 2012, 11:11
Сообщения: 220
RTC обычно ассоциируется со специализированной МС и батареей резервного питания. Не запутывайте начинающего.
И я солидарен с u37. Не нужно начинать с прерываний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 13:34 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
IgorR76 писал(а):
А что, давайте попробуем.
Каковы Ваши познания в английском, и в C ? Можете читать и понимать datasheet Tiny13?
Понимаете ли каждый оператор в приведенной выше программе?
Попробуйте описать задачу в виде алгоритма, прям на русском языке, словами по пунктам.


В английском - начальный уровень, с С - еще хуже. 3 дня, как начал. Datasheet Tiny13 читаю с трудом, но много инфы взял из инета.
По операторам: казалось понимаю.
Алгоритм:
1. Настроить порт В, установив один порт (PB1) на вход для работы с кнопкой, установив 3 порта (PB2, PB3, PB4) на выход, для работы со светодиодами;
2. Слушать порт с кнопкой, пока 1 - не реагировать, а при появлении 0 выполнить действие: зажечь светодиод PB2 и держать его зажженым до следующего 0 на PB1;
3. При повторном появлении 0 на PB1, погасить PB2 и зажечь PB3 и оставить его гореть до следующего появления 0 на PB1;
4. При третьем появлении 0 на PB1, погасить PB3 и зажечь PB4 и оставить его гореть до следующего появления 0 на PB1;
5. При 4 появлении 0 на PB1, перевести схему в исходное состояние (выключить все светодиоды) и расценивать следующий 0 на PB1, как первое нажатие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 13:37 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
u37 писал(а):
http://www.forum.easyelectronics.ru/viewtopic.php?f=4&t=15718
Оттуда:
Цитата:
Хардварное прерывание имеет смысл для события, на которое нужна мгновенная реакция. То есть вот прям всё бросаем и резко переключаемся на.
Нажатие кнопки живым человеком при лазании по меню к таким событиям не относится


Перепишите программу на работу без прерываний, оно здесь как седло корове.
[/code]


Попробую разобраться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 13:41 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
u37 писал(а):
Цитата:
а если эта схема питается от батарейки?

ответ
Первое сообщение:
Цитата:
while (1)
{
...
}



Не совсем понял, что имелось ввиду? Имеется ввиду потребление (расход батарейки)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 13:47 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
Netzschlange писал(а):
alfa19 писал(а):
Хочется научиться программировать самому, хотя бы простые вещи.

В этом случае пара замечаний.
Первое: переменная, которая используется и в прерываниях, и в основном цикле должна объявляться с модификатором 'volatile':
Код:
volatile unsigned char v; // создаем переменную v

Это скажет компилятору, что не нужно оптимизировать работу с такой переменной.


Буду читать про оптимизацию. Пока не понимаю, в каких случаях нужна оптимизация, в каких нет. И как это влияет и на что.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 14:28 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 3047
Не надо читать про оптимизацию. Оптимизация нужна всегда в общем случае. Для начала дальше лезть в это не надо. Читайте конкретно про volatile и прерывания. Длинная история коротко - volatile нужно объявлять все переменные, которые могут изменяться в прерываниях.
Чуть длиннее - компилятор не в курсе про прерывания и когда они будут происходить. Переход в прерыванием происходит железом, а не компилятором. Т.к. компилятор не видит этих переходов, его оптимизатор может выкинуть куски кода, касаемые переменной изменяемой в прерывании во многих случаях, т.к. он думает что раз туда нет перехода, то и не нужна эта переменная в других местах. Поэтому переменной назначается этот специальный аттрибут, говорящий компилятору - не надо её так оптимизировать. Это в поверхностном приближении, но достаточно для начала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 14:36 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
Понял. Спасибо за доходчивое разъяснение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 14:37 
Старожил

Зарегистрирован: 10 фев 2016, 19:55
Сообщения: 351
alfa19 писал(а):
Буду читать про оптимизацию. Пока не понимаю, в каких случаях нужна оптимизация, в каких нет. И как это влияет и на что.

Судя по Вашим ответам, не стоит именно сейчас уделять внимание оптимизации -- доверьтесь той, что предлагает среда разработки, которую используете.
Просто, на первое время, запомните, что если переменная используется и в обработчике прерывания, и в коде, то добавляйте 'volatile'. Потом, когда придёт время изучения оптимизации поймёте зачем это нужно.

Что касается прерываний, то тоже соглашусь, что нужно начинать с чего-то более простого.

Snake писал(а):
RTC обычно ассоциируется со специализированной МС

А вот касательно RTC -- Real Time Clock -- Часов Реального Времени -- то реализация может быть разной, не обязательно в виде отдельного модуля. И для новичка эта информация не будет лишней. А то сейчас он зашьёт в свою голову, что это обязательно отдельный модуль с часовым кварцем, а потом будет округлять свои глазки, встретив реализацию RTC средствами микроконтроллера, у которой будет точность низкая (потому что высокая не нужна) и считать будет не секунды с определённого года, а миллисекунды с момента старта контроллера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 16:22 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
Netzschlange писал(а):
Просто, на первое время, запомните, что если переменная используется и в обработчике прерывания, и в коде, то добавляйте 'volatile'. Потом, когда придёт время изучения оптимизации поймёте зачем это нужно.

Принято. Учту.

Цитата:
Что касается прерываний, то тоже соглашусь, что нужно начинать с чего-то более простого.

Так вот, что в примерах увидел, то и пытался использовать. Я ж пока ничего не знаю. Соответственно и применяю то, что узнал.

Цитата:
А вот касательно RTC -- Real Time Clock -- Часов Реального Времени -- то реализация может быть разной, не обязательно в виде отдельного модуля. И для новичка эта информация не будет лишней. А то сейчас он зашьёт в свою голову, что это обязательно отдельный модуль с часовым кварцем, а потом будет округлять свои глазки, встретив реализацию RTC средствами микроконтроллера, у которой будет точность низкая (потому что высокая не нужна) и считать будет не секунды с определённого года, а миллисекунды с момента старта контроллера.

Учту.
Сейчас на работе, вечером буду изучать рекомендации.
Всем очень благодарен.
Надеюсь с Вашей помощью добиться результата и набраться опыта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 16:46 
Старожил

Зарегистрирован: 10 мар 2012, 11:11
Сообщения: 220
Netzschlange писал(а):
А вот касательно RTC -- Real Time Clock -- Часов Реального Времени -- то реализация может быть разной, не обязательно в виде отдельного модуля. И для новичка эта информация не будет лишней. А то сейчас он зашьёт в свою голову, что это обязательно отдельный модуль с часовым кварцем, а потом будет округлять свои глазки, встретив реализацию RTC средствами микроконтроллера, у которой будет точность низкая (потому что высокая не нужна) и считать будет не секунды с определённого года, а миллисекунды с момента старта контроллера.

Реализация может быть разной, только Реальное, всё ж таки, связанное с реальным временем, а здесь этим не пахнет.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 18:34 
Старожил

Зарегистрирован: 10 фев 2016, 19:55
Сообщения: 351
Snake писал(а):
Реальное, всё ж таки, связанное с реальным временем, а здесь этим не пахнет.)

Т.е. время, измеренное в секундах с 1970-го года, более реальное, чем время, измеренное в миллисекундах с момента старта микроконтроллера? Или проблема в том, что микроконтроллер может допустить погрешность, например, в 100 миллисекунд каждые десять дней из-за отсутствия качественной стабилизации частоты такового генератора?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 18:49 
Старожил

Зарегистрирован: 10 мар 2012, 11:11
Сообщения: 220
С такой логикой можно любой таймер считать ЧРВ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 19:20 
Старожил

Зарегистрирован: 10 фев 2016, 19:55
Сообщения: 351
Snake писал(а):
С такой логикой можно любой таймер считать ЧРВ.

Именно на таймерах ЧРВ и делаются в микроконтроллерах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 20:51 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3693
Откуда: Новосибирск
alfa19 писал(а):
Надеюсь с Вашей помощью добиться результата и набраться опыта.

Не с нашей. Ваша задача, купить, скачать книги по архитектуре МК AVR, по программированию на языке си. Наша задача - помочь только в том, случае, если вы потрудились изучению архитектуре. Более-менее освоили си. И затруднения у вас не по элементарным вопросам, ответы на которые в книжках, а если, действительно, что-то не поняли, не получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 21:53 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
demiurg1978 писал(а):
alfa19 писал(а):
Надеюсь с Вашей помощью добиться результата и набраться опыта.

Не с нашей. Ваша задача, купить, скачать книги по архитектуре МК AVR, по программированию на языке си. Наша задача - помочь только в том, случае, если вы потрудились изучению архитектуре. Более-менее освоили си. И затруднения у вас не по элементарным вопросам, ответы на которые в книжках, а если, действительно, что-то не поняли, не получается.


Все, спасибо. Нашелся человек, который может мне помочь, а не демагогией занимается. Уважаемый demiurg1978, я в теме написал: "Совсем начальное ......". Если вы помогаете подготовленным программистам решать задачи, которые у них не получаются, то вы не по адресу. Я не вас просил помочь. С уважением.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 13 май 2020, 22:54 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3693
Откуда: Новосибирск
alfa19 писал(а):
а не демагогией занимается. Уважаемый demiurg1978, я в теме написал: "Совсем начальное ......". Если вы помогаете подготовленным программистам решать задачи, которые у них не получаются, то вы не по адресу. Я не вас просил помочь. С уважением.

Вы меня не услышали. Демагогия здесь ни при чем. Есть два пути, первый, вы бегаете на форумы, а мы за вами с сопливчиками. По любому поводу. Или вы соизволите взять себя за жопу, почитаете книги. Сами научитесь азам, и у нас найдется время на ответы, тем, кому это действительно нужно. Не давите на жалость, вот начинающий. Так трудитесь! Под лежачий камень вода не течет.
Я тоже был начинающим. Читал книги. Вот и весь рецепт как быстро пройти уровень "начинающий".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 14 май 2020, 02:19 
Только пришел

Зарегистрирован: 13 май 2020, 03:03
Сообщения: 10
demiurg1978 писал(а):

Цитата:
Вы меня не услышали.

Я Вас отлично услышал, уважаемый. Услышьте меня. Я Вас на веревке не тащил читать эту тему. Нет желания помочь, просто не мешайте. Ваша идеология понятна. Общайтесь с тем кругом, который по вашему, достоин вашего внимания. От Вас по делу ни строчки. Зачем Вы зашли в эту ветку? Высказать свое мнение? Тема ветки не та. Ваше мнение к теме отношения не имеет. Вас никто не задерживает. Не мешайте другим и не мусорите не по теме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 14 май 2020, 02:33 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3693
Откуда: Новосибирск
Молодой и глупый. Это не оскорбление. Молодость и глупость лечится временем, возрастом.
1 - Вы решили освоить программирование микроконтроллеров. Похвально. Без сарказма.
2 - На любом другом форуме тоже попадётся участник, который тебе скажет - иди читай книжку, твою медь налево!!!
3 - Кнопка, контакты. Дребезг контактов. Это означает, что если вы не примите меры по подавлению дребезга, то вместо одного нажатия будет несколько.
4 - и так далее и так далее.
5 - вы ведете себя как ребёнок. О, этот добрый дядька, ответил, а этот злой, обматерил. Но все не так на самом деле.
Повторяю, не спешите с выводами насчёт меня и остальных. Попробуйте понять, что вам говорят. Иначе, с таким поведением и отношением никто не будет вам помогать. Хотите, чтобы я не писал в ваши темы, не вопрос, я запомню ваш ник.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совсем начальное программирование AVR. Help!!!
СообщениеДобавлено: 14 май 2020, 10:50 
Заглядывает иногда

Зарегистрирован: 14 апр 2020, 08:57
Сообщения: 168
Snake писал(а):
RTC обычно ассоциируется со специализированной МС и батареей резервного питания. Не запутывайте начинающего.
И я солидарен с u37. Не нужно начинать с прерываний.

не согласен....
нужно прерывание по таймеру в котором опрос кнопки...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB