Пришло время опробовать вложенные прерывания в STM8 (обещал тут написать о результатах). Задачка тут у меня такая - сделать приборчик простенький для простеньких измерений (подробности не важны). В приборе есть семисегментный индикатор, индикация сделана с помощью таймера на прерываниях. Основная задача сделать оцифровку сигнала с помощью АЦП в течении некоторого периода времени, результаты оцифровки помещаются в буфер, потом обрабатываются по формуле и выводятся на индикатор. Главное - оцифровка должна производится строго через равные промежутки времени (100мкс). Так как динамическая индикация будет мешать процессу оцифровки, а выключать индикацию на время измерения не вариант, было решено использовать вложенные прерывания. Понятно, что приоритет прерываний оцифровки должен быть выше приоритета прерываний индикации. Для проверки задействовал один таймер для динамической индикации с периодом 1мс, второй для отсчета промежутков времени, вызывающий прерывания каждые 100мкс - в этом прерывании просто дрыг ногой микроконтроллера. Почитал документацию - вроде приоритеты прерываний можно просто задать регистрами ITC->ISPRx. Попробовал посмотреть дрыганье ногой без приоритета - дрыгает как попало, прерывания таймера индикации мешают. Задал приоритеты прерываний для таймеров (второй выше приритет) - ногодрыг стал идеальным - ничего не дребезжит, период ногодрыага строго 100 мкс и на индикации не заметно никаких артефактов. Похоже все работает, что то правда слишком просто получилось - может где ошибся.
Зарегистрирован: Пт мар 09, 2012 12:03:52 Сообщений: 5
Рейтинг сообщения:0
Прикупил STM8S003F3P 0,5$ за штуку решил попробовать что и как, до этого юзал пик и авр, с компиляторами разобрался, а вот с прошивкой встал вопрос, покупать отладочную плату за 25$ или комплектацию 10$ не серьезно, решил попробовать STMflashloader, но нигде не могу найти что куда подключить, TX; RX -UART понятно, Reset - тоже, для STM32 пишут Boot0 + питания, но в STM8, такого нет. Если кто сталкивался пожалуйста подскажите на какой пин тыкать этот + , есть подозрения на UART_clock но не уверен.
покупать отладочную плату за 25$ или комплектацию 10$ не серьезно
В микроконтроллерах STM8S003 нет бутлоадера, поэтому покупать или паять ST-LINK придется - зато это будет и программатор и отладчик (для STM8 и STM32), чего для пик и авр по такой цене ни спаять ни купить. http://ru.aliexpress.com/item/FREE-SHIP ... 75269.html
Сразу же остужу. Данный огрызок может работать только с 3v, в то время как STM8S - 2.95 to 5.5 V operating voltage. И дабы не пришлось потом кусать локти - задавите жабу и купите полноценный STLink v2. http://ru.aliexpress.com/item/ST-LINK-V ... 29194.html
Тем более что STM не ограничивается одной линейкой STM8S , и в L серии питание Operating power supply range 1.8 V to 3.6 V (down to 1.65 V at power down) Да и после STM8x всяко захочется STM32 ...
Данный огрызок может работать только с 3v, в то время как STM8S - 2.95 to 5.5 V operating voltage.
На сколько он там внутри ОГРЫЗОК нам не ведомо - корпус не прозрачный. Мой клон без выходного буфера нормально работает с STM8S, которая питается от 5В. Резисторных ограничителей достаточно.
я это понимаю. все это имеется в наличии) просто немного протоптав путь от AVR к STM32 призадумался а стоит ли осваивать STM8 ведь AVR-ы никто не отменял и в общем-то всем устраивают (особенно корпусами)))))
P.S. хотел поковырять STM8 вечерка два а там уже и решить
ну это если следовать модным тенденциям. а по факту AVR мне ничего плохого не сделали, чтоб от них отказываться. цена правда слегка раздута из за их популярности...
Возникла проблема. При попытке изменить OPTIONS BYTE через ST-Link в STVP произошёл сбой. В ИАРЕ при попытке записать прошивку через ST-Link вылетает следующее сообщение:
Код:
Errors while setting configuration with MCU name STM8S105S6: gdi-error [40701]: Option bytes read error: not complemented; please use a programmer
При этом в STVP прошивку записать могу, но при попытке доступа к OPTION BYTES считывает 44% и выдаёт ошибку, что байты не комплементарны. И похоже, что сбросились OPTION BYTES, связанные с загрузчиком - не могу по UART соединиться - не определяется чип. Что можно сделать?
Так вышло что сначала подсел на стм32 , стм8 привлекли STM8S003F3P6 за 20руб на сей день. минусы только 100 кратное флэшперепрограммирование, и что нет своего бут-прошивальщика. В загашнике нашел STM32F103C8 на ней наваял свой простенький ST_LINK упрощенный развел один только swim прошил его через бут, обновил прошивку ST шной утилитой. и вуаля. STM8003 шьется очень быстро. На днях долго мучил ENC28J60 все же удалось запустить. Можно посмотрет теперь ь в сторону дешевейшего ip телефона и прочего
Так вышло что сначала подсел на стм32 , стм8 привлекли STM8S003F3P6 за 20руб на сей день. минусы только 100 кратное флэшперепрограммирование,
Минусы? Стократная перезапись -- это не сказать, что совсем уж мало. Не каждое устройство на МК в процессе разработки требует такого большого числа перезаписей. Кроме того, даташит утверждает, что производитель не гарантирует сохранность содержимого флеша, если число перезаписей превысило цифру 100 и устройство эксплуатировалось при температуре 55 градусов двадцать лет. 55 градусов -- это довольно горячо. Температура на грани ожога, если описывать ее на уровне ощущений. И при таком нагреве МК должен отбарабанить не менее двадцати лет без перерыва. Чтобы соблюсти все условия для возможной порчи флеша через двадцать лет -- это еще надо постараться хорошенько. Но опять же, производитель не утверждает, что порча наступит обязательно. Вот и выходит, что для подавляющего большинства применений на данный параметр можно наплевать и забыть.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения