В STM8L многие мелкие дисплеи можно уже мутить хардварно
Поясните чуть больше, не понял. Имеется в виду поддержка LCD? Вольтметр-модуль можно и купить, тут нет особого смысла изобретать велосипед.
HHIMERA писал(а):
вместо 2313 можно купить две STM8S003F3
Всё зависит от количества, нюансы есть и там и там 1. объем AVR нам, например, 200 шт в месяц (на изделие), в том корпусе который нам надо, что бы нам привезли удобный нам корпус из стмов,нужно брать около тыщи этих самых эстм 2. срок поставки авр в течении недели поставка после оплаты, стм от 5 до 8 недель ожидания, но бюджет жестко поделён, и я не могу, например, залезть в ФОТ для оплаты 1килоштук стм, разве что только в свою ЗП, что мне не надо. 3. для перехода на другой процессор нужно: 3.1. переписать код, гдето легко, гдето можно умом пойти. 3.2. отрассировать новые платы 3.3. заплатить за изготовление новых плат (подготовка, шаблоны) 3.4. монтажницам нужно время что бы всё запомнить, конечно, есть бумаги, документация, но при большом объеме лишний раз читать бумажку не совсем хорошо 3.5. поддержка потребуется и новым платам. 3.6. пункты 3.1-3.5 кто то должен делать
PS осталось поправить 39 ерроров хардваре зависимых
_________________ Разработал: -BLDC -ФУОЗ/МПСЗ -SMART BMS -ECU/EDC на STM32F4(43%)+CPLD(57%) -Моноинжектор на ATSAMD20G16 -контроллер эффектов для RGB LED ленты -умные часы/обратный счет/секундомер -устройство измерения емкости АКБ
Если всё так плохо... то и не вижу смысла заморачиваться... При переходе с STM на АВР проблем было бы не меньше... В общем... тут обсуждать то и нечего...
Цитата:
Имеется в виду поддержка LCD?
Не только чисто стекляшки... Те же HD44780... мелкие от мобилок... LED семисегментники... типа MT10t7 и пр. ... DMA и таймер в STM8L делают чудеса...
_________________ "Я не даю готовых решений, я заставляю думать!"(С)
Если всё так плохо... то и не вижу смысла заморачиваться... При переходе с STM на АВР проблем было бы не меньше... В общем... тут обсуждать то и нечего...
Есть ещё такая штука, как унификация используемой элементной базы.
В разовом устройстве или хобби без разницы какой проц.
_________________ Разработал: -BLDC -ФУОЗ/МПСЗ -SMART BMS -ECU/EDC на STM32F4(43%)+CPLD(57%) -Моноинжектор на ATSAMD20G16 -контроллер эффектов для RGB LED ленты -умные часы/обратный счет/секундомер -устройство измерения емкости АКБ
Самая короткая дорога, та, которую знаешь - народная мудрость.
Удачных выходных.
_________________ Разработал: -BLDC -ФУОЗ/МПСЗ -SMART BMS -ECU/EDC на STM32F4(43%)+CPLD(57%) -Моноинжектор на ATSAMD20G16 -контроллер эффектов для RGB LED ленты -умные часы/обратный счет/секундомер -устройство измерения емкости АКБ
Посмотреть как сделано в готовом шаблоне или воспользоваться шаблоном.
Цитата:
Наипростейший путь создания нового проекта - это воспользоваться шаблоном-примером. В каждом архиве периферийной библиотеки имеется такой пример, который после разархивирования находится в папке ProjectSTM8S_StdPeriph_TemplateEWSTM8.
Во-первых... Данный МК не очень подходит для обучения... ресурс флэш мал... Во-вторых... настраивается PD_ODR_bit.ODR0 ... а в прерывании юзается PD_ODR_bit.ODR7...
_________________ "Я не даю готовых решений, я заставляю думать!"(С)
Во-вторых... настраивается PD_ODR_bit.ODR0 ... а в прерывании юзается PD_ODR_bit.ODR7...
Исправил. Но все ровно не работает. Походу неправильно настроил регистры отвечающие за прерывания. Перевел я с даташипа:
Эти биты можно записать только тогда, когда I1 и I0 в регистре CCR оба установлены в 1 (уровень 3).
СпойлерBits 7:6PDIS[1:0]: Port D external interrupt sensitivity bits These bits can only be written when I1 and I0 in the CCR register are both set to 1 (level 3). They define the sensitivity of Port D external interrupts. 00: Falling edge and low level 01: Rising edge only 10: Falling edge ....
This example provides a short description of how to use the EXTI peripheral: - Configuration of External Interrupt / Falling edge and TLI - LEDs are toggling at each interrupt detection
bool OneWire_Reset (void) { TIM2_CNTRH=255; TIM2_CNTRL=255-250; //500 мкс wrflg=1; TIM4_IER_UIE=0; //отключаем прерывания динамической индикации TIM2_CR1_CEN=1; PINO_1W=DWN; //даем импульс reset TIM4_IER_UIE=1; //включаем прерывания динамической индикации while (wrflg); TIM2_CNTRH=255; TIM2_CNTRL=255-30; wrflg=1; TIM2_CR1_CEN=1; while (wrflg); //ждем 60 мкс if (PINI_1W) return 0; //если нет presence else { TIM2_CNTRH=255; TIM2_CNTRL=255-210; wrflg=1; TIM2_CR1_CEN=1; while (wrflg); //ждем еще 420 мкс if (PINI_1W) return 1; else return 0; } }
Так вот, первый Reset не проходит: получается короткий (~100 мкс). А дальше все работает как часы. Пробовал TIM2_CNTRL грузить первым - та же ерунда. Знатоки stm, помогите, плиз!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения