Например TDA7294

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





Текущее время: Ср апр 24, 2024 12:54:38

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


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



Начать новую тему Ответить на тему  [ Сообщений: 8460 ]     ... , , , 271, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 15:13:42 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А мой вопрос остался без ответов... :(

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 15:18:27 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК, Создайте функцию, принимающую значение. В ней побитно читайте это значение и дёргайте портами.
На чистом Си больше никак.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 16:26:31 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я пошел путем дефайнов. Обозначаю каждому пину свое имя и состояние, а ему уже соотношу обращение к пинам порта. Однако, как было выложено здесь же, получается обработка такая выльется в хренову тучу ассемблерных конструкций, ибо все пины по отдельности ставятся и снимаются...
Типа такого:
Код:
# define _1_Stroka_ON  GPIOA->BSRR |= (GPIO_BSRR_BS11);
# define _1_Stroka_OFF GPIOA->BSRR |= (GPIO_BSRR_BR11);


И все в таком же духе. Будет работать или нет, не знаю еще. :)))

И не знаю как сам порт теперь обозвать, точнее, что ему присвоить.

Код:
# define _KeyPORT_Stroki ?????
# define _KeyPORT_Stolbi ?????


Добавлено after 6 minutes 24 seconds:
А вообще, зачем их называть, если я уже и так все сделал?! Чет не догоняю, чего сам напихал.

Добавлено after 2 minutes 10 seconds:
Все. Догнал. Надо не так, а вот так примерно:

Код:
# define _1_Stroka_ON  GPIO_BSRR_BS11;
# define _1_Stroka_OFF GPIO_BSRR_BR11;
# define _2_Stroka_ON  GPIO_BSRR_BS10;
# define _2_Stroka_OFF GPIO_BSRR_BR10;

# define _KeyPORT_Stroki GPIOA->BSRR;
# define _KeyPORT_Stolbi GPIOD->BSRR;


Добавлено after 8 minutes 39 seconds:
И, по моему, первый вариант лучше, т.к. он действительно позволяет назначать любые пины любых портов, а второй способ все же собирает в пару портов эти пины...

Добавлено after 37 minutes 7 seconds:
Почему я эту конструкцию не могу сразу затащить как условие в if?

Код:
# define _1_Stolb_Read   (GPIOB->IDR & GPIO_IDR_IDR15);


Код:
if (_1_Stolb_Read)
{
}

Не работает. Но зато могу это присвоить переменной...

_________________
Станислав


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 16:35:42 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 3
Имхо, не очень красивые макросы. Легко ошибку сделать при их описании и пользоваться неудобно.

Я предпочитаю такой вариант, когда использование выглядит следующим образом:
Код:
SET(MUTE); // пин MUTE выставляем в 1
CLR(STBY); // пин STBY выставляем в 0

READ(RC); // читаем пин RC

и т.п.

Подсмотреть принцип объявления пинов в этом случае можно у меня здесь.

Правда, я эти макросы с использованием LL библиотеки делал, но и на чистом CMSIS никакой сложности их объявить нет.

P.S. За эти "stroka" и "stolbets" и прочее подобное хочется сильно бить по голове учебником английского. Почему не "line" или "row"?


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 16:48:03 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А вот здесь типа цикл сделали, чтобы просто объединить группу действий?

Код:
#define OUT_INIT(p, t, s)   \
    do {                    \
        OUT(p);             \
        SPEED(p, s);        \
        OTYPE(p, t);        \
    } while (0);


И, вроде все понятно, но это не понятно... :oops:

Код:
#define OUT(p)                  (LL_GPIO_SetPinMode(CONCAT(p, _Port), CONCAT(p, _Pin), LL_GPIO_MODE_OUTPUT))


Можно словами эту строку описать. Зачем столько скобок? И почему OUT с таким "параметром" (р)?

Добавлено after 2 minutes 46 seconds:
И сверху обозначены прототипы функций?

_________________
Станислав


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 16:54:44 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 3
Там нету цикла (while (0)). Просто несколько операций группируются в одну.

Попробую объяснить.
Код:
#define CONCAT(x,y)             x ## y

Здесь всё достаточно понятно. Обычная конкатенация. Любой макрос вида
CONCAT(test, pin) развернётся в строчку testpin.
Объявляю пин MUTE:
Код:
#define MUTE_Port               GPIOA
#define MUTE_Pin                LL_GPIO_PIN_13

Инициализирую его с помощью макроса
Код:
#define OUT(p)                  (LL_GPIO_SetPinMode(CONCAT(p, _Port), CONCAT(p, _Pin), LL_GPIO_MODE_OUTPUT))

В C-коде инициализация будет следующая:
Код:
{
  ...
  OUT(MUTE); // Переводим пин в режим выхода
 ..
}

Как это работает (стадии препроцессора, в качестве параметра p макроса идёт MUTE):
Код:
1: OUT(MUTE);
2: (LL_GPIO_SetPinMode(CONCAT(MUTE, _Port), CONCAT(MUTE, _Pin), LL_GPIO_MODE_OUTPUT));
3: (LL_GPIO_SetPinMode(MUTE_Port, MUTE_Pin, LL_GPIO_MODE_OUTPUT));
4: (LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_13, LL_GPIO_MODE_OUTPUT));

Аналогично и все прочие макросы (SET, CLR и т.д).

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


Последний раз редактировалось WiseLord Ср фев 27, 2019 16:55:42, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 17:15:37 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
P.S. За эти "stroka" и "stolbets" и прочее подобное хочется сильно бить по голове учебником английского. Почему не "line" или "row"?


Точно! А я думал, как в транслите написать букву Ц! :)))
А серьезнее, то так мне было проще, типа я художник, я так вижу. Изначально хотел написать ROW COLUMN, но я в них постоянно путаюсь, кто из них строка, а кто столбец, еще с Ехеля начиная. Ну, не англичанин я... :dont_know:

Добавлено after 3 minutes 25 seconds:
Код:
#define CONCAT(x,y)             x ## y

Я вообще думал, что это строка к С++ относится... Ни разу с такой не встречался. Пойду почитаю за конкатенацию.
А вот именно все скобки у макроса и не понятны все равно. :( Вот эти:
Код:
#define OUT(p)                  (LL_GPIO_SetPinMode(CONCAT(p, _Port), CONCAT(p, _Pin), LL_GPIO_MODE_OUTPUT))


А про НЕцикл я понял. Просто мне стало интересно, неужели в группу никаким другим образом несколько действий нельзя объединить больше? :idea:

Добавлено after 6 minutes 25 seconds:
О! Начинает доходить. ))) Начал внимательно смотреть в скобки!

Благодарю.

Добавлено after 10 minutes 13 seconds:
Блин... что за оператор такой ##?

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср фев 27, 2019 18:13:30 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 3
Прочитайте по макросы в C. ## соединяет две текстовые лексемы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс мар 03, 2019 13:01:36 
Опытный кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан
Рейтинг сообщения: 3
Почему я эту конструкцию не могу сразу затащить как условие в if?

Код:
# define _1_Stolb_Read   (GPIOB->IDR & GPIO_IDR_IDR15);


Код:
if (_1_Stolb_Read)
{
}

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

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт мар 05, 2019 18:17:59 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну ооочень сложные макросы у меня тогда получаются. Я разобрался в Ваших уже, наверное, основательно. С LL это много проще, похоже, чем на CMSYS.
:facepalm:
Код:
#define CONCAT(x,y)        x ## y

#define STROKA_1_PORT      GPIOA
#define STROKA_1_PIN    11

OUT_OD (p)    /
if (CONCAT(p,_PIN) > 7)    /
   { CONCAT(CONCAT(p,_PORT),->CRH) |= (CONCAT(CONCAT(GPIO_CRH_CNF,CONCAT(p,_PIN)),_0) }    /
else    /
    { CONCAT(CONCAT(p,_PORT),->CRL) |= (CONCAT(CONCAT(GPIO_CRL_CNF,CONCAT(p,_PIN)),_0) }    /

И дальше в том же духе... настройки частоты, входов, начального состояния выходов...

Собраться верхняя штуковина должна примерно в такой вид:
Код:
GPIOA->CRH |= (GPIO_CRH_CNF11_0)


Ну и вызов да, простой:

Код:
OUT_OD(STROKA_1); // 1-я строка настроена на выход с открытым стоком.

_________________
Станислав


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

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

Пусть меня забросают шапками, но я именно по этой причине CONCAT() не пользуюсь.
Просто в makefile проезжаюсь по исходникам дубовым perl скриптом:
Код:
#!bin\perl
open INFILE, $ARGV[0];
if ( $#ARGV>0  ) {
  open OUTFILE, '>', $ARGV[1];
}
LINE:
    while (<INFILE>) {
      s/(`\|)|(`\[)|(`\])|(`\{)|(`\})|(`;)|(`:)|(`!)/
        if (length($2)>0 | length($3)>0) {chr(0x22)}
        elsif (length($4)>0 | length($5)>0) {chr(0x27)}
        elsif (length($6)>0) {chr(0x2F)}
        elsif (length($7)>0) {chr(0x5C)}
        elsif (length($8)>0) {chr(0x0A)}
        else {''}/eg;
    } continue {
      if ( $#ARGV>0  ) {
        print OUTFILE;
      } else {
        print;
      }
    }


То бишь, для конкатенации пишу `| что удобней и быстрее.

P.S. Остальные замены нужны, преимущественно, для использования макросов внутри одинарных или двойных кавычек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт мар 07, 2019 00:44:17 
Первый раз сказал Мяу!

Зарегистрирован: Вт июн 04, 2013 20:25:13
Сообщений: 27
Рейтинг сообщения: 0
А есть ли тут гуру ассемблера? Должны быть))

В частности интересует во что компилируются инкремент/декремент обычных переменных и указателей.
Насколько я помню, в AVR'ках инкремент/декремент обычной переменной подразумевал:
1. Загрузку значения из оперативки в регистр
2. Инкремент значения в регистре одной командой
3. Выгрузку значения обратно в оперативку
Тобишь процесс не атомарен. А как это устроено в ARM'ках? Тут тоже инкремент/декремент осуществляется через регистры или как?
И что насчёт адресной арифметики? Есть какие то специальные инкременты на степени двойки? Или это реализуется уже обычными арифметическими командами?

И ещё вопрос. Насколько эффективно компиляторы реализует остаток от деления? Со степенями двойки всё должно быть просто, а с произвольными числами неизвестными на этапе компиляции? Условно, что эффективнее?
Код:
a += b;
if (a >= maxValue)    a -= maxValue;

// или обойтись без if'а и просто взять остаток от деления?
a += b;
a %= maxValue;

PS если где-то это уже разжёвано, буду благодарен за ссылочку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт мар 07, 2019 01:23:36 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Эмм.. вообще-то 2-я и последняя строки в приведенном коде считают совершенно разные вещи.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт мар 07, 2019 09:10:38 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Satarych, вместо кучи дурацких вопросов написал бы интересующий тебя код и посмотрел во что он компилируется. Лучше один раз увидеть, чем сто раз услышать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт мар 15, 2019 18:19:30 
Встал на лапы

Зарегистрирован: Вс мар 01, 2009 20:41:19
Сообщений: 125
Рейтинг сообщения: 0
Калокуб STM32Cube_FW_F4_V1.24.0 "Add support of HAL callback registration feature" ну наконец годную вещь завезли...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб мар 23, 2019 20:04:08 
Открыл глаза

Зарегистрирован: Пн янв 21, 2019 17:38:29
Сообщений: 74
Рейтинг сообщения: 0
Здравствуйте! Подскажите пожалуйста, мне нужно подключить SDRAM и дисплей 2.4 дюйма, вроде бы на SPFD5408, если верить описанию к покупке)
Возможно вместо SDRAM остановлюсь на SRAM. Хочу заказать МК, но не могу понять какой лучше.
Допустим серия 429 имеет како то механизм LCD-TFT. Это поможет для работы с данным дисплеем?
Прочел, что поможет FSMC, но для SRAM тоже нужно FSMC, на 407 серии он есть, сколько там можно устройств подключить? Там речь про какие то bank1 и 2 это омжно два независимых устройства подключать?
Но для SDRAM нужно FMC которое в 427, 429 моделях. Но там я не вижу FSMC который подходит для дисплея)) Но есть, как я писал выше LCD-TFT.

Вообщем запутался, уже заказал 405 а там вообще не фига нет, хочу заказать новый, но теперь хочу посоветоваться))

Вообщем мне бы иметь возможность подключить одновременно LCD и SRAM/SDRAM. но не супер дорого)) Какой МК можно взять?

Добавлено after 1 minute:
Если кому интересно, то это в продолжение https://radiokot.ru/forum/viewtopic.php?f=59&t=161489


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс мар 24, 2019 19:40:58 
Опытный кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан
Рейтинг сообщения: 1
Вообще-то, демоплата от ST, а именно - STM32F429I-DISCO имеет на борту и SDRAM, и дисплейчик 2.6". Камушек там, естественно, 429I, SDRAM 8M, и, на закуску, ST-Link...

Чтобы потренироваться - самое то!

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт мар 28, 2019 23:53:58 
Первый раз сказал Мяу!

Зарегистрирован: Чт мар 28, 2019 23:41:10
Сообщений: 24
Рейтинг сообщения: 0
Народ, подскажите, уже голову сломал. Начал изучение с STM32F0P30. Попалась китайская девайсина с этим МК, реле, входом и светодиодом. Устройство с Модбас интерфейсом. Не понравилась логика работы, решил написать свой код. Использую Cube. Закопался c RS485. В устройстве используется преобразователь UART-RS485 с переключателем DE. Всё вроде бы оформил как надо, пытаюсь отправлять наружу текст. Всё получилось, вижу его на компе в гипртерминале. Решил проверить работу переключателя DE и тут непонятка. Использую HAL_GPIO_WritePin (GPIOA, GPIO_PIN_0, GPIO_PIN_SET), текст проходит, меняю на GPIO_PIN_RESET и всё равно вижу в Гипертерминале мой текст. По идее DE должен включать/отключать передачу... Разве нет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт мар 29, 2019 07:35:54 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Sergeba , в большинстве F0 есть как и аппаратное управление DE так и аппаратная поддержка модбас.
калокуб и софтовое ногодрочерство попросту не нужны, нужно начать читать и думать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт мар 29, 2019 09:28:05 
Первый раз сказал Мяу!

Зарегистрирован: Чт мар 28, 2019 23:41:10
Сообщений: 24
Рейтинг сообщения: 0
Sergeba , в большинстве F0 есть как и аппаратное управление DE так и аппаратная поддержка модбас.


Я правильно понял, что даже в случае, если я софтово дёргаю ногу, на которой висит DE+RE и запрещаю передачу, "аппаратной поддержке" пофиг и она пропускает пакет?

А калокуб приходится использовать т.к. удобно для старта - накидал основу - и он всё нужное соберёт для инициализации и т.п.


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

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


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

Сейчас этот форум просматривают: HeadLess и гости: 46


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

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


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