rtfcnf Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 а без кода можно перечислять причины до второго пришествия 0 Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности за материальный, либо моральный ущерб причиненный данным сообщением напрямую или косвенно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Paska_2 Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 Вы уж извините, но давайте хотя бы ставить знаки препинания, если уж лень начать предложение с большой буквы и написать его начало... Если это вопрос, то имеете ввиду после 71 поста моего? После того я вообще всё забросил, т.е. началась сессия, а потом каникул... то да сё, и вобшем сейчас все делаю с нуля... Предложили такой вариант: я вывожу "пустые" символы, т.е. пробелы, но это отпало после того, как я сделал что бы МК выводил 5 символов подряд с разным кодом. Всё тоже... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
rtfcnf Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 Выложите текст программы, а то гадать можно до второго пришествия. P.S. Такая формулировка Вам больше нравиться? 0 Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности за материальный, либо моральный ущерб причиненный данным сообщением напрямую или косвенно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Paska_2 Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 (изменено) Да, благодарю за понимание, так мого лучше =) Вот текст, сильно не пинать , это черновик, что бы освоить включение дисплея. #include <avr/io.h> #include <avr/delay.h> int main(void) { DDRA = 0xff; //порт А - ВЫХОД, данные 0-7 PORTA = 0xff; //на всех выводах единицы DDRB = 0xff; //порт В - ВЫХОД, управление. Е-0,R/W-1, Aо-2. PORTB = 0x00; //на всех выводах нули DDRD = 0x00; //порт Д - ВХОД PORTD = 0xff; //на порте Д единички _delay_ms (50); //задержка при включении дисплея PORTA = 0b00110000; //готовим данные на выход. инициализация. PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //ждем 50мс. PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //ждем 50мс. PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //ждем 50мс. PORTA = 0b00111000; //установка параметров, 8 бит, 0 страница знакогенератора PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //задержка на обработку дисплея PORTA = 0b00001000; //выкл. дисплей PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //задержка на обработку дисплея PORTA = 0b00000001; //очистка дисплея PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //задержка на обработку дисплея PORTA = 0b00000110; //установка режима ввода данных PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); //задержка на обработку дисплея PORTA = 0b00001110; //включаем дисплей, курсор подчёркивание PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //задержка на обработку дисплея PORTA = 0b00010100; //курсор вправо PORTB = 0b00000101; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (50); //задержка на обработку дисплея PORTA = 0x00; while (1) { // Бесконечный цикл if ((PIND & (1<< PD7)) == 0) { PORTA = 0b00000011; //курсор на исходную PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E и A0 _delay_ms (500); //задержка на обработку дисплея PORTA = 0x00; } if ((PIND & (1<< PD6)) == 0) { PORTA = 0b00110101; //пишем = PORTB = 0b00000100; //Ao _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000101; //Ао и Е _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); PORTA = 0b00011111; //пишем = PORTB = 0b00000100; //Ao _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000101; //Ао и Е _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); PORTA = 0b00011101; //пишем = PORTB = 0b00000100; //Ao _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000101; //Ао и Е _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); PORTA = 0b01011101; //пишем = PORTB = 0b00000100; //Ao _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000101; //Ао и Е _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); PORTA = 0b01010111; //пишем = PORTB = 0b00000100; //Ao _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000101; //Ао и Е _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); } if ((PIND & (1<< PD5)) == 0) { PORTA = 0b00010111; //сдвиг курсора вправо PORTB = 0b00000001; //отправляем. импульс на E _delay_ms (50); //задержка на обработку дисплея PORTB = 0b00000000; //убираем импульс с E _delay_ms (500); //задержка на обработку дисплея PORTA = 0x00; } } } Изменено 25 августа, 2010 пользователем wowa 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
rtfcnf Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 Вариант первый. Предположим у Вас Tiny2313 Вы уверены, что порты PB0 и PB1 правильно у Вас работают. Я нет. Дело в том, что по умолчанию в AVR эти порты подключены к компаратору, а я не вижу у Вас команды отключить компаратор. Посмотрите как это делается(регистр ACSR) Пробуем, пишем что получилось. 0 Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности за материальный, либо моральный ущерб причиненный данным сообщением напрямую или косвенно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Paska_2 Опубликовано 25 августа, 2010 Поделиться Опубликовано 25 августа, 2010 Нет, собираю на Меге16. До того как подключить на порт В дисплея я туда весил светодиодный индикатор, который вполне успешно работал, так что думаю ничего не мешает. Помимо этого на эти выходы напаяны светодиодики, так что я могу видеть когда сигнал туда идёт. Выявилась ещё одна странность: после очистки индикатора он перестаёт двигать курсором вообще когда посылаешь на выход данные, пока командой не сдвинешь курсор вправо... Схожу, пожалуй, завтра в магазин, куплю какой нибудь другой... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
saha929292 Опубликовано 17 января, 2011 Поделиться Опубликовано 17 января, 2011 Здравствуйте! конструирую в протеусе один проект с использованием жк дисплея lm4229 , который на контроллере t6963. первым делом пытаюсь вывести на экран простой ряд из 8 точек, но они всё никак не выводятся. буду благодарен, если ткнёте меня в ошибку. ппрога написанна на ассемблере в avrstudio .include <m16def.inc> .def temp=r16 .def splin=r17 .def count=r18 .def data=r19 .equ halt_d=0 .equ rst_d=3 .equ ce_d=1 .equ wr_b=0 .equ rd_b=1 .equ cd_b=2 .org $000 rjmp reset reset: ;установка стека ldi temp,1 out sph,temp ;сброс дисплея sbi ddrd,rst_d cbi portd,rst_d nop nop nop nop nop nop sbi portd,rst_d ;читаем статус sbi ddrd,halt_d sbi portd,halt_d rcall status ;вводим 11111111 в память ldi data,0b11111111 out ddrc,data out portc,data sbi portb,rd_b cbi portb,wr_b cbi portb,cd_b cbi portd,ce_d rcall delay sbi portd,ce_d sbi portb,wr_b ;вводим команду записи в память ldi data,0b11000100 out portc,data sbi portb,rd_b cbi portb,wr_b sbi portb,cd_b cbi portd,ce_d rcall delay sbi portd,ce_d sbi portb,wr_b main: rjmp main ;___задержка delay: ldi count,10 oo11: subi count,1 brne oo11 ret ;__читаем статус status: sbi ddrb,rd_b cbi portb,rd_b sbi ddrb,wr_b sbi portb,wr_b sbi ddrb,cd_b sbi portb,cd_b sbi ddrd,ce_d cbi portd,ce_d ldi temp,0x00 out ddrc,temp out portc,temp r01: in data,pinc sbrs data,0 rjmp r01 sbrs data,1 rjmp r01 reti 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
saha929292 Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 всё! вопрос снят, ошибка найдена) 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кирилл84 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 Господа немного вклинюсь в тему, нужна маленькая помощь! сообственно по бегущей строке! есть текст который выводится в режиме бегущей строки, к примеру: "Буря мглою небо кроет, Вихри снежные крутя; То, как зверь, она завоет, То заплачет, как дитя," вообщем нужно сделать что то типо остановки текста к примеру последней строчки. Т.Е. ( "Буря мглою небо кроет, Вихри снежные крутя; То, как зверь, она завоет, То заплачет,.... // вот это всё выводится в режиме бегущей строки а при дохождении до вот этих слов: как дитя," он отанавливается и остаётся выведен на LCD ) Ну как то так 0 Для любого процесса найдётся такой, без завершения которого невозможен данный Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrey_Ch8 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 Даваи исходник, ща остановим))) P.S только на си 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Кирилл84 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 (изменено) Даю #include <mega8.h> #include <delay.h> // подключаем библиотеку задержки // 1 Wire Bus functions #asm .equ __w1_port=0x18 ;PORTB .equ __w1_bit=7 #endasm #include <1wire.h> #include <ds18b20.h> #include <stdio.h> #include <string.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x12 ;PORTD #endasm #include <lcd.h> unsigned int liht; //переменная подсветки unsigned char beg_str; unsigned int menu=0; // переменная меню unsigned int mode=0; //переменная режима выбора unsigned int sek; // переменная сек. unsigned int min; // пересенная мин. unsigned int hour; // переменная часов unsigned int day=16; // переменная день. unsigned int month=6; // пересенная месяц. unsigned int year=2011; // переменная год #pragma rl+ unsigned char arr[] = " Вас приветствуют часы KS-1.0. " ; unsigned char arr1[] = " Датчик температуры DS18b20 не найден. " ; unsigned char arr2[] =" Датчик температуры DS18b20 найден. " #pragma rl- // Timer 1 output compare A interrupt service routine interrupt [TIM1_COMPA] void timer1_compa_isr(void) // таймер выставлен на частоту 1 Гц { // Place your code here TCNT1H=0; TCNT1L=0; sek++; // инкрементируем секунду } void vivod (void) { unsigned int i=0 , a=0; lcd_gotoxy(0,0); //lcd_puts(arr); for(i=0; i < sizeof(arr)-16 ; i++) { for(a=0; a<15 ; a++) { lcd_gotoxy(a,0); lcd_putchar(arr[i+a]); } delay_ms(170); } } void vivod_1(void) { unsigned int i=0 , a=0; lcd_gotoxy(0,1); //lcd_puts(arr); for(i=0; i < sizeof(arr1)-16 ; i++) { for(a=0; a<15 ; a++) { lcd_gotoxy(a,1); lcd_putchar(arr1[i+a]); } delay_ms(170); } } void cloc (void) { ///// Условия часов. if(sek==60) // если сек = 60 { min++; // добавляем 1 к переменной "минута" sek=0; // зануляем переменную "секунда" } if(min==60) // если мин = 60 { hour++; // добавляем 1 к переменной "час" min=0; // зануляем переменную "минута" } lcd_gotoxy(4,0); // выводим посередине, если хотите вывести в начале дисплея тогда нужно выставить lcd_gotoxy(0,0); lcd_putchar(hour/10+0x30); lcd_putchar(hour%10+0x30); lcd_putchar(':'); lcd_putchar(min/10+0x30); lcd_putchar(min%10+0x30); lcd_putchar(':'); lcd_putchar(sek/10+0x30); lcd_putchar(sek%10+0x30); } void main(void) { PORTB.0 = 1; DDRB=0xFF; DDRB=0xFF; PORTC=0x7F; // выставляем порт С на 4 кнопки. DDRC=0x00; PORTD=0x00; DDRD=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 7,813 kHz // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: On // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x05; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x1E; OCR1AL=0x85; OCR1BH=0x00; OCR1BL=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x10; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // 1 Wire Bus initialization w1_init(); // LCD инициализация lcd_init(16); vivod(); vivod_1(); delay_ms(100); lcd_clear(); // Global enable interrupts #asm("sei") while (1) { cloc(); }; } Код на СИ компилятор CVAVR нужно на самао деле организовать что бы бегущая строка выводила текст в моей задумке вот так: при включении питаия идёт приветствие " Вас приветствуют часы KS-1.0." останавливается надпись "часы KS-1.0." // к примеру по середине во второй строке пошёл вывод "Датчик температуры DS18b20 не найден." // если не найден "Датчик температуры DS18b20 найден." // если найден то выводится сразу за текстом температура и тоже останавливается в самом начале 2й строки. а первая строка после всех этих манипуляций переходит в режим времени и даты образно 17:26:20 22-06-2011 t Дома = 28.2 С что то типо этого в принцепи меню самих часов уже сделал. там установка времени, даты, измеение языка, установка будильника, даже как вы заметили есть отключение подсвети вот хочу к своим часикам придать экслюзивности именно с бегущей строкой Изменено 22 июня, 2011 пользователем Кирилл84 0 Для любого процесса найдётся такой, без завершения которого невозможен данный Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 он отанавливается и остаётся выведен на LCDВ исходнике не разбирался. Но примерно понятна проблема.Попробуйте добавить пробелы в тексте. Тогда они и будут видны, а строка уедет. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кирилл84 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 (изменено) Alex Вы немного не поняли меня Я имелл в веду не что бы он пропадал, а на оборот, при дохождения до конца текста, последняя надпись в тексте оставалась на экране вообщем я тут поколдовал маленько с кодом, и вот что у меня вышло: VIDEO_068.rar Это маленькое видео моих часиков Там кстати наглядно видно как при приветствии первая строка замерает, и вывод текста уже начинается на 2ой строке, при этом первая строка остаётся не изменной Изменено 22 июня, 2011 пользователем Кирилл84 0 Для любого процесса найдётся такой, без завершения которого невозможен данный Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 и вот что у меня вышло:Ну нормально. Всё останавливается, как Вы и хотели 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кирилл84 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 Дело в том что я хотел на конец текста первой строки (который останавливается) воткнуть именно сами часы то есть "00:00:00" а на конец второй строки "Датчик температуры DS18b20 найден. t Дома 27С" как бы если можно было в массив unsigned char arr[] = " Вас приветствуют часы KS-1.0. " ; воткнуть cloc(); итог unsigned char arr[] = " Вас приветствуют часы KS-1.0. cloc(); " ; но ведь так нельзя???? 0 Для любого процесса найдётся такой, без завершения которого невозможен данный Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrey_Ch8 Опубликовано 22 июня, 2011 Поделиться Опубликовано 22 июня, 2011 Через указатель может? 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 23 июня, 2011 Поделиться Опубликовано 23 июня, 2011 Вам нужно с помощью sprintf вывести в отдельный массив Ваше время. А потом из этого массива, побайтно переслать текст в основной массив. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рамазан Опубликовано 13 ноября, 2012 Поделиться Опубликовано 13 ноября, 2012 привет всем . я тоже часы делаю на мк mega16.у меня вопрос как реализовать режим стс на таймере .вообще я тему создал )) вот она там http://forum.cxem.ne...howtopic=116831 там же и исходник 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
SirAlex Опубликовано 25 октября, 2014 Поделиться Опубликовано 25 октября, 2014 Здравствуйте, ребята. Подскажите, пожалуйста, как выводить одновременно бегущую строку в первой строке LCD и вводить символы с матричной клавиатуры во второй строке (чтобы при этом бегущая строка не останавливалась, т.е. двигалась влево до определенного уровня, а потом вправо). Например, в верхней строке надпись "Введите пароль", а во второй отображался сам пароль введенный с клавиатуры. Заранее спасибо за помощь. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 26 октября, 2014 Поделиться Опубликовано 26 октября, 2014 Вопрос совершенно непонятен. Что значит "как выводить" ? Всё равно на дисплей данные выводятся посимвольно, один за другим, вот и выводите сначала в верхнюю строку, а затем в нижнюю. Данные то на дисплее останутся до их смены. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
SirAlex Опубликовано 26 октября, 2014 Поделиться Опубликовано 26 октября, 2014 С непосредственным выводом текста у меня проблем нет, но пока бегущая строка движется я не могу вводить текст в нижнюю строку (нужно ждать пока она остановится). А мне нужно чтобы верхняя строка двигалась до тех пор пока я полностью не введу пароль. Но вот как это сделать я не пойму. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 26 октября, 2014 Поделиться Опубликовано 26 октября, 2014 А что такое движение строки ? Это обычный вывод текста, просто каждый раз разного (сдвинутая строка). Вы же "рисуете" верхнюю строку, почему после неё сразу не "нарисовать" нижнюю ? Не понятно, в чём проблема... И причём тут какой-то ввод пароля, тоже совершенно не понятно. У Вас, видимо, всё перемешалось и Вы просто запутались, не понимая чего хотите 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
SirAlex Опубликовано 26 октября, 2014 Поделиться Опубликовано 26 октября, 2014 "Вы же "рисуете" верхнюю строку, почему после неё сразу не "нарисовать" нижнюю ?" мне нужно не после неё написать, а во время того как она перемещается. Т.е. верхняя строка крутится в бесконечном цикле, а мне вовремя этого нужно вводить внизу пароль. Проблема в том как это сделать одновременно. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 26 октября, 2014 Поделиться Опубликовано 26 октября, 2014 мне нужно не после неё написать, а во время того как она перемещается.Вы троллите чтоли нас ? Что значит "во время её перемещения" ?Пофиг что там куда перемещается и рисуется, просто выводите в нижнюю строку то, что хотите, сразу же после вывода верхней. Вот и всё. нужно вводить внизу парольОпять же Вы перепутали мух с котлетами, и нас заодно вводите в заблуждение.Объясните нормально, в чём у Вас проблема - с вводом данных с клавиатуры, или с выводом данных на дисплей ? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
SirAlex Опубликовано 27 октября, 2014 Поделиться Опубликовано 27 октября, 2014 Проблемы с отдельным выводом текста на дисплей с клавиатуры у меня нет и с выводом динамической строки тоже. Проблема в том что я не могу вводить в нижней строке пароль во время того как движется текст в верхней строке т.к. либо прерывается цикл в котором происходит движение текста (если опрос клавиатуры находится в этом же цикле), либо необходимо ждать пока цикл закончится (если опрос клавиатуры стоит после цикла). 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.