у 1617 три линии STB, Clock и данные. Никто с такой шиной не занимался ? Как там программно задаются выводы ?
Микроконтроллеры STC: первые впечатления.
- Сообщения: 5
- Зарегистрирован: Пт апр 18, 2025 17:18:13
Немного оффтоп - делаю под STC15W404 програму управления индикатором на TM1617 - хотел было на основе TM1650 кода а у них оказывается разные шины - у 1650- L2C, а вот
у 1617 три линии STB, Clock и данные. Никто с такой шиной не занимался ? Как там программно задаются выводы ?
у 1617 три линии STB, Clock и данные. Никто с такой шиной не занимался ? Как там программно задаются выводы ?
- Реклама
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
Да есть такая пакость...
Китайского пока не знаю, а ни русского ни инглиш...

Судя по диаграммам там что - то подобное SPI.

Судя по диаграммам там что - то подобное SPI.
- Сообщения: 5
- Зарегистрирован: Пт апр 18, 2025 17:18:13
В том то и дело что именно TM1617 ( старенькая схема) м под нее не могу найти примеров программ (
За мануал спасибо видел, переводил там да я так понимаю
STB - это что то типа чип селект - когда в нуле - чип принимает-передает данные а через clock тактируется
а SPI тоже три линии ?
За мануал спасибо видел, переводил там да я так понимаю
STB - это что то типа чип селект - когда в нуле - чип принимает-передает данные а через clock тактируется
а SPI тоже три линии ?
- Реклама
- Сообщения: 238
- Зарегистрирован: Чт фев 28, 2013 14:16:10
[uquote="ks0",url="/forum/viewtopic.php?p=4626827#p4626827"]STC-ISP это программа для прошивки? Убунту у меня, я без нее. И насколько знаю все заголовочные файлы и примеры от производителя идут для Кейла.
Вот такой проект нашел https://codeberg.org/20-100/uni-STC
Буду смотреть. Хотя хотелось бы в одном файле, без вот этого развесистого дерева.[/uquote]
Колупал снова uni-STC. Воображение рисовало беспроблемное использование контроллеров с использованием hal, без прямого доступа к регистрам. Количество памяти у STC8H это позволяет. Документации, конечно, на uni-STC толковой нет, читал исходные коды. Автор - бог, мое почтение. С трудом верится, что это один человек сделал.
К сожалению я споткнулся когда попытался использовать этот проект на практике. I2C напрочь отказывался работать. Просидел два вечера, вообще тупняк полный. Обычно на второй день проблемы решаются, но здесь глухо.
И вот на третий вечер, совершенно случайно, наткнулся в исходниках, где совсем не ожидал, на маленькую приписку: используйте макрос INIT_EXTENDED_SFR... ну и бла-бла-бла, макрос просто ставит бит EAXFR в P_SW2.
И все заработало.
Вот уж не знаю, радоваться или огорчаться. Сколько еще таких "мелких нюансов" будет вылазить. И никакие чат-боты не помогут, потому что по этой библиотеке информации мало.
Но автор уровня бог, второй раз повторюсь.
Вот такой проект нашел https://codeberg.org/20-100/uni-STC
Буду смотреть. Хотя хотелось бы в одном файле, без вот этого развесистого дерева.[/uquote]
Колупал снова uni-STC. Воображение рисовало беспроблемное использование контроллеров с использованием hal, без прямого доступа к регистрам. Количество памяти у STC8H это позволяет. Документации, конечно, на uni-STC толковой нет, читал исходные коды. Автор - бог, мое почтение. С трудом верится, что это один человек сделал.
К сожалению я споткнулся когда попытался использовать этот проект на практике. I2C напрочь отказывался работать. Просидел два вечера, вообще тупняк полный. Обычно на второй день проблемы решаются, но здесь глухо.
И вот на третий вечер, совершенно случайно, наткнулся в исходниках, где совсем не ожидал, на маленькую приписку: используйте макрос INIT_EXTENDED_SFR... ну и бла-бла-бла, макрос просто ставит бит EAXFR в P_SW2.
И все заработало.
Вот уж не знаю, радоваться или огорчаться. Сколько еще таких "мелких нюансов" будет вылазить. И никакие чат-боты не помогут, потому что по этой библиотеке информации мало.
Но автор уровня бог, второй раз повторюсь.
[uquote="ks0",url="/forum/viewtopic.php?p=4766263#p4766263"]с использованием hal, без прямого доступа к регистрам.
макрос просто ставит бит EAXFR в P_SW2.
Сколько еще таких "мелких нюансов" будет вылазить[/uquote]
Нюансов будет вылазить много, так как Вы допускаете ошибку - делаете, похоже, упор на использование непойми чего написанного непойми кем, а не на доскональное изучение даташитов и аппнотов производителя. Как там Ивлев говорит - "Прежде чем научиться готовить плохо, научись готовить хорошо" - а хорошо это знание матчасти, то есть тех самых регистров.
макрос просто ставит бит EAXFR в P_SW2.
Сколько еще таких "мелких нюансов" будет вылазить[/uquote]
Нюансов будет вылазить много, так как Вы допускаете ошибку - делаете, похоже, упор на использование непойми чего написанного непойми кем, а не на доскональное изучение даташитов и аппнотов производителя. Как там Ивлев говорит - "Прежде чем научиться готовить плохо, научись готовить хорошо" - а хорошо это знание матчасти, то есть тех самых регистров.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
- Сообщения: 1743
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ks0",url="/forum/viewtopic.php?p=4766263#p4766263"]Но автор уровня бог, второй раз повторюсь.[/uquote]В смысле - ему нужно молиться? Или жертвы приносить???
[uquote="ks0",url="/forum/viewtopic.php?p=4766263#p4766263"]К сожалению я споткнулся когда попытался использовать этот проект на практике. I2C напрочь отказывался работать. Просидел два вечера, вообще тупняк полный. Обычно на второй день проблемы решаются, но здесь глухо.[/uquote]Видимо вы недостаточно усердно молились. Или принесли в жертву недостаточно жирного ягнёнка. Потому и так долго.
Добавлено after 1 minute 41 second:
[uquote="smacorp",url="/forum/viewtopic.php?p=4766278#p4766278"]Вы допускаете ошибку - делаете, похоже, упор на использование непойми чего написанного непойми кем[/uquote]Вы чего? Это же Святое Писание!!! Сказано же: автор - Бог!
[uquote="ks0",url="/forum/viewtopic.php?p=4766263#p4766263"]К сожалению я споткнулся когда попытался использовать этот проект на практике. I2C напрочь отказывался работать. Просидел два вечера, вообще тупняк полный. Обычно на второй день проблемы решаются, но здесь глухо.[/uquote]Видимо вы недостаточно усердно молились. Или принесли в жертву недостаточно жирного ягнёнка. Потому и так долго.
Добавлено after 1 minute 41 second:
[uquote="smacorp",url="/forum/viewtopic.php?p=4766278#p4766278"]Вы допускаете ошибку - делаете, похоже, упор на использование непойми чего написанного непойми кем[/uquote]Вы чего? Это же Святое Писание!!! Сказано же: автор - Бог!
- Сообщения: 238
- Зарегистрирован: Чт фев 28, 2013 14:16:10
На регистрах и по даташиту я могу написать. Когда что-то надо чтоб точно работало вообще использую хорошо понятные авр. Здесь чисто для фана. Делать было нечего, и я пару дней почитал на работе исходники и сайт автора, и прям проникся. Так все систематизировать и сделать универсальную библиотеку для десятков контроллеров, это надо хорошую голову иметь. Буквально меняете в одном файле целевой мк и пересобираете проект, и все работает.
Просто так изучать сейчас 8051 это такое себе, лучше уж время потратить на risc-v или китайские armы.
Но STC8H хорошая серия, очень богатая периферией, я думаю атмеги ей уступают.
Просто так изучать сейчас 8051 это такое себе, лучше уж время потратить на risc-v или китайские armы.
Но STC8H хорошая серия, очень богатая периферией, я думаю атмеги ей уступают.
Подскажите эмулятор-отладчик для STC, как, например PDC-52 от Фитона. Чтобы периферия - память полностью, можно и на китайском. Я в ихних форумах не очень, но что-то они для этого юзают.
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
[uquote="ks0",url="/forum/viewtopic.php?p=4766454#p4766454"]...я пару дней почитал на работе исходники и сайт автора, и прям проникся.[/uquote]
"Не сотвори себе кумира." На самом деле, башковитых много. И всё относительно.
"Не сотвори себе кумира." На самом деле, башковитых много. И всё относительно.
[uquote="ks0",url="/forum/viewtopic.php?p=4766454#p4766454"]Буквально меняете в одном файле целевой мк и пересобираете проект, и все работает.
Просто так изучать сейчас 8051 это такое себе, лучше уж время потратить на risc-v или китайские armы.[/uquote]
Вот изучаю сейчас PY32F0xx
один и тот же кристалл внутри F002A, F003, F030
со скрытыми возможностями для F002A и F003
делаем проект на F030 (выбираем только для линкера скрипт 16K;32K;64K)
и всё
проблема в том что для этих серий вместе
видов корпусов 15 ( от dfn8 до lqfp32 )
плюс есть разная распиновка в одном корпусе
Итого - 37
и это маленькие корпуса до 32-х выводов
P.S.
PY32F002B - к данной серии не относится чуть другой
- действительно урезанный чип
Просто так изучать сейчас 8051 это такое себе, лучше уж время потратить на risc-v или китайские armы.[/uquote]
Вот изучаю сейчас PY32F0xx
один и тот же кристалл внутри F002A, F003, F030
со скрытыми возможностями для F002A и F003
делаем проект на F030 (выбираем только для линкера скрипт 16K;32K;64K)
и всё
проблема в том что для этих серий вместе
видов корпусов 15 ( от dfn8 до lqfp32 )
плюс есть разная распиновка в одном корпусе
Итого - 37
и это маленькие корпуса до 32-х выводов
P.S.
PY32F002B - к данной серии не относится чуть другой
- действительно урезанный чип
- Сообщения: 238
- Зарегистрирован: Чт фев 28, 2013 14:16:10
Написал несколько заметок по uni-STC.
https://gitflic.ru/project/ksa/stc8-blog
https://gitflic.ru/project/ksa/stc8-blog
При наличии самих МК и документации (хотя бы на английском - китайский не так привычен) под ассемблером те STC вполне удобоваримы.
Какое из семейств МК лучше - это зависит от требований проекта, навыков пользователя и наличия соответствующих инструментов отладки и разработки.

Какое из семейств МК лучше - это зависит от требований проекта, навыков пользователя и наличия соответствующих инструментов отладки и разработки.
Первые впечатления отличные.
Я использую STC89c52 как заменитель AT89C**, программируется через USB,
программы подмены не заметят если не использовать специальные регистры.
к примеру частотомеры были на AT89C2051.
Я использую STC89c52 как заменитель AT89C**, программируется через USB,
программы подмены не заметят если не использовать специальные регистры.
к примеру частотомеры были на AT89C2051.
- Сообщения: 238
- Зарегистрирован: Чт фев 28, 2013 14:16:10
Я сегодня как учительница русского языка, когда первый раз прыгала с парашютом. Был потрясен, удивлен и крайне обескуражен.
Кодил цифровой фильтр на STC8. Компилятор sdcc. Че-то нефига нормально не работает, просто как скользящее окно (EMA), которое и было изначально. Меняю коэффициенты, потом float на double. Нефига не меняется, результат как при EMA. Через какая-то время возникла мысль, а прошивка вообще меняется? Сделал диагностический вывод, прошил. Нефига, все тот же EMA. Просидел наверно час. Понял, что прошивка не заливается, хотя пишет что все ок. Делаю пустую прошивку, заливаю, контроллер не подает признаков жизни, заливаю свою, он оказывается в состоянии EMA. Ссска, да че за нафиг. Она во флеш въелась что-ли... Потом смотрю, почему-то размер hex файла всегда одинаковый после любой правки. Делаю make clean, make. Размер прошивки не меняется. Может какие-то файлы в ридонли у меня на диске оказались?! Скопировал каталог, удалил все лишние файлы, оставил только main.c, который мигает светодиодом, и там какие-то артефакты от старой программы. Делаю make и оба, компилятор вываливает мне ошибку что функция не определена (опечатка). Короче этот компилятор почему-то не выдавал при компиляции ошибку в исходном коде, пережевывал это молча, оставлял без изменений main.asm и собирал программу со старым рабочим исходным кодом. Первый раз такой прикол вижу!
Кодил цифровой фильтр на STC8. Компилятор sdcc. Че-то нефига нормально не работает, просто как скользящее окно (EMA), которое и было изначально. Меняю коэффициенты, потом float на double. Нефига не меняется, результат как при EMA. Через какая-то время возникла мысль, а прошивка вообще меняется? Сделал диагностический вывод, прошил. Нефига, все тот же EMA. Просидел наверно час. Понял, что прошивка не заливается, хотя пишет что все ок. Делаю пустую прошивку, заливаю, контроллер не подает признаков жизни, заливаю свою, он оказывается в состоянии EMA. Ссска, да че за нафиг. Она во флеш въелась что-ли... Потом смотрю, почему-то размер hex файла всегда одинаковый после любой правки. Делаю make clean, make. Размер прошивки не меняется. Может какие-то файлы в ридонли у меня на диске оказались?! Скопировал каталог, удалил все лишние файлы, оставил только main.c, который мигает светодиодом, и там какие-то артефакты от старой программы. Делаю make и оба, компилятор вываливает мне ошибку что функция не определена (опечатка). Короче этот компилятор почему-то не выдавал при компиляции ошибку в исходном коде, пережевывал это молча, оставлял без изменений main.asm и собирал программу со старым рабочим исходным кодом. Первый раз такой прикол вижу!
"родные" Сишные файлики у STC делаются под Кейл...
возможно в том проблемы.
Ассемблер то можно любой для mcs51 применять...
возможно в том проблемы.
Ассемблер то можно любой для mcs51 применять...
- Сообщения: 238
- Зарегистрирован: Чт фев 28, 2013 14:16:10
Я не родные использую, а uni-STC HAL написанный для sdcc.
Еще какая-то аномалия замечена, пока не знаю стоит ли ее колупать или нет. Почему-то в моем случае при записи на любой порт P3.x отваливается UART, который сидит на P3.1. Сразу хоба, и нет вывода. Че глючит непонятно. HAL, контроллер? Загадка. Осциллографом щупать всплески на других ногах что-ли. Но я не верю в такую лажу.
Еще какая-то аномалия замечена, пока не знаю стоит ли ее колупать или нет. Почему-то в моем случае при записи на любой порт P3.x отваливается UART, который сидит на P3.1. Сразу хоба, и нет вывода. Че глючит непонятно. HAL, контроллер? Загадка. Осциллографом щупать всплески на других ногах что-ли. Но я не верю в такую лажу.
Имею вопрос по версии процов. Речь о 8Н8К64U. В мануале китайском красным выделено 正看芯片丝印最下面一行最后一个字母为芯片版本号 что крайний знак на корпусе это версия, я наблюдаю "D", в их мануале только А и В. Версии отличаются многим, но более наличием 32-разрядной математики (MDU32). Может я не туда смотрю ?
а есть китайская версия даташита?
я как-то находил, и там показана разница в аналоговых входах\
https://www.stcmicro.com/datasheet/STC8H-cn.pdf
Раздел 13 и по тексту:
В следующих моделях серии STC8H были исправлены дефекты прерываний портов ввода-вывода: серия STC8H4K64TL, серия STC8H8K64U-D, серия STC8H4K64TLCD-B и серия STC8H1K08T.
я как-то находил, и там показана разница в аналоговых входах\
https://www.stcmicro.com/datasheet/STC8H-cn.pdf
Раздел 13 и по тексту:
В следующих моделях серии STC8H были исправлены дефекты прерываний портов ввода-вывода: серия STC8H4K64TL, серия STC8H8K64U-D, серия STC8H4K64TLCD-B и серия STC8H1K08T.
Верните прошлое! там было такое прекрасное будущее...


