Easyelectronics.ru

Электроника для всех
Текущее время: 14 дек 2018, 08:56

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




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 18 июн 2016, 17:57 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
помогите, плз, не выходит каменный цветок:
кто-то наделал код, чтобы PRINT в Си выводился на уарт
Код:
#define   PRINT(string, ...)      printf_P(PSTR(string), ##__VA_ARGS__)

static int putchar__(char c, FILE *stream) {
   uart_putc(c);
   return 0;
}

static FILE mystdout = FDEV_SETUP_STREAM(putchar__, 0, _FDEV_SETUP_WRITE);

int main(void)
{

   stdout = &mystdout;
        PRINT("blablabla")
}


не ясно вообще всё
в дефайне - многоточие? printf_P - что это, и что за аргументы страшные? PSTR - функция, даёт адрес, где хранится строк? а две решетки?
putchar__ - FILE *stream?
static FILE mystdout?

вопрос по большому счету один: оно должно в таком виде работать? и если не работает, с чего начинать смотреть?
ножками подрыгал, в анализаторе увидел. а где должно происходить первое выпллёвыванние - не работает (даже uart_putc('a') не срабатывает, похоже)


Последний раз редактировалось goreprogrammist 19 июн 2016, 16:10, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 18:42 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5202
http://lord-n.narod.ru/download/books/w ... a_copy.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 18:56 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5226
Именно так и должно работать
Макрос PRINT это не обязательная вещь
Чтобы библиотечный print заработал на uart достаточно определить свой stream со ссылкой на свой putc() и наконец переопределить stdout замерив его своим stream

Макрос здесь это для того, чтобы упростить вызов printf со стракой форматирования из progmem


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8 и прочее
СообщениеДобавлено: 18 июн 2016, 20:25 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
спасибо за ответы.
решилось вроде бы проще: повыкидывал всё долой из библиотеки, оставил инициализацию и uart_putc из даташита, и всё заработало (во всяком случае в части уарта)

теперь другая напасть с mcp2515
за основу взят исходник примера отсюда
https://translate.google.com/translate? ... t=&act=url

вот этот архив
http://www.kreatives-chaos.com/file_download/21

в нём есть такие строки
Код:
   if (!mcp2515_init()) {
      PRINT("Error: cannot access MCP2515!!!\n");
   //   for (;;);
   }
   else {
      PRINT("MCP2515 is activated\n\n");
   }

этот for, как я понимаю, должен был подвесить систему до аппаратного ресета. у меня дальше него почему-то и не идёт. НО!

далее идут еще и такие строки

Код:
   PRINT("\changing to loopbackmode\n\n");
   mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), (1<<REQOP1));
   
   // sending the message
   if (mcp2515_send_message(&message)) {
      PRINT("Message has been written into the buffer\n");
   }
   else {
      PRINT("Error: Could not send the message\n");
   }
   
   // waiting a bit
   _delay_ms(10);
   
   if (mcp2515_check_message()) {
      PRINT("Message received!\n");
      
      // read the message from the buffers
      if (mcp2515_get_message(&message)) {
         print_can_message(&message);
         PRINT("\n");
      }
      else {
         PRINT("Error: could not read the message\n\n");
      }
   }
   else {
      PRINT("Error: No message received\n\n");
   }
   
   PRINT("back to normal mode\n\n");
   mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0);
   
   // We are starting again with the CAN bus connected
   
   PRINT("Attempting to send the message via CAN\n");
   
   // Trying again to send the message, this time via CAN
   if (mcp2515_send_message(&message)) {
      PRINT("Message has been written into the buffer\n\n");
   }
   else {
      PRINT("Error: Could not send the message\n\n");
   }
   
   PRINT("Waiting for receiving messages\n\n");




и вот когда я этот вечный for закавычил, оно вдруг стало работать. то есть сформировало пакет, переключило чип в loopback mode, отправило и приняло пакет (в уарт, соответственно, сообщения валятся), переключилось в обычный режим. и стало ждать. но так ничего и не дожидается.

Logic видит со второго устройства, пакеты отправляются на трансивер ок (причем, если перепутать местами tx и rx - logic уже не видит прежней красоты)
то есть я предполагаю, что между трансиверами связь есть.

куда копать дальше? скорости вроде везде выставил правильные (в логике видна расшифровка на 500к)
вот настройка MCP:
Код:
   spi_putc((1 << PHSEG21));
   spi_putc((1 << BTLMODE) | (1 << PHSEG11));
   spi_putc((1 << BRP0));


единственное но. пока дебажил уарт - выставил запуск от внутреннего осциллятора, а не от внешнего кварца (makefile изменил вроде в правильный вид)

попробую пока вернуть эту часть назад - мб из-за таймингов траблы...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 20:41 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
вернул - все тоже самое. надо бы подсмотреть, появляется ли интеррапт от mcp на меге физически? или лучше попробовать лоджиком посмотреть на mosi-miso?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 21:35 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
посмотрел моси-мисо - ничего не понял. там еще видимо реализации разные бывают (в настройках анализатора куча всего)
оно обычно синхронно работает и моси, и мисо?
вот как выглядит функция инициализации (страшнО!)
Show

а вот что я успел словить логанализатором:
Вложение:
Снимок экрана 2016-06-18 в 18.52.41.png
Снимок экрана 2016-06-18 в 18.52.41.png [ 18.72 Кб | Просмотров: 5823 ]

и как тут разбираться?


Последний раз редактировалось elisey 19 июн 2016, 14:07, всего редактировалось 1 раз.
Большие листинги нужно прятать под спойлер


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 22:06 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
кажется, начинат доходить. каждый spi_putc - это пакет (восемь импульсов клок внизу)
первым отправляем SPI_RESET (192) - ok
потом отпрвляем SPI_WRITE (2) - ok
потом отправляем CNF3 (40) - уже не ok - откуда-то скобка появилась и 2 - это как понимать?

ну и до кучи - звёздочка там откуда и зачем?

и почему перед вторым 255 в верхнем канале какая-то дерготня, но при этом все равно 255 получилось.

скобка - это сбой передачи? в коде оно сразу после двойки (SPI_WRITE)

если присмотрется к clk (нижний канал) - там будут приоды и 2мкс, и 3мкс - как-то это неправильно, м? откуда такое может быть? у анализатора нюха не хватает?
Вложение:
Снимок экрана 2016-06-18 в 20.06.25.png
Снимок экрана 2016-06-18 в 20.06.25.png [ 16.42 Кб | Просмотров: 5812 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 22:52 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
40 - это ascii код скобки, так что всё правильно.
потом идёт конструкция spi_putc((1 << PHSEG21));
где
#define PHSEG21 1
то есть это 2?
так что и тут всё верно
потом идёт
spi_putc((1 << BTLMODE) | (1 << PHSEG11));
где
#define BTLMODE 7
#define PHSEG11 4
то есть ((1<<7)|(1<<4))
то есть 14 | 8 = 14
а на деле почему-то 144. хм.

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

дальше еще интереснее.
spi_putc((1 << BRP0));
BPR0=0, сдвиг на единичку - тот же ноль
а отправляется единица! (во всяком случае анализатор её видит как единицу)
потом строка
spi_putc((1<<RX1IE)|(1<<RX0IE));
RX1IE = 1, RX0IE = 0
2 или 0? 2! а отправляется почему-то 3!

потом идёт такое:
if (mcp2515_read_register(CNF1) != ((1<<BRP2)|(1<<BRP1)|(1<<BRP0))) {
return false;
}

смотрим mcp2515_read_register:
Код:
uint8_t mcp2515_read_register(uint8_t adress)
{
   uint8_t data;
   RESET(MCP2515_CS);
   spi_putc(SPI_READ);
   spi_putc(adress);
   data = spi_putc(0xff);   
   SET(MCP2515_CS);
   return data;
}

то есть
spi_putc(SPI_READ);
spi_putc(adress);
data = spi_putc(0xff);

#define SPI_READ 0x03 - то есть вторая тройка там как раз.
вместо adress анализатор видит звёздочку. код ascii - 42 (0x2A) - как раз то, чему равно CNF1
ну и 255 отправляет. и в этот самый момент на верхнем канале видно 1.

плохо себе представляю, как это выглядит. эта единичка и есть ответ на команду рид? то есть пока туда отправляются FF, одновременно с этим принимается в ответ 1?
ну ок, посчитаем, с чем там сранивается
BRP2=2, BRP1=1,BRP0=0
то есть (4|2|0)=6, от единички отличается - посему отправляем false

остаётся понять, должно ли было быть в этом адресе 42 единичка, или 6? (to be continued)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 18 июн 2016, 23:03 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
забавно. с проверкой сам дурак)
можно, кстати,проверить. по адресу CNF2 у нас хранилась единичка.
как я понимаю, писали туда во т это:

spi_putc((1<<RX1IE)|(1<<RX0IE));
RX1IE = 1, RX0IE = 0
2 или 0? 2! а отправляется почему-то 3!

то есть должно бло быть записано либо 2, либо 3. а считалось 1. хм. буду продолжать эксперименты

UPD: почитал про битовые сдвиги, и в интерпретации, где 1 << 5 = 1*2^5 - всё встало на свои места.


Последний раз редактировалось goreprogrammist 19 июн 2016, 01:38, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 19 июн 2016, 01:36 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
увеличил дискретность лоджика.
картинка та же самая в отправке. зато в чтении вместо 1 последний байт считался 144 (как и записал)
а потом вообще пошло-поехало.
короче, мозг убился - не могу понять, как настроить R_CNF1-3 для работы на 500kbps от кварца 16МГц
методом тыка не получается. хочу по-научному.
у одного и того же автора библиотеки, видимо, в силу разных версий, данные разнятся..

даже в listen only mode ничего не ловится :-(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: потоки вывода в UART, mega8
СообщениеДобавлено: 19 июн 2016, 02:07 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
нашел такой калькулятор (правда, для mcp2510)
https://www.kvaser.com/support/calculat ... alculator/
у меня сейчас вот такие настройки - и фиг.
12 4 16 75 3 500 0 80 ac 03

есть смысл пробовать подцепить анализатор напрямую к CAN_L или CAN_H? или попробовать подпаяться к RX/TX пинам на трансивере?
больше идей нету :-(

а, на трансиверах еще сопротивления бывают по даташиту (не терминальный, а еще какой-то, на восьмом пине), но вроде сколько ни попадалось разных проектов, нигде этот резистор не использовался.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: (потоки вывода в UART, mega8) - теперь про can и MCP2515
СообщениеДобавлено: 19 июн 2016, 04:39 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
по итогам дня
spi работает ок. пишется и читается вроде бы ок. загнал чип в listen-only mode, где по идее должно вообще всё ловится, (даже если бы ошибся с частотами?) - но нет, не ловится... подключил один из проводов отправляющего трансивера (CANH) - увидел дубль того, что было на tx. то есть трансивер на отправителе работает ок.
остаётся только разогревать паяльник и пробовать подключить аналиатор к rx выходу принимающего трансивера?

может я что-то такое простое упустил из виду?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: (потоки вывода в UART, mega8) - теперь про can и MCP2515
СообщениеДобавлено: 19 июн 2016, 05:24 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
ФАК! так вышло, что на ресивере-то у меня MCP2551, а вот на трансмиттере - TAJ1050, и на обеих сопротивление терминаторное по 120Ом. может, из-за этого проблемы? в ДШ к 1050 вроде сказано про два по 25, а на картинке вообще фиг поймешь:
Вложение:
Снимок экрана 2016-06-19 в 3.22.52.png
Снимок экрана 2016-06-19 в 3.22.52.png [ 55.51 Кб | Просмотров: 5721 ]


но куда как интереснее понять, как в таком зоопарке принято уживаться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: (потоки вывода в UART, mega8) - теперь про can и MCP2515
СообщениеДобавлено: 19 июн 2016, 15:50 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 02 мар 2014, 18:01
Сообщения: 132
сам читаю, сам пишу
какой отзывчивый ресурс


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: (потоки вывода в UART, mega8) - теперь про can и MCP2515
СообщениеДобавлено: 19 июн 2016, 16:07 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
на пятом пине mcp2551 - 2,47В, а на четвертом (который RX) - пусто :-( (хотя на трансмиттере и на CAN передача есть)
что тут можно предпринять? второго mcp2551 под рукой нету :-(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 16:33 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
занятно. когда подключился анализатором к этой линии rx - чип перестал инициализироваться (по SPI пишу в регистр, читаю - а там FF)
убрал анализатор - заработало. но что интересно. в регистр CANCTRL пишу 0x60 - оно читается ок.
а до того писал 0 в регистр TXRTSCTRL, читаю тот же адрес - а считывается 0x38 - как так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 17:06 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
восстановил линию ресета - теперь проверка проходит ok
есть идеи, как проверить сам трансивер?
а если прямиком подцепить два контроллера, без трансиверов - так можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 17:26 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
занятно.
вот три канала: один - с пина tx с трансмиттера (посередине на рисунке)
а два других - вместо трансивера, к единственной ноде - CAN_L и CAN_H. я грешным делом думал, оно должно быть "в противофазе" - там, где на одном единичка, на другом - 0. понятно, что сопротивление линии тут 120Ом, а не 60 (второго узла нету)
но на что тут грешить?


Вложения:
Снимок экрана 2016-06-19 в 15.22.02.png
Снимок экрана 2016-06-19 в 15.22.02.png [ 17.55 Кб | Просмотров: 5659 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 18:20 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
короче, сделал отправку. подцепился анализатором к can_h/can_l на той стороне, где нету приёма, попробовал отправить пакет. полный штиль.

интересно, что за нотация:
address = (address == 0) ? 1 : address;
и зачем после отправки данных в spi выводим такое?
spi_putc(SPI_RTS | address);
(ответы см. в даташите, угу)
остаётся подпаяться к tx пину контроллера, посмотреть, была ли попытка отправить пакет с mcp2515 (или пока на линии кавардак - ничего там показывать не будет?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 19:25 
Заглядывает иногда

Зарегистрирован: 17 апр 2013, 21:00
Сообщения: 113
RX от TJA к плюсу мк через резистор подтянута? (у TJA1050 открытый коллектор выход). Кан-шину простым анализатором не посмотреть - уровни другие, смещенные от нуля. вывод 8 TJA для теста я бы намертво к земле притянул.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 20:14 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
посмотрел оссциллограммы, вроде как не посмотришь анализатором: один от 2,5В должен вверх уходить, к 5. второй от 2,5В - вниз. однако что-то посмотреть все же получилось(?) - картинка выше снята с CAN_H, CAN_L и CAN_TX на TAJ - странная.
снять такую же на MCP уже не вышло по какой-то причине.

про 8 пин TJA - он был по задумке подтянут к питанию через 15К. но неконтакт!
про rx TJA - нигде про необходимость подтяжки не сказано. у меня устройство питается от 3В. а TJA - от 5В. посему вопрос: чем и к чему притягивать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 21:14 
Заглядывает иногда

Зарегистрирован: 17 апр 2013, 21:00
Сообщения: 113
Читаем пдф на микросхему. Смотрим внимательно на внутреннее устройство. Думаем. Думаем еще раз. Видим диод на выходе RX. Аха - это для того, чтобы отсечь лишние входные вольты в случае питания трансивера и мк, должно прийти к нам в голову! Либо чтобы объединить несколько входов трансиверов на один вход мк!
Подтягиваем резюком 1к-10к (что есть под рукой) к питанию мк.
8 пин жестко НА ЗЕМЛЮ. Потом разберем, для чего он нужен (по табличке из пдф).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 19 июн 2016, 22:49 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
Изначально та платка, где висит TJA, делалась под SN65HVD230, но хотелось иметь 5В линию CAN.
Собственно, поэтому пин 8 был подтянут к питанию (не он контачил!). В даташите TJA написано, что надо к земле прижать, но при этом сказано, что если оно висит в воздухе (а оно по ходу дела висело в воздухе) - оно приравнивается к земле (то есть всё тот же режим high speed)

Теперь что касается подтяжки rx.
Вот как выглядит даташит у меня:
Вложение:
Снимок экрана 2016-06-19 в 20.42.09.png
Снимок экрана 2016-06-19 в 20.42.09.png [ 67.64 Кб | Просмотров: 5604 ]

Диод я вижу только на tx - тут не оговорка? Или речь о пдф другой микросхемы?

На всякий случай напомню, у меня TJA подключена к дискавери, и на пине tx у меня лог анализатор всё прекрасно видит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 20 июн 2016, 00:27 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
вести с полей.
ошибся, 15К было к питанию, 10К - к земле. убрал это 10К к земле, закоротил напрямую. теперь я вижу на TX трансмиттера и на RX ресивера (на соответствующих входах и выходах трансиверов) ошибку.
примерно каждые 4 мс:
Вложение:
Снимок экрана 2016-06-19 в 22.10.44.png
Снимок экрана 2016-06-19 в 22.10.44.png [ 24.27 Кб | Просмотров: 5592 ]

даже не знаю, шаг ли это вперёд, или назад: с одной стороны, вместо внятных сообщений какая-то левая ошибка, с другой стороны - я её зафиксировал как на трансмиттере, так и на ресивере...

откуда этот сбой, почему произошел - не ясно. может быть, закоротив на землю восьмой пин tja, я просадил у него питание? сейчас вольтметр показывает 4,64В.

ОЙ
ох ты ж блин, не знаю, чо было, перегрузил дискавери (подумал, попробовать по питанию на всякий случай сбросить)
И ВОТ!
получаю ID 5ff, длина 15, rtr 0
0xa5
0x0e
0xfd
0x5b
0x75
0xf3
0x97
0xed
0x6c
0x60
0x60
0xff
0xeb
0xfc
0x7a
осталось понять, это ли самое я ожидал от передатчика...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про can и MCP2515 и TJA1050 (смотреть сразу конец)
СообщениеДобавлено: 20 июн 2016, 00:37 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2435
ересь какая. не перезагружая пснимал несколько раз логи - поток идёт, глаз радуется.
нажал кнопку ресет на своём приёмнике - инициализация mcp проходит - всё прекрасно вижу в анализаторе. но сообщений нету. сбросил дискавери - сообщений не появилось. железно сбросил приёмник (передёрнул питание) - та же самая инциаилизация, что и при обычной кнопке reset, но поток снова зачитался. стабильности не хватает)


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

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


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

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


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

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

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