Микроконтроллеры STC: первые впечатления.
-
Serg S
- Родился
- Сообщения: 14
- Зарегистрирован: Пт сен 06, 2024 15:42:31
- Откуда: Заречный Свердловской
Re: Микроконтроллеры STC: первые впечатления.
Да уж. В мануале попозже от 2024/12/24 этого нет и версий две. А может я чего не увидел. На всех моих 'D'.
- Реклама
- Александр Д.
- Встал на лапы
- Сообщения: 113
- Зарегистрирован: Вс май 12, 2024 12:41:38
- Откуда: Подмосковье
Re: Микроконтроллеры STC: первые впечатления.
аналогично
но мои все не D точно
но мои все не D точно
Верните прошлое! там было такое прекрасное будущее...
Re: Микроконтроллеры STC: первые впечатления.
В ходе экспериментов с констукторами с Алиэкспресс написал библиотеку для работы с STC15W408AS https://github.com/mgoblin/STC15lib. В первую очередь для удобного использования в среде Platformio.
Пример одной из поделок с использованием библиотеки https://github.com/mgoblin/ElectronicHourGlassKit
Надеюсь, будет полезно.
Пример одной из поделок с использованием библиотеки https://github.com/mgoblin/ElectronicHourGlassKit
Надеюсь, будет полезно.
Последний раз редактировалось mgoblin Вт май 12, 2026 22:04:19, всего редактировалось 1 раз.
Re: Микроконтроллеры STC: первые впечатления.
////////////
Re: Микроконтроллеры STC: первые впечатления.
Написал сообщение, потом подумал, что поспешил, и удалил. Сделал другую плату, поставил контроллер с большим объемом памяти (STC8H1K17). Ниже будет понятно почему. На новой плате убрал ошибки, все провода и сопли, все облепил конденсаторами. Получил тот же результат. Первоначальное сообщение:
Я тут выше высказывал много восхищений библиотекой uni-STC. Но убив на отладку простейших программ уже наверно десятки часов, мое восхищение рассеялось. Не то чтобы она косячная. Но в ней есть недоработки. И без широкого использования они так и останутся скрытыми и каждый следующий пользователь будет огребать на ровном месте.
Блокирующие вызовы, который могут повесить всю программу. Это сплошь и рядом, не только здесь. Отсутствие запрета на прерывания при некоторых критических операциях. Последней каплей стал неожиданный фокус когда при записи в порт P3.4 отваливался UART с портов P3.0, P3.1. Как оказалось банальная запись P3_4 = 0 работает, а библиотечная gpioWrite(&gpioPwr, 0) вызывает перезапись всего порта P3. И фиг знает почему, но на этих контроллерах при полной перезаписи порта, на котором активна альтернативная функция (по крайне мере UART1) этот самый UART1 отваливает.
Честно говоря с модулем gpio_hal, который должен бы быть простейший, автор сильно перемудрил. Это один из самых сложных файлов для восприятия из всей библиотеки.
А дисплейный драйвер с несколькими уровнями абстракции я и смотреть не хочу уже.
К слову об уровне абстракции uni-STC. Практически для нее контроллеры с 8 кб флеша непригодны. У меня любая программа получалась от 7 кб. Если я делаю вывод отладочной информации через puts или putchar она становится впритык к 8 кб. printf сразу выводит ее свыше 8. А программа еще ничего не делает. Только дрыгает ножками и выводит что-то на UART.
*************
Для серьезного применения я её (uni-STC) очень не рекомендую.
Я тут выше высказывал много восхищений библиотекой uni-STC. Но убив на отладку простейших программ уже наверно десятки часов, мое восхищение рассеялось. Не то чтобы она косячная. Но в ней есть недоработки. И без широкого использования они так и останутся скрытыми и каждый следующий пользователь будет огребать на ровном месте.
Блокирующие вызовы, который могут повесить всю программу. Это сплошь и рядом, не только здесь. Отсутствие запрета на прерывания при некоторых критических операциях. Последней каплей стал неожиданный фокус когда при записи в порт P3.4 отваливался UART с портов P3.0, P3.1. Как оказалось банальная запись P3_4 = 0 работает, а библиотечная gpioWrite(&gpioPwr, 0) вызывает перезапись всего порта P3. И фиг знает почему, но на этих контроллерах при полной перезаписи порта, на котором активна альтернативная функция (по крайне мере UART1) этот самый UART1 отваливает.
Честно говоря с модулем gpio_hal, который должен бы быть простейший, автор сильно перемудрил. Это один из самых сложных файлов для восприятия из всей библиотеки.
А дисплейный драйвер с несколькими уровнями абстракции я и смотреть не хочу уже.
К слову об уровне абстракции uni-STC. Практически для нее контроллеры с 8 кб флеша непригодны. У меня любая программа получалась от 7 кб. Если я делаю вывод отладочной информации через puts или putchar она становится впритык к 8 кб. printf сразу выводит ее свыше 8. А программа еще ничего не делает. Только дрыгает ножками и выводит что-то на UART.
*************
Для серьезного применения я её (uni-STC) очень не рекомендую.
- Реклама

