я в CH340 блоки передавал по 64 байта или кажись по 128 байт и используя CRC. Иначе пропуски. О завершении прохождении блока отвечаю отправкой с PC одного байта $55 или $AA повтор. Так оптимальней и надежней ,а не сыпать бес конца в CH340. Можно подобрать дороже свисток, но там уже постоянные заморочки с драйверами на разных PC. К стати. Скаченная среда HIASM имеет вирус.
Мне сама структуры передачи rажится "defective by design". Поясню: нет смысла кидать одним блоком такие большие пакеты. Это ничем не обосновано, вам нужно передать большой массив с последовательностями - какой смысл передавать всё сразу или тремя кусками? Ардуиной вы передаёте в буфер Всё равно строками, а потом делите на строки. Так и передавайте на ПК так же, построчно, складывайте в массив, до получения завершающего символа. На ходу можете считать контрольную сумму каждой строки и затребовать её повторную отправку. И уже на компе распарсить большой буфер. Вам же не нужно ежесекундно отправлять массивы по миллиону значений. Вам один массив в минуту или час. какая разница вы передадите его построчно за 0,25 секунды или борясь со всеми буферами за 0,1 секунду. Зачем "стрелять себе в ногу"? Как это применял я: Символ начала инф пакета, строка, строка, значение, значение, символ окончания пакета. На пк этот массив уже разбивается на отдельные значения и отображается. При том есть командные пакеты, начинающиеся с другого символа и на них прилетает ответ с другими символами начала и конца
Причём тут преобразователь usb-uart? Протокол потоковый, а не пакетный. Да и в терминале тоже не приходит "в одну строчку" как вы выразились, просто на глаз незаметно.
Спасибо 👍
я в CH340 блоки передавал по 64 байта или кажись по 128 байт и используя CRC. Иначе пропуски. О завершении прохождении блока отвечаю отправкой с PC одного байта $55 или $AA повтор. Так оптимальней и надежней ,а не сыпать бес конца в CH340. Можно подобрать дороже свисток, но там уже постоянные заморочки с драйверами на разных PC. К стати. Скаченная среда HIASM имеет вирус.
Очередная, полезная информация. Спс. Вопрос не по теме - где Вы приобретаете мк мега (по разумным ценам, на али одна отбраковка). С ув.
Пока что закупок не делал особо. Я готовые устройства для себя в последнее время не собирал.
Мне сама структуры передачи rажится "defective by design". Поясню: нет смысла кидать одним блоком такие большие пакеты. Это ничем не обосновано, вам нужно передать большой массив с последовательностями - какой смысл передавать всё сразу или тремя кусками? Ардуиной вы передаёте в буфер Всё равно строками, а потом делите на строки. Так и передавайте на ПК так же, построчно, складывайте в массив, до получения завершающего символа. На ходу можете считать контрольную сумму каждой строки и затребовать её повторную отправку. И уже на компе распарсить большой буфер. Вам же не нужно ежесекундно отправлять массивы по миллиону значений. Вам один массив в минуту или час. какая разница вы передадите его построчно за 0,25 секунды или борясь со всеми буферами за 0,1 секунду. Зачем "стрелять себе в ногу"? Как это применял я: Символ начала инф пакета, строка, строка, значение, значение, символ окончания пакета. На пк этот массив уже разбивается на отдельные значения и отображается. При том есть командные пакеты, начинающиеся с другого символа и на них прилетает ответ с другими символами начала и конца
а не подскажите ли, чем моя программа ДО переделки отличается от вашего "не стрелять в ногу" ?
Да он реально думает, что если отправил в юарт 100 байт за раз, то 100 байт и примет... о чем тут говорить, если основ не понимает.
Причём тут преобразователь usb-uart? Протокол потоковый, а не пакетный. Да и в терминале тоже не приходит "в одну строчку" как вы выразились, просто на глаз незаметно.
Доброго, не пробовали запускать под администратором? Или в режиме совместимости
Приветствую. Пробовал, и драйвера разные ставил.