Похвастушки. Первая программа под 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

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

RSS свернуть / развернуть
Молодец! Я себе тоже эту плату заказал. STM8 понравились низкой ценой и маленьким потреблением. Сначала как-то пытался раскурить старшие камни (STM32) но не поперло. Нету у меня по них пока задачи.

А вот для восьмибитников дофига всяких применений.
0
А я вот ну никак применения не найду, поделитесь парочкой :)
0
Да ну тоже самое, что и на AVR, только дешевле и жрет меньше :)

Я вот например хочу на STM8S103F3 (самый дешевый в чип-нн) частотомер с блекджеком и шлюхами:
— Измерение частоты,
— Периода,
— Коэфф заполнения,
(для всех параметров измеряются макс., мин. и текущее значения)
0
Нет, это средство. Средства меня не так интересуют. Средства можно создавать до бесконечности, получая при этом только удовольствие от его сборки и ни какой практической пользы.
В этом плане лучше проект железной дороги сделать.
А вот, например, «Контроллер аквариума» (не дам ссылку сейчас) — это вполне завершенное устройство приносящее пользу и заслуживающее внимания.
0
Я вот например хочу на STM8S103F3 (самый дешевый в чип-нн) частотомер с блекджеком и шлюхами:
и не получится, у него нет входа внешнего тактирования для таймера. А у 8L101 нет кварцевого генератора. Вот такой облом-с от ST…
0
а еще у 8l101 нету ацп. вообще они унылые какие-то.

Сейчас больше ориентируюсь на 8l152 для всех своих поделок. Дешевые и фарша куча
0
На них не хуже решаются те же задачи, что и на восьмибитниках. И даже не дороже вроде бы. Разве что у какого-нить PIC10F200 немного конкурентов (дешевый и весьма миниатюрный МК для очень простой задачи, по футпринту сравним с «блохой» LPC1102).
0
На них — это имеется в виду на ком?
0
Сначала как-то пытался раскурить старшие камни (STM32) но не поперло. Нету у меня по них пока задачи.
0
attiny4 чем не конкурент? Осталось дождаться его появления в продаже.
0
Attiny4? OH SHI--

Какой смачный закос под мелкие пики. Только я бы туды еще UART впихнул. Ну и прошивается он не так, как все.
0
Ну, например тем, что осталось дождаться его появления в продаже) Опять же, хз сколь он стоить будет.
Вообще, тот-же СТМ32Ф100 за 50р, это очень и очень вкусно. По соотношению цена/начинка делает даже STM8. Имеет прошитый с завода бутлоадер — это вообще вин :)
Вот-вот, именно. В качестве мигалки фонариком PIC10F200 его конечно уделает за счет втрое меньшей цены (да и габаритов), но в более солидных задачах, чем полкило объектного кода (точнее 256 12-битных слов), картинка уже не в его пользу…
0
Ну и собсно я имел в виду конкурентов классом повыше. Хотя LPC1102 вполне себе конкурент… Тока плату под него делать…
ATtiny4 забавная штучка. А в 5/10 даже АЦП есть. Правда, какие-то они странные) 16 РОН например, не совсем ясно чем прошивать…
0
Ну хз. Мне кажется для старших камней надо более продвинутые задачки. В общем поковыряюсь с СМТ8, а потом может и на 32 перейду.

Вообще, тот-же СТМ32Ф100 за 50р, это очень и очень вкусно. По соотношению цена/начинка делает даже STM8. Имеет прошитый с завода бутлоадер — это вообще вин :)
0
В СТМ32Ф100 нет ЦАП, в отличие от СТМ8Л, а так да, АРМ за 50р это здорово.
Есть еще дешевле:
catalog.compel.ru/blog/2011/03/25/arm-cortex-m3-po-cene-099/
0
Упс… ЦАП в сотках все таки есть, корявая оценочная таблица попалась.
0
ух, я хотел возмутиться на счет ЦАП, но не успел :)
0
А может ну их, эти СТМ8, ведь есть такие вкусные и дешевые СТМ32Ф? :)
0
А я думаю, полезно знать и те, и те.
На стм32 даже можно попробовать менять коэффициент заполнения для светодиодов по экспоненциальному закону для линеаризации изменения яркости свечения светодиодов :))
0
stm32 нет в болеемение паябельном корпусе, только tqfp и bga. stm8 есть в SOIC-20.
0
Да нормально TQFP паяется. Феном правда, но трудами китайцев станция с феном стоит ненамного дороже, чем только с паялом. Вот BGA — тот да, плату фиг изготовишь.
0
Ну так феном их! Или газиком! :)
Хотя разве QFP непаябелен?
0
станцию я преобрел недавно и именно из-за чип элементов. а так юзаю стандартный 4мм паяльник :)
0
Паяльником кстати TQFP тоже запаять можно. Единственная проблема — не будет автопозиционирования, как при пайке воздухом. Но после того как микра спозиционирована и прихвачена — запаивается элементарно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.