ЛУТ, что может быть проще

Наконец то дошли руки попробовать ЛУТ. Плюс только что поменял картридж в лазернике (Xerox WorkCentre 3045B). Результат превзошел ожидания.

Результат я пока что не паял, не лудил. И даже если всё отлетит и уйдет в ведро, всё равно, результат положительный. Приятно удивлен.
Оставляю эту статью для себя, поскольку не открываю Америку и не хочу сообщить что то новое. В следующий раз перечитаю и буду экспериментировать. Под катом история моей победы над собой ;) (Кому то просто, а я всё-таки программист.)


Читать дальше

Моё первое в жизни устройство

Когда я был маленьким, меня всегда завораживала кажущаяся сложность работы различной электроники. Чтобы понять как она работает и попытаться что-то сделать своё я пошёл учиться на промышленную электронику и был сильно разочарован — теорию давали. Устаревшую. лет на 15 точно. и никакой практики.


Читать дальше

Первый опыт по изготовлению печатной платы (ATmega16)

Наконец сделал свою первую печатную плату методом ЛУТ (точнее я бы сказал, что это ЛЛР — Лазерно-Ламинаторный с использованием сплава Розе). Решил поделиться с сообществом. Понимаю, вряд ли кому-нибудь поможет мой «отчет», скорее я хотел бы сам получить помощь в виде советов, отзывов и мнений опытных джедаев :) И потому помещаю сие в личный блог.


Читать дальше

Похвастушки. Первая программа под STM8

После небольшой войны с ассемблером, добил-таки его и написал первую программу. Так же как в своё время это было для AVR, первая программа плавно переключает несколько светодиодов. Разумеется, не используя аппаратных таймеров, ШИМов и прочих радостей жизни, ибо я только-только начал ковырять STM-ки.



Что понравилось в ассемблере STM (сравнивать могу с AVR и с i8085)
+ Команды передачи данных между памятью и портами. Один MOV на все случаи жизни, не касающиеся регистров и один лишь LD для всего, что касается регистров
+ Обилие команд работы с отдельными битами (BSET и BRES, аналогичные SBI и CBI в AVR соответственно и BCPL — переключающий бит в противоположное состояние). При том, в отличие от AVR, работать должно во всём адресном пространстве: и в RAM, и в портах ввода-вывода, и в EEPROM, разве что во флеше поиграться затруднительно :)
+ Команды передачи управления в целом похожи на команды в AVR. Опять же в ряде задач, наверное, удобно делать переход по значению одного бита в любом порту ввода-вывода
Что не понравилось:
— После AVR, кажется больно мало регистров (аккумулятор да две индексные пары, ну и PC с SP ещё). Впрочем, при лёгкости обращения к RAM и портам, наверное, просто требует привычки
— Перенос содержимого двух байтов RAM в индексную регистровую пару требует некоторых плясок с бубном
— АЛУ, как и в любой аккумуляторной машине, жить не может без этого аккумулятора. Вносит особенности при необходимости кучи вычислений. Кажется, что многобайтовую арифметику на AVR делать несколько проще и удобнее будет

И ассемблер, да и всю STVD, видимо, писали впопыхах. В AVR Studio работать намного комфортнее, IMHO, конечно

ЗЫЖ Код программы выкладывать не хочу, ибо у меня потом уши сгорят от такой его кривизны :) Да и практическая польза его стремится к нулю в любом случае
  • +1
  • 19 июня 2011, 20:37
  • Deer

Продолжаю мучать ARM...

Вчера/сегодня разобрался с семисегментными индикаторами (пока только на 1 разряд), энкодером и пьезопищалкой.



Энкодер по-началу отказывался работать: пропускал шаги или наоборот отсчитывал лишние. Решилось корректировкой алгоритма (тот, что был в статье Ди так и не заработал — написал по-своему) и кондерами по 1мкФ для подавления дребезга.

Есть у меня один вопрос к тем, кто работает с дискавери:
После выхода из режима отладки, дискавери подвисает и возвращает её к жизни только очередной запуск по F5 из режима отладки. Я конечно не против, но хотелось-бы иметь возможность запустить прогу, сразу после заливки в МК. Без входа в отладочный режим.
(Все вышесказаное относится к Keil uVision4)



Читать дальше

Наконец-то добрался до ARM..

Первым делом помигал диодами на STM32 Discovery.


while(1)
  {
   if(STM32vldiscovery_PBGetState(BUTTON_USER) == 1)
      {
	    STM32vldiscovery_LEDOn(LED3); //Включить
		STM32vldiscovery_LEDOff(LED4);
	  }
	else
	  {
   		STM32vldiscovery_LEDOff(LED3);//Выключить
   		STM32vldiscovery_LEDOn(LED4);	 
      }
  }
}


Завтра буду нападать на семисегментные индикаторы и прочую мелочь. Потом UART и т.д.
Все. Пойду спать :)

Мой первый опыт с фоторезистом

Мой первый опыт с фоторезистом

Итак сегодня пришел долгожданный заказ из магазина, в коробке кроме всего прочего был пленочный фоторезист PHOTEC H-6300 и 2 куска стеклотекстолита FR4! Мало того, что FR4 неплохой, так еще и в 2 раза дешевле, чем в моем городе самый хреновый но-нейм (скорее всего еще совковых времен) у которого дорожки плывут, как в море корабли! Итак, начнем!
Почитав некоторое количество мануалов в инете приступил к действию…

Читать дальше