Василий
ну блин, когда памяти 48кб и 3.5 мгц, вариантов особо нет
🤙🏻 ℙ𝔸𝕍𝔼𝕃
просто если весь билд снести, он будет дольше собирвть т.к. заново будеи компилить весь idf
Василий
при чём тут зубрить. это называется терминология. свободные художники могут ессна придумывать свои термины. синглтон очень известный шаблон, нужен в ооп очень часто, странно его не знать по имени.
что дает знание этого термина вам, кроме того что вы тут упорно всех пытаетесь опустить, что они нехрена не шарят в программировании?
🤙🏻 ℙ𝔸𝕍𝔼𝕃
я вообще в билд в гитигнор сразу сунул, кому надос ам соберет =)
Anton
ну блин, когда памяти 48кб и 3.5 мгц, вариантов особо нет
на з80 можно был в таких даже условиях на си писать. но я тоже предпочитал асм, да...
Василий
просто если весь билд снести, он будет дольше собирвть т.к. заново будеи компилить весь idf
замечал, что при некоторых манипуляциях, вс коде сам отлично сносит все
Anton
что дает знание этого термина вам, кроме того что вы тут упорно всех пытаетесь опустить, что они нехрена не шарят в программировании?
что даёт знание терминологии предметной области? лёгкость в общении и общее понимание что тебе говорят
Василий
на з80 можно был в таких даже условиях на си писать. но я тоже предпочитал асм, да...
не смог найти си на него. в зх ревю, (если видели такой журнал) писали, что под зх игры пишут на "больших" компах
Василий
то было для ямахах. там точно был, на дискетах
возможно. ямаху я видел, но владельцем не был. последний зх что собрал, был петнагон2 + сопр + 2 дисковода
Sergey
Ладно спасиб всем за помощь и советы))))
Anton
я владельцем не был, в учебных классах была
Василий
https://hansotten.file-hunter.com/software/msx-c/
"bootdisk utilizing a 720 kb RAMDISK".... мы явно о разном
Василий
на спектруме, диск 640кб был, если не путаю
Anton
Anton
720кб — это размер флоппи диска
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Deleted Account
а не 1.4 ?
1.4 дюйма это физический размер )
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Давно это было, 3000 лет назад =))
Anton
а не 1.4 ?
были и те и другие. 1.4 — двойная плотность
Василий
Anton
ну тут написано RAMDISK
я не вникал, я только компилятор си для мсх нагуглил
Василий
а не 1.4 ?
это уже было на 3.5 дисководах, а их на спектрум не подключали, ибо когда они появились, спектрум был уже мало актуален
Василий
обычная дискется была 640 и 1.2
Deleted Account
У многих спектрумы били с кассетами )
Василий
5.25 которая
Василий
были еще 8.25 дискеты на 160кб. но я видел только дискету
Василий
У многих спектрумы били с кассетами )
были, потом был турбомодуль, потом дискеты
Василий
ходили слухи про жесткий диск, но в живую не встречал
Deleted Account
И загрузка игр с телевизора )
Василий
И загрузка игр с телевизора )
угу. ощущение интернета
sat
с касеты , ина бардюре бегали полоски , клуб старперов
Василий
с касеты , ина бардюре бегали полоски , клуб старперов
ну по крайней мере, эти старперы не паяют до сих пор KT 315
Anton
были еще 8.25 дискеты на 160кб. но я видел только дискету
а ещё у меня были жёсткие диски с блинами https://i.ebayimg.com/images/g/~6AAAOSwAL5c4HMQ/s-l400.jpg
Anton
14" не хухры мухры
Алексей
Друзья привет ✌️ Скажите, может кто сталкивался с задачей работой с несколькими. UART ? Например 8 штук rs-232. Суть задачи - обмен информацией с десятков UART. Пока додумался до установки контроллеров, у которых есть по 4..8 хардварных UART/USART которые будут всё полученное нумеровать (с какого порта пришло) и отправлять по общей шине I2C. То есть, например, к общей шине I2C подключено 10 контроллеров, которые получают информацию с 8 UART'ов каждый. Имеем 80 последовательных портов. Так вот может знает кто, что тут использовать в качестве UART-шлюза? Думал про stm32, они есть на 8 USART, но сейчас они стоят как табун лошадей. Думал про Stc8/12/15 - но по ним документация на китайском в основном, и на сайте нет нормальной выбиралки по параметрам. AVR на кортексе - тоже как чугунный мост сейчас стоят. Может кто с какими китайцами на много портов работал? Ну или какие идеи вообще может есть ?
Dmytro
Друзья привет ✌️ Скажите, может кто сталкивался с задачей работой с несколькими. UART ? Например 8 штук rs-232. Суть задачи - обмен информацией с десятков UART. Пока додумался до установки контроллеров, у которых есть по 4..8 хардварных UART/USART которые будут всё полученное нумеровать (с какого порта пришло) и отправлять по общей шине I2C. То есть, например, к общей шине I2C подключено 10 контроллеров, которые получают информацию с 8 UART'ов каждый. Имеем 80 последовательных портов. Так вот может знает кто, что тут использовать в качестве UART-шлюза? Думал про stm32, они есть на 8 USART, но сейчас они стоят как табун лошадей. Думал про Stc8/12/15 - но по ним документация на китайском в основном, и на сайте нет нормальной выбиралки по параметрам. AVR на кортексе - тоже как чугунный мост сейчас стоят. Может кто с какими китайцами на много портов работал? Ну или какие идеи вообще может есть ?
По всем каналам принимать надо одновременно, мультиплексирование не подойдёт?
Dmytro
И передача по всем каналам двунаправленная нужна?
Dmytro
Самый простой вариант - взять какой-то одноплатник, юсб хаб и 8 свистков)
Василий
свистки виснут и с не со всем софтом железом работают
Василий
мы покупали 8/16 портовые платы, но там бу что то около 50-100$ стоило
Алексей
По всем каналам принимать надо одновременно, мультиплексирование не подойдёт?
По всем одновременно, девайс может внезапно отправить что-то, что мы не успеем прочитать. Есть только Rx и Tx, никаких RTS/CTS и прочего нету
Алексей
мы покупали 8/16 портовые платы, но там бу что то около 50-100$ стоило
stm32 на 8 портов сейчас около 1000 руб. Но это тоже дорого. Так как устройств возможно будет очень много
Алексей
И передача по всем каналам двунаправленная нужна?
Да. Каждая сторона может инициировать передачу внезапно. Надо не упустить ни бита.
Василий
есп32, должно хватить опросить дофига портов одновременно, написать софт протокол и на одном чипе получится штук 10 портов
Василий
протокол то простой
Алексей
Самый простой вариант - взять какой-то одноплатник, юсб хаб и 8 свистков)
Не. USB тут лишний. Весь поток данных будет по i2c идти на esp32 и литься через него в сеть.
Deleted Account
Друзья привет ✌️ Скажите, может кто сталкивался с задачей работой с несколькими. UART ? Например 8 штук rs-232. Суть задачи - обмен информацией с десятков UART. Пока додумался до установки контроллеров, у которых есть по 4..8 хардварных UART/USART которые будут всё полученное нумеровать (с какого порта пришло) и отправлять по общей шине I2C. То есть, например, к общей шине I2C подключено 10 контроллеров, которые получают информацию с 8 UART'ов каждый. Имеем 80 последовательных портов. Так вот может знает кто, что тут использовать в качестве UART-шлюза? Думал про stm32, они есть на 8 USART, но сейчас они стоят как табун лошадей. Думал про Stc8/12/15 - но по ним документация на китайском в основном, и на сайте нет нормальной выбиралки по параметрам. AVR на кортексе - тоже как чугунный мост сейчас стоят. Может кто с какими китайцами на много портов работал? Ну или какие идеи вообще может есть ?
Какое то стремное решение, может проще девайсы на 485 проапгрейдить или поставить RS-Ethernet переходники чем в 2021 году городить аналог модемного пула из прошлого века?
Алексей
есп32, должно хватить опросить дофига портов одновременно, написать софт протокол и на одном чипе получится штук 10 портов
Любой рассинхрон по времени - потеря информации. UART привередлив к любым шагам и плаванию таймера. Что если все 8 или 10 девайсов захотят написать что-то одновременно? Мне кажется, что тут только Hardware UART/USART справится без косяков. Все эти софтверные эмуляции от лукавого. В свое время запарился вылавливать баги при пересылке через эмуляцию. Протокол простой, но и слабенький по поводу коррекции ошибок.
Deleted Account
Проще наверное в каждое устройство по esp засунуть чтобы оно обрабатывало данные по rs чем городить такого монстра
Василий
Проще наверное в каждое устройство по esp засунуть чтобы оно обрабатывало данные по rs чем городить такого монстра
у человека впрос цены, а такой монстр дорого только разработать, потом дешевле
Алексей
Проще наверное в каждое устройство по esp засунуть чтобы оно обрабатывало данные по rs чем городить такого монстра
И загадить радиоэфир сотней-другой устройств? Роутеры офигеют, думаю, от такого расклада. Да и всё-таки не так это надёжно.
Василий
но, имхо, 9600 устройства, можно спокойно опросить с десяток чисто ресурсами есп
Василий
если скорость выше, то надо проверять, не смог найти какая длина импульса на какой скорости
Deleted Account
И загадить радиоэфир сотней-другой устройств? Роутеры офигеют, думаю, от такого расклада. Да и всё-таки не так это надёжно.
Дальше можете и i2c их соединять, данные с rs уже не потеряются. Если вам надо чтобы было много именно rs портов и дешево, то лучше сами разработайте такую плату
Алексей
запретитть прерывания, и не будет рассинхрона
Опрос как проводить? Прием данных, заполнение буффера, перевод к следующему софт-порту снова приём/отправка , работа с буфером, нумерация и передача на I2C, и все это в синхронном режиме. Не уверен что тайминги UART на скорости 115000 всё точно будут соблюдаться на всех портах.
Василий
собсно юарт в этом режиме что то похожее на то как работал спектрум с кассетой. и там программно все читалось. но да, 115к, не уверен что прожует с десяток устройств
Алексей
если скорость выше, то надо проверять, не смог найти какая длина импульса на какой скорости
115200 бод - это 115200 бит в секунду. Это по 0.0086 сек на 1 бит (ногодрыг), или в 10 раз короче, если 10 портов. При этом если нет прерываний, то данные могут "поплыть" при небольшой разнице кварцев на девайсах.
Василий
не могут
Василий
там не требуется абсолютная точность +- 5% не влияет
Василий
а кварцы сильно точнее
Василий
я точно не помню протокол, но вроде длительность положительного импулься отличается в два раза у 0 и 1, между 8 импульсов идет стоп бит.
Василий
соответсвено, каждое изменение фронта - это точка синхронизации
Vladyslav
ну я в еспшном хардваре не уверен, но не думаю, что как-либо отличается)
Василий
тут только вопрос в одном, сколько успеет есп обработать ипульсов, что бы вычислить их длину с достаточной дискретностью (по идее умные люди говорят, что минимум в два раза частота должна быть выше, но мне больше нравится в 4)
Deleted Account
По идее не будет слишком дорого
Deleted Account
Может найдете что то еще дешевле
Алексей
я точно не помню протокол, но вроде длительность положительного импулься отличается в два раза у 0 и 1, между 8 импульсов идет стоп бит.
Передача данных в UART осуществляется по одному биту в равные промежутки времени. Этот временной промежуток определяется заданной скоростью UART и для конкретного соединения указывается в бодах (что в данном случае соответствует битам в секунду). Существует общепринятый ряд стандартных скоростей: 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 57600; 115200; 230400; 460800; 921600 бод. Скорость (S, бод) и длительность бита (T, секунд) связаны соотношением T=1/S. Скорость в бодах иногда называют сленговым словом бодрейт или битрейт.
Алексей
Поэтому нужен стабильный отсчёт времени. Если есть хоть небольшая погрешность, то вероятно по времени мы постепенно "уедем", и когда нибудь словим другие данные. Поэтому нужно синхронизироваться по стартовому биту. Для этого надо пользовать прерывания. При десяти девайсах это не прокатит. То есть нельзя просто раз в N микросекунд смотреть что там на ноге. Так как в том случае разница в тактировании постепенно накопится, как и в любых часах, и бит пропустим. Надо синхронизироватьсяя
Алексей
А CAN почему не рассматриваете?
Потому что девайсы уже работают на UARTe. Это не мои девайсы.