Работа в Eagle Cad. Часть 2

Автор DI HALT
Опубликовано 01 Сен 2010 
Рубрики: Софт
Метки: , ,

Помнится в первой части закончили мы на том, что забодяжили плату, залили все полигоном и раскидали шелкографию, чтобы не налезало.

Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.

Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.

Итак, вначале даташит на LM1117

Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай File–New–Library
Читать полностью

Комментариев (24)

Работа в Eagle Cad Часть 1.

Автор DI HALT
Опубликовано 30 Авг 2010 
Рубрики: Софт
Метки: ,

В гнезде орла
На 90% мои нужды по разводке печатных плат удовлетворял Sprint Layout. Развожу я обычно вручную, без исходной схемы и все вполне умещается в голове. Но прогресс не стоит на месте и меня давно уже зовут ретроградом :) И решил я переползти на другую систему. Главная причина — поддержка принципиальных схем и подсветка связей в схемотехническом редакторе, чего мне сильно не хватало порой в Sprint Layout. Перед этим я перепробовал несколько разных и остановился на Eаgle cad.

Почему Орел?
В выборе я руководствовался следующими параметрами в порядке важности:

Плюс у Eagle есть мощный скриптовый язык, позволяющий творить много вуду :) Я туда пока еще не лез, но судя по тому, что творят всякие ulp скрипты, может он очень многое.
Читать полностью

Комментариев (84)

Источники энергии. Потенциал и падение напряжения

Автор DI HALT
Опубликовано 14 Авг 2010 
Рубрики: Начинающим
Метки: ,

Еще один пост из серии основы основ. Заметил я, что многие совершенно не въезжают в концепцию падения напряжения, разности потенциалов и типов источников питания. Поэтому запилю ка я ликбез по этой теме. С самого начала. Потом заброшу его в начало рубрики “Начинающим”. Пойдет как замена цикла статей канализационной электроники. Т.к. тот цикл писался для “Хакера” и особой подробностью не отличался ввиду ограничений на размер полосы.

Начало начал. Ноль.
Итак, начну с самого начала. Со дна. То есть с земли. Точки нулевого потенциала. Эта точка совершенно произвольная. Просто нам так удобно, что мы приняли ее за ноль. Надо же с чего то начинать. В однополярном питании это, обычно, минус питания. В двуполярном — нечто посредине, впрочем от конструкции зависит.
Читать полностью

Комментариев (76)

Пример виртуальной машины

Автор DI HALT
Опубликовано 28 июля 2010 
Рубрики: AVR. Учебный курс, Робототехника
Метки: , ,

Как то раз я описывал концепцию создания языка программирования для устройства. Который бы позволил запихать сложнейший алгоритм или последовательность действий в виде компактного скрипта.

Простой пример для чего это нужно — фрезерный станок с ЧПУ. И надо на нем выточить голову Сократа из цельного куска металла. Задача, на самом деле, не шибко сложная.

Но попробуйте написать прошивку, двигающую резцом, в виде классического конечного автомата — двигающую резцом в зависимости от условий или состояний. Да вы сдохнете раньше чем это сможете сделать.

Другое дело если разбить программу на элементарные операции, вроде “Резец вверх”, “резец вниз”, “шаг на n мм”, а прошивке скормить последовательность этих микроопераций в виде байт-кода или текстового скрипта. Как все серьезно упрощается. Да и попутно можно нашинковать Платона с Гераклом, было бы желание, да образец для копирования.

Т.е. у нас появился свой язык устройства, полностью отвязанный от аппаратной реализации и оперирующий только органами устройства. И вот тут, главное, не впасть в высокоуровневую прелесть и не начать изобретать универсального интерпретируемого языка аля JAVA для микроконтроллеров. В условиях ограниченных ресурсов это полный бред.

Наоборот, этот язык нужно максимально упрощать за счет усложнения процедур машины, затачивая их строго под текущую задачу, а не делая нечто универсальное. Тогда можно выжать максимум из контроллера.

Ну, хватит воды, приведу пример того, что у меня получилось за вечерок курения в код. Код рабочий, но я там ничего не оптимизировал. Так, накидал чтоб работало, до ума доведете сами. Сделано все на базе ядра диспетчера. Я его уже описывал, поэтому работу его функций пояснять не буду
Читать полностью

Комментариев (47)

Колеса… колеса… Ноги! Во!

Автор DI HALT
Опубликовано 11 июля 2010 
Рубрики: Робототехника
Метки: ,

Главное его не красить в зеленый цвет, а то монтировками загасят.

Комментариев (37)

AVR. Учебный курс. Конечный автомат

Автор DI HALT
Опубликовано 09 июля 2010 
Рубрики: AVR. Учебный курс
Метки: , ,

Каждый кто пытался разбираться с конечными автоматами наверняка натыкался на всякие замудреные графы, какие то графики. Многие посчитав это слишком сложным плюнули и забили. А Зря!

С простейшим конечным автоматом каждый из нас сталкивался с самого детства — это механическая авторучка. Объект с единственной функцией “Нажатие кнопки”, но в зависимости от очередности результат разный. Стержень то прячется, то вылазит.

Так и в нашем случае — конечный автомат это функция которая запоминает свое состояние и при следующем вызове делает свое черное дело исходя из прошлого опыта. Простой пример — мигалка (псевдокод):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; Глобальные переменные
u08 Blink_State;
 
void Blink(void)
{
if (Blink_State == 1)
	{
	Led_On();
	Blink_State = 0;
	Return;
	}
if (Blink_State == 0)
	{
	Led_Off();
	Blink_State = 1;
	Return;
	}
}

Вызывая эту функцию подряд мы заставим диодик менять свое состояние при каждом вызове.
Читать полностью

Комментариев (50)

Кибергусеница

Автор Serafim
Опубликовано 03 июля 2010 
Рубрики: Робототехника

Дабы отдать дань уважения сайту решил написать данную статью о своем роботе-самоделке. Это была моя магистерская и инженерная работа и теперь хочется поделиться ею со всем просвященным миром)

Итак, несколько слов об устройстве. Ниже приведена 3d моделька девайсины.

В основе робота сервомашинки Futaba S3003 - самые простые и дешевые, что удалось раздобыть на нашей кафедре (кафедра ТМ и М ЮЗГУ(КурскГТУ)). О том, что такое сервомашинка и как она работает у Вас есть отдельная статья на данном сайте, поэтому останавливаться на этом я не буду.
Читать полностью

Комментариев (53)

Робоконструктор Velleman Robotic Arm KSR10

Автор DI HALT
Опубликовано 22 июня 2010 
Рубрики: Робототехника
Метки: , ,

Наши дружеские посиделки, хоть и малым составом, но состоялись. Кроме обсуждения ряда технических задач и возможного сотрудничества просто классно и плодотворно пообщались. Андрей натащил кучу разных прикольных штуковин одну из которых я вам сейчас и покажу.

Это очередной робоконструктор — механическая рука с пятью степенями свободы. Velleman Robotic Arm KSR10
Штука довольно редко встречающася, т.к. на Ebay я нашел всего одного продавца и в exUSSR эта редиска слать не желает. Встречается в нескольких буржуйских магазинах и вроде бы была в ЧиД, но оттуда была выкуплена нами :) Цена вопроса от 60…100 баксов.

Сам агрегат это очередная продвинутая игрушка, но для баловства и отработки алгоритмов нам больше и не требуется. Читать полностью

Комментариев (62)

Точка сбора

Автор DI HALT
Опубликовано 17 июня 2010 
Рубрики: Новости
Метки:

В общем, я в Евпатории, уже второй день. Сергей с Андреем встретили меня аки министра какого, аж не ожидал. Спасибо огромное :) Пять дней отдохну (пока Сергей с вахты не вернется), а там надо замутить тусовочку.

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

Так что желающие познакомиться, пообщаться, встретить местных единомышленников отписывайтесь, организуйтесь. Пока еще четко ничего не решено, сроки и место не определены, так что время для маневра есть. По ходу, когда все желающие отзовутся, тогда и решим все точно, с учетом интересов каждого.

Комментариев (23)

Автоэлектрика и автоэлектроника. Курс молодого бойца.

Автор kry-love
Опубликовано 12 июня 2010 
Рубрики: Автоэлектроника
Метки: ,

DI HALT
Надумал тут замутить еще одну рубрику - Автоэлектроника

Ну и есть ряд мыслей по поводу поковырять свою Нексию на предмет разных улучшений и прочего самопала. Я правда больше по всякой автоматике прусь, а кто то может и прошивки ЭБУ меняет. Прорвы материала не обещаю, но что будет то выложу. Ну и можете свои наработки присылать.

Пока выложу пробным камнем статью Владимира Крылова о работе инжекторных движков, дабы было общее впечатление о их работе.

Часть первая, обзорная. Общий принцип работы бензинового двигателя внутреннего сгорания

Для удобства разделим мотор на три концептуальные части:

Читать полностью

Комментариев (75)

Пульт дистанционного управления для фотоаппаратов Canon и Nikon

Автор Maksoff
Опубликовано 08 июня 2010 
Рубрики: Готовые устройства
Метки: , ,

Сильмаллирион
Случилось так, что примерно в одно и то же время у одних знакомых появился фотоаппарат Nikon, у другой знакомой - Canon, а в интернете я наткнулся на замечательную статью про пульт ДУ к ним.

Паять я люблю, а ещё больше я люблю делать подарки людям, а что может быть лучше действительно полезного подарка?
Но, поскольку с PIC-ами я не дружу, то пульт я переделал под маленькую tiny2313, благо их везде навалом, и они весьма недорогие. Плюс, хотелось поставить рекорд скорости по сборке устройства.

Братство Кольца
Немного теории, найденной на просторах интернета:
для фотоаппаратов марки Canon собирается пульт RC-1 (RC-5 это такой же пульт, только без “моментального спуска”)

-Несущая частота 33 кГц:
-команда “Спуск”: посылка 480 мкс, пауза 7324 мкс, посылка 480 мкс
-команда “Спуск с 2 сек. задержкой”: посылка 480 мкс, пауза 5371 мкс, посылка 480 мкс

Важно!
Не у всех фотоаппаратов Canon есть ИК приёмник (обычно расположен на ручке, под спусковой кнопкой). Смотрите инструкцию к своему фотоаппарату!

Nikon выбрал себе алгоритм похитрее, но всё равно мы и его скопируем:

-Несущая частота 40 кГц:
-команда “Спуск”: посылка 2250 мкс, пауза 27600 мкс, посылка 650 мкс, пауза 1375 мкс, посылка 575 мкс, пауза 3350 мкс, посылка 650 мкс. Потом пауза в 63 мс (милли- не микро-!!!) и повтор всей последовательности еще один раз

Читать полностью

Комментариев (32)

AVR. Учебный Курс. Отладка программ. Часть 3

Автор DI HALT
Опубликовано 30 мая 2010 
Рубрики: AVR. Учебный курс
Метки: , , ,

Метод 3. USART (Работа с последовательными интерфейсами)
Пожалуй самым популярным отладочным интерфейсом является все же USART. Во-первых, он поддерживается аппаратно почти всеми микроконтроллерами. Во-вторых, он прост в использовании и требует всего один/два сигнальных провода, а в третьих, для связи с компом не надо городить никаких специфичных девайсов. В худшем случае UART-USB или UART-RS232 конвертер на FT232RL или MAX232.

Пользоваться им проще простого — в любой момент, когда нам это захочется, мы берем и отправляем нужный байт по этому интерфейсу. При этом достаточно заранее его настроить — стандартная инициализация UART:

1
2
3
4
5
6
7
8
9
10
11
12
; Usart INIT
		.equ 	XTAL = 8000000 	
		.equ 	baudrate = 9600  
		.equ 	bauddivider = XTAL/(16*baudrate)-1
 
uart_init:	LDI 	R16, low(bauddivider)
		OUT 	UBRRL,R16
		LDI 	R16, high(bauddivider)
		OUT 	UBRRH,R16
 
		LDI 	R16,0
		OUT 	UCSRA, R16
1
2
3
; Прерывания запрещены, прием-передача разрешен.
	LDI 	R16, (1<<RXEN)|(1<<TXEN)|(0<<RXCIE)|(0<<TXCIE)|(0<<UDRIE)
	OUT 	UCSRB, R16

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

Комментариев (18)

Организация древовидного меню

Автор Steel.ne
Опубликовано 16 мая 2010 
Рубрики: AVR. Учебный курс
Метки: , ,

Почти для всех проектов на микроконтроллере с экранчиком требуется система меню. Для каких-то проектов одноуровневое, для других — многоуровневое древовидное. Памяти, как обычно, мало, поэтому хочется запихнуть все во флэш.

Попутно, из проекта в проект, развивалась своя псевдоОС — таймеры, события, диспетчеры.
Я ее полностью писал на си, оптимизацией и вылизыванием еще не занимался.

Перебирая разные системы, наткнулся на MicroMenu:

Попробуем разобрать ее на части и прикрутить к системе.
Читать полностью

Комментариев (79)

Разведение питания

Автор DI HALT
Опубликовано 08 мая 2010 
Рубрики: Начинающим
Метки:

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

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

Вообще, грамотная разводка это та еще черная магия. Толковых подробных мануалов по сему предмету я не встречал, а все что знаю — продукт собственных умозаключений и обрывки толковых мыслей с разных форумов. В общем, если есть что добавить — добавляйте. Читать полностью

Комментариев (43)

Покупка на DealExtreme

Автор vvzvlad
Опубликовано 29 Апр 2010 
Рубрики: Инструмент
Метки: ,

DealExtreme - это китайский интернет “магазин на колесах”, что примечательно - с бесплатной доставкой по всему миру. Специализируется в основном, на технике, различных гаджетах,
и тем, что можно назвать “всякая прикольная фигня” :)

DI HALT: Плюс инструмент, всякие паяльники, прорва светодиодов, фонариков адовых… А еще там есть много разной чудной механики. Например, сервомашинка с металлическими шестернями всего за 10 баксов (у нас бы в магазинах аля “Хобби” она стоила не меньше 30). Плюс всякие колесики, шестерни, шасси и прочие радости моделиста-робототехника.

Принимает оплату через PayPal, это значит, что для покупок в нем необходима кредитная или дебетовая карта систем Visa или MasterCard, которая может пройти проверку в PayPal (в интернете на эту тему масса статей и споров, какая же карта лучше)
Читать полностью

Комментариев (145)

Объединяемся!

Автор DI HALT
Опубликовано 22 Апр 2010 
Рубрики: Новости
Метки:

Моей целью всегда было сделать не просто информационный сайт, а сколотить свое сообщество. Тусовку единомышленников, средство общения и обмена идеями. Как результат — существует весьма оживленный форум и Чат конференция на Jabber.ru, где редко бывает меньше 20 человек :)

Но я не собираюсь останавливаться на достигнутом. Пора выходить на уровень живого оффлайнового общения!

Теперь у нас есть Карта сообщества на которой можно найти единомышленников и новых друзей.

Комментариев (110)

AVR. Учебный Курс. Отладка программ. Часть 2

Автор DI HALT
Опубликовано 20 Апр 2010 
Рубрики: AVR. Учебный курс
Метки: ,

Метод 2. Моргалки (Работа портами Ввода-вывода)

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

Либо у нас будет не глюк, а банальное непонимание ситуации. Фразу из даташита, например, неправильно перевел или глаз замылился. Что то забыл или не туда припаял. Да мало ли как можно накосячить.

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

Причем нам не обязательно точно следить за тем, что там происходит покомандно — это мы или трейсом или туплением отладим. Интересней знать куда ушла прога.

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

А у вывода может быть три состояния - Hi, Lo и Hi-Z. Так что рекомендую скреативить такой вот пробничек:

Тогда если у нас Hi-Z то будут тускленько гореть оба диода. Ну, а на соответствующий уровень свой диод в гордом одиночестве.

А в код пихаем дебажные секции вида:

1
2
3
;Set Hi
	SBI	DEBUGDDR,DEBUG
	SBI	DEBUGPORT,DEBUG
1
2
3
;Set Lo
	SBI	DEBUGDDR,DEBUG
	CBI	DEBUGPORT,DEBUG
1
2
3
;Set Hi-Z
	CBI	DEBUGDDR,DEBUG
	CBI	DEBUGPORT,DEBUG

Можно их в макросы завернуть. Удобней будет.

По состоянию дебаг вывода мы можем увидеть в каком месте программа прошла. А комбинируя нашу троичную систему получим целых 9 возможных комбинаций на 2 вывода.

Однако если у нас надо отследить последовательность, то мы можем и не успеть разглядеть переимгивание светиков. Но никто не мешает воткнуть в код после смены состояния дебагвывода тупую задержку вида:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
	PUSHF			; Макрос сохранения флагов
	PUSH 	R16
	PUSH	R17
	PUSH	R18
 
	LDI	R16,255	; Грузим три байта
	LDI	R17,255	; Нашей выдержки
	LDI	R18,255
 
Dloop:	SUBI	R16,1		; Вычитаем 1
	SBCI	R17,0		; Вычитаем только С
	SBCI	R18,0		; Вычитаем только С
 
	BRCC	DLoop 		; Если нет переноса - переход
 
	POP	R18
	POP	R17
	POP	R16
	POPF			; Макрос восстановления флагов

Оформляется как прерывание для того, чтобы иметь минимальное влияние на код. Можно тоже оформить в виде макроса и втыкать его одной строчкой. Запрет прерываний опционально.

Либо вставлять затуп:

1
	RJMP 	PC

Контроллер на этой команде встанет и дальше никуда не пойдет (правда если включен вачдог, то он ребутнется по вачдогу).

А можно же сразу после задержки перевести отладочный вывод в режим входа PullUp и просить кнопку пробника. Если нажата, можно идти дальше. Можно и без задержки, сделать, но надо смотреть, чтобы дребезг не помешал.

1
2
3
4
5
6
;STOP DB_BTN
	CBI	DEBUGDDR,DEBUG
	SBI	DEBUGPORT,DEBUG	
 
	SBIC	DEBUGPIN,DEBUG
	RJMP	PC-1

Можно просто наставить таких кнопочных чекпоинтов. И пускать программу по ним своей могучей волевой рукой. А пока программа тупит на задержках или ожиданиях кнопок, можно спокойно замерить напряжения/пощупать лог уровни, состояние других выводов, да просто подумать.

Разумеется, если в схеме уже присутствуют светодиоды и кнопки, то и пробник тут не нужен - обойдемся имеющимися средствами — переназначив их на время отладки конкретного участка.

Правда в случаях отладки асинхронных устройств, работающих на четких временных выдержках данная затея может не прокатить, но для них есть другие варианты, о них позже.

Комментариев (32)

AVR. Учебный Курс. Отладка программ. Часть 1

Автор DI HALT
Опубликовано 13 Апр 2010 
Рубрики: AVR. Учебный курс
Метки: , ,

У каждого случалась такая ситуация — программа вроде бы написана, даже компилится, но не работает. Почему не работает? Дак все же просто — в ней есть лажа!

Процесс избавления программ от лажи называется, соответственно, отлаживанием. И часто этот процесс длится куда дольше разработки, особенно в хитрых случаях, с привлечением внешней периферии.

В очередном цикле статей я постараюсь описать как можно более подробно методы, применяемые при отладке.

Метод 0. Тупление в код (Аналитический)
К моему великому удивлению, данный метод является наиболее популярным в народе и, а у начинающих порой единственным.
Видимо сказывается засилье всяких высокоуровневых языков вроде ПОХАПЭ или Си, где такое вполне может и проканать. Там да, можно пофтыкать несколько минут в исходник, глядишь да найдешь где накосячил.

И по наивности, не иначе, новички пытаются этот метод применить к своим ассемблерным программам.

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

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

Хотя я, в свое время, изучал ассемблер вообще без компа — не было его у меня. Тетрадка в клеточку, команды i8008 в столбик. А потом и Z80 с его божественным ассемблером. И опять без отладчиков, аналитически. Ляпота! Но вот когда я сел за ассемблер 80С51, в первую же очередь я нашел нормальную IDE с эмуляцией — Keil uVision. А эра х86 прошла под знаменем Borland Turbo Debugger и TASM. Когда моя первая 128 байтная интруха полыхнула по экрану пиксельным пламенем клеточного автомата… да ощущения были еще те. Где то ее сорцы валяются, надо поискать.

В написании может быть, но вот в отладке нифига подобного. Так как нечего тут думать. Ассемблер это как лопата — берешь и копаешь, а не думаешь как там поршни и трансмиссия в экскаваторе крутится.

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

Под каждый стиль написания кода свои инструменты отладки. Поэтому переходим к другому методу. Читать полностью

Комментариев (30)

AVR. Учебный Курс. Инкрементальный энкодер.

Автор DI HALT
Опубликовано 05 Апр 2010 
Рубрики: AVR. Учебный курс
Метки: ,

Энкодер это всего лишь цифровой датчик угла поворота, не более того.

Энкодеры бывают абсолютные — сразу выдающие двоичный код угла и инкрементальные, дающие лишь указание на направление и частоту вращения, а контроллер, посчитав импульсы и зная число импульсов на оборот, сам определит положение.

Если с абсолютным энкодером все просто, то с инкрементальным бывают сложности. Как его обрабатывать?

С Энкодера выходят два сигнала А и В, сдвинутых на 90 градусов по фазе, выглядит это так:

А дальше пляшем от типа энкодера. А они бывают разные. Читать полностью

Комментариев (71)

Этеншн. Важное заявление :)

Автор DI HALT
Опубликовано 02 Апр 2010 
Рубрики: Новости
Метки:

Короче, было у меня тут порядочно времени. И я решил кое что подправить. В первую очередь под замес пошел AVR. Учебный Курс. Я снес нахер это убожество Курс подвергся мощной правке и сортировке. Масса статей была переписана заново, почти все они были упорядочены.
В начале курса появилось много теории по работе контроллера, наглядно постарался показать как работает стек, команды перехода, прерывания. А то уж очень много ошибок у присылающих мне свои проги на простомотр в этом месте, прям поголовно. Добавлены примеры и немного видеороликов для понту.

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

Выглядеть все должно будет примерно так:
Читать полностью

Комментариев (57)

Раньше →


Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Реклама: