Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 13:18:18

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 83, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт май 02, 2019 10:04:21 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн янв 24, 2011 01:51:48
Сообщений: 197
Откуда: Украина, Киев
Рейтинг сообщения: 0
подскажите какой ток потребления у входа АЦП STM8S? нужно рассчитать впритык по току делитель


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт май 02, 2019 10:14:35 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В ДШ разве не написано? Ну и реально попробовать. Если мне память не изменяет нужно отключить триггер Шмидта для уменьшения потребления.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс май 19, 2019 21:53:23 
Открыл глаза

Зарегистрирован: Пн дек 19, 2016 10:20:28
Сообщений: 78
Рейтинг сообщения: 0
Разбирался на днях с отладочной платой STM8S-Discovery, да потер всю память на чипе, не запомнив дефолтные значения option bytes.
Часть демок теперь не работает как надо. Пол дня прокопался, но так и не разобрался, что там изначально было.
Если у кого есть данная плата, напишите пожалуйста, что у вас в ней прошито в option bytes?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн май 20, 2019 02:18:13 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
PombI4, а если прошить значениями по умолчанию (factory default) из даташит?

Добавлено after 2 hours 17 minutes 36 seconds:
Как то я это пропустил.
15 апреля вышел SDCC 3.9
SDCC 3.9.0 Feature List:
Support for struct / union assignment.
Optimizations in the stm8 backend relevant to soft float increase Whetstone score by two thirds.
Improvements in rematerialization in the stm8 backend improve code generation for struct, union and arrays.
New stack allocator reduces stack space usage for the stm8, z80, z180, gbz80, r2k, r3ka, tlcs90 backends.
New ez80_z80 backend for eZ80 in Z80 mode.
Removed deprecated sdcclib utility.
New pdk14 backend for Padauk µC with 14-bit wide program memory.
New in-development pdk15 backend for Padauk µC with 15-bit wide program memory.

Особенно радует ускорение теста Whetstone в два раза и рематериализация для STM8 при операциях со структурами, объединениями и массивами. Код, который SDCC генерил до этого, особенно со структурами, меня сильно раздражал.
Присваивание структур и объединений вещь приятная, но мне не в лом было и memcpy() писать.
Что там улучшили в аллоцировании стека я пока не понял.
Развитие поддержки сверхдешевых, но однократно программируемых, Padauk радует, но это уже к STM8 отношения не имеет.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн май 20, 2019 10:07:27 
Открыл глаза

Зарегистрирован: Пн дек 19, 2016 10:20:28
Сообщений: 78
Рейтинг сообщения: 0
Странно - перепрошился через ST VD и все заработало...

А вот через IAR... Сначала работало, а потом после стирания перестало.

При этом, после прошивки через ST VD, options bytes как были нулевыми, так и остались.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн май 20, 2019 10:16:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
PombI4, Они не могли быть нулевыми. Большинство option bytes у STM8 парные - прямое и инверсное значение. Например, по-умолчанию, OPT1=0х00, а следующий за ним NOPT1=0хFF
Поэтому просто нулями их так просто не перепишешь.
Подозреваю, что ST VD увидев несоответствие между прямыми и инверсными значениями сам прописал значения по-умолчанию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн май 20, 2019 10:37:12 
Открыл глаза

Зарегистрирован: Пн дек 19, 2016 10:20:28
Сообщений: 78
Рейтинг сообщения: 0
Ну, как реально в памяти они лежали, я не смотрел... А вот в интерфейсе прошивальщика они занулены. Там они не как OPT NOPT отображаются.
Вложение:
1.png [54.46 KiB]
Скачиваний: 776

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн май 20, 2019 10:42:22 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
PombI4, про прошивальщик я не в курсе, к сожалению. Прошивки не блокирую, а остальное удобней устанавливать в коде, так как это может зависеть от параметров сборки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб июл 27, 2019 16:55:46 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Доброго времени суток. В RM016 указано, что 16 битный регистр TIM1_CNTR имеет теневой регистр для чтения и не имеет для записи. ARR имеет теневой для записи, про чтение вроде как ничего не сказано. И ничего больше я не нашел.

Теперь сам вопрос. Режим захвата, считываю захваченные данные вот так
Код:
    uint16_t capch;
    capch=*((uint16_t*)&TIM2_CCR3H);
Компиллится в команду LDW. Данные ваще неадекват.

Делаю так.
Код:
    uint16_t capch;   
    ((uint8_t *)&capch)[0]=TIM2_CCR3H;
    ((uint8_t *)&capch)[1]=TIM2_CCR3L;
Захваченные данные верные.

На всякий случай еще вот так.
Код:
    uint16_t capch;     
((uint8_t *)&capch)[1]=TIM2_CCR3L;
((uint8_t *)&capch)[0]=TIM2_CCR3H;
Захваченные данные похожи на расчетные, но тоже неверные.

Это выходит что и регистр захвата, как минимум для чтения имеет теневой регистр, а где это написано?
Или я не ту смазку для лыж выбрал?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн авг 05, 2019 15:23:49 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 3
Это выходит что и регистр захвата, как минимум для чтения имеет теневой регистр, а где это написано?
На странице 167. Там же и последовательность чтения нарисована. Всё гораздо проще, не надо мудрить. На восьмибитке сдвиг на 8 бесплатен.
Код:
uint16_t capch=(TIM2_CCR3H<<8)|TIM2_CCR3L;
Ну или так, если не веришь компилятору
Код:
uint16_t capch = TIM2_CCR3H<<8;
capch |= TIM2_CCR3L;
Тот компилятор, который не сделает из этого просто две операции чтения, выкинуть и никогда не использовать :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн авг 05, 2019 15:46:53 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
На странице 167.
Спасибо. :oops: Вечно сам себе трудности нахожу, чтобы их мужественно преодолевать.

VladislavS писал(а):
Всё гораздо проще, не надо мудрить. На восьмибитке сдвиг на 8 бесплатен.
Попробовал предложенных оба варианта. Компиллится в кучу команд в том числе логики и сдвига. IAR, оптимизация максимум в режиме speed.
В моем варианте переменная capch загружается в 4 команды через аккумулятор.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн авг 05, 2019 19:09:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Ну значит IAR ещё не готов к STM8.

Вот смотри как он с AVR-ками расправляется.

Вариант 1.
Код:
void foo(uint16_t data)
{
  if(data) __enable_interrupt(); else __disable_interrupt();   
}

int main()
{   
  uint16_t capch = (PORTB<<8) | PORTC;
  foo(capch); 
  for(;;);   
}

//---------- Листинг ----------

//int main()
main:
//{   
//  uint16_t capch = (PORTB<<8) | PORTC;
//  foo(capch); 
        IN      R19, 0x18
        IN      R16, 0x15
        OR      R16, R19
        BREQ    ??main_0
        SEI
        RJMP    ??main_1
??main_0:
        CLI
//for(;;);   
??main_1:
        RJMP    ??main_1
//}


Вариант 2.
Код:
void foo(uint16_t data)
{
  if(data) __enable_interrupt(); else __disable_interrupt();   
}

int main()
{     
  uint16_t capch;
  ((uint8_t *)&capch)[0]=  PORTB;
  ((uint8_t *)&capch)[1]=  PORTC;
  foo(capch);
 
  for(;;);   
}

//---------- Листинг ----------

//int main()
main:
//{   
        SBIW    R29:R28, 2
//  uint16_t capch;
//  ((uint8_t *)&capch)[0]=  PORTB;
        IN      R16, 0x18
        ST      Y, R16
//((uint8_t *)&capch)[1]=  PORTC;
        IN      R16, 0x15
        STD     Y+1, R16
//   foo(capch);
        LD      R16, Y
        LDD     R17, Y+1
        OR      R16, R17
        BREQ    ??main_0
        SEI
        RJMP    ??main_1
??main_0:
        CLI   
//for(;;);   
??main_1:
        RJMP    ??main_1
//}



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн авг 05, 2019 19:45:03 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
VladislavS писал(а):
Тот компилятор, который не сделает из этого просто две операции чтения, выкинуть и никогда не использовать
Для STM8 не так много компиляторов, тем более бесплатных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн авг 05, 2019 20:13:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
IAR самый бесплатный из них? :)

Не, ну правда, собрать на восьмибиткн uint16_t из двух uint8_t без сдвигов это даже не детский сад.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 05:59:28 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Решил проверить компильнуть код почти в один в один. А именно вот такой.
Код:
void  foo(uint16_t data)
{
  if(data) asm("rim"); else asm("sim");   
}

int main()
{   
  uint16_t capch = (TIM2_CCR3H<<8) | TIM2_CCR3L;
  //TIM2_CCR3L++;
  foo(capch);
  for(;;);   
}


Все равно компиллит в достаточно длинный код, при этом фу вызывает реально. Попробовал добавить в объявление функции inline, переключившись в С++ , ничего не изменилось. Оптимизатор переключил со speed на size, то же ничего.

Интересный момент, вот это
Код:
TIM2_CCR3L++;
с компиллилось в это
Код:
   
  TIM2_CCR3L++;
    0085A5    C65316         LD        A, TIM2_CCR3L
    0085A8    4C             INC       A
    0085A9    C75316         LD        TIM2_CCR3L, A


И это при наличии четырех байтной команды inc mem, которая выполнится за один такт.
Код:
  asm("inc TIM2_CCR3L");
    0085B0    725C5316       INC       TIM2_CCR3L

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 07:49:38 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
IAR самый бесплатный из них? :)

Да, IAR для STM8 бесплатен для размера кода вроде до 8К. А если учесть, что у многих STM8 столько и есть флеши всего, то можно считать что он просто бесплатен. 8)

Добавлено after 3 minutes 49 seconds:
Все равно компиллит в достаточно длинный код, при этом фу вызывает реально. Попробовал добавить в объявление функции inline, переключившись в С++ , ничего не изменилось. Оптимизатор переключил со speed на size, то же ничего.

Подозреваю, что Вы используете какую-то древнюю версию IAR. По-крайней мере когда я 2 года назад писал для STM8, как раз вышла версия IAR 3.10 взамен старой 2.20 и качество компилируемого кода резко улучшилось. На версии 2.20 был полный шлак.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 07:52:13 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
VladislavS писал(а):
IAR самый бесплатный из них?
Бесплатный SDCC http://sdcc.sourceforge.net/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 07:54:09 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Интересный момент, вот это
Код:
TIM2_CCR3L++;
с компиллилось в это
Код:
   
  TIM2_CCR3L++;
    0085A5    C65316         LD        A, TIM2_CCR3L
    0085A8    4C             INC       A
    0085A9    C75316         LD        TIM2_CCR3L, A


И это при наличии четырех байтной команды inc mem, которая выполнится за один такт.

Подозреваю, что сиё связано с тем, что TIM2_CCR3L у Вас объявлен как volatile.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 08:17:35 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
jcxz писал(а):
можно считать что он просто бесплатен.
Нельзя. IAR коммерческий продукт и рассчитывая получить прибыль с продаж, надо все же было постараться сделать компиллятор по умнее. Тем более система команд STM8 заточена под Си, да и ИАРовцы умеют же, видимо не приоритет просто. А то что демо версия подошла под радиолюбительские хотелки, это частный счастливый случай :).

Хрен с ним, придется сильнее напрягать межушный оптимизатор :).

Добавлено after 1 minute 23 seconds:
jcxz писал(а):
Подозреваю, что сиё связано с тем, что TIM2_CCR3L у Вас объявлен как volatile.
И что? Что это меняет? Проверять пока не хочу, но стоит.

Добавлено after 21 minute 20 seconds:
jcxz писал(а):
Вы используете какую-то древнюю версию IAR.
3.10.4 У меня.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 06, 2019 11:14:44 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Добавлено after 1 minute 23 seconds:
jcxz писал(а):
Подозреваю, что сиё связано с тем, что TIM2_CCR3L у Вас объявлен как volatile.
И что? Что это меняет? Проверять пока не хочу, но стоит.
Это меняет то, что X++ это чтение/модификация/запись и компилятор не имеет права это изменять.

3.10.4 У меня.
Крайняя 3.11.1


Все равно компиллит в достаточно длинный код, при этом фу вызывает реально. Попробовал добавить в объявление функции inline, переключившись в С++ , ничего не изменилось. Оптимизатор переключил со speed на size, то же ничего.
Да ладно, инлайнит только в путь даже если не просить об этом.

Вариант 1.
Спойлер
Код:
#include "iostm8s103f2.h"
#include "intrinsics.h"
#include "stdint.h"

void foo(uint16_t data)
{
  if(data) __enable_interrupt();  else __disable_interrupt();   
}

int main()
{   
  uint16_t capch = (TIM2_CCR3H<<8) | TIM2_CCR3L;
 
  foo(capch);
 
  for(;;);   
}

// --- Листинг ----

//int main()
//{   
//  uint16_t capch = (TIM2_CCR3H<<8) | TIM2_CCR3L;   
/   foo(capch);
main:
        LD        A, L:0x5315
        CLRW      X
        LD        XL, A
        CLR       A
        RLWA      X, A
        LD        A, L:0x5316
        LD        S:?b1, A
        RRWA      X, A
        OR        A, S:?b1
        RRWA      X, A
        RRWA      X, A
        JREQ      L:??main_0
        RIM
        JRA       L:??main_1
??main_0:
        SIM
//  for(;;);   
??main_1:
        JRA       L:??main_1
//}
Вариант 2.
Спойлер
Код:
#include "iostm8s103f2.h"
#include "intrinsics.h"
#include "stdint.h"

void foo(uint16_t data)
{
  if(data) __enable_interrupt(); else __disable_interrupt();   
}

int main()
{   
  uint16_t capch; 
  ((uint8_t *)&capch)[0]=  TIM2_CCR3H;
  ((uint8_t *)&capch)[1]=  TIM2_CCR3L;
 
  foo(capch);
 
  for(;;);   
}

// --- Листинг ----

/int main()
//{   
main:
        SUB       SP, #0x2
//  uint16_t capch; 
//  ((uint8_t *)&capch)[0]=  TIM2_CCR3H;
        LD        A, L:0x5315
        LD        (0x1,SP), A
//  ((uint8_t *)&capch)[1]=  TIM2_CCR3L;
        LD        A, L:0x5316
        LD        (0x2,SP), A
//   
//  foo(capch);
        LDW       X, (0x1,SP)
        JREQ      L:??main_0
        RIM
        JRA       L:??main_1
??main_0:
        SIM   
//  for(;;);   
??main_1:
        JRA       L:??main_1
//}
Вариант 3. С глобальной переменной.
Спойлер
Код:
#include "iostm8s103f2.h"
#include "intrinsics.h"
#include "stdint.h"

void foo(uint16_t data)
{
  if(data) __enable_interrupt(); else __disable_interrupt();   
}

uint16_t capch;

int main()
{       
  capch = (TIM2_CCR3H<<8) | TIM2_CCR3L; 
 
  foo(capch);
 
  for(;;);   
}

// --- Листинг ----

//int main()
//{       
//  ((uint8_t *)&capch)[0]=  TIM2_CCR3H;
main:
        MOV       L:capch, L:0x5315
//  ((uint8_t *)&capch)[1]=  TIM2_CCR3L;
        MOV       L:capch + 1, L:0x5316
//   
//  foo(capch);
        LDW       X, L:capch
        JREQ      L:??main_0
        RIM
        JRA       L:??main_1
??main_0:
        SIM
//   
//for(;;);   
??main_1:
        JRA       L:??main_1
//}

На самом деле разница по тактам не так чтобы катастрофична. В случае с локальной переменной надо же и работу со стеком учитывать. Но всё равно, тупо с двумя байтами не разобраться это надо суметь...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 83, , , ...  

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y