Size: a a a

2021 August 15

D

Dim in ru_ASUTP
кстати здесь как раз используется пиковская косвенная адресация
источник

D

Dim in ru_ASUTP
т.е. с помощью этого блока можем смело работать с регистрами пика как с линейным массивом
источник

D

Dim in ru_ASUTP
просто пришлось большую дату загонять и как то выкручиваться из положения
источник

D

Dim in ru_ASUTP
как ты думаешь для чего мне это было нужно?
источник

AS

Alexander Sudalin in ru_ASUTP
Не знаю. И не хочу знать. Мне все равно
источник

A-

Aleksey - in ru_ASUTP
Поздравляю, вы только что проипали почти 10мксек)))
На 16 пике вам не реализовать 3 уарта, господин Котельников не позволит😆
Чтобы держать трафик, нужно в пределах периода появляться раз 10. Даже если задать счетчик в прерывании на 10мксек, вы неизбежно много просидите в обработчике. Один уарт на этих пиках можно аппаратно поднять, но вам это не поможет, мы же надеюсь не верим в синхронный прием?)
Вам нужно чуть больше времени на слово в программе или дма.
источник

D

Dim in ru_ASUTP
а я все же скажу:
задача была такая: нужно было перехватить UDPдатаграмму по пути из компа в модем
датаграмма шла в сыром PPP пакете
источник

D

Dim in ru_ASUTP
задачы была простой- подменить UDP порт адресата
источник

D

Dim in ru_ASUTP
но влекла за собой пересчет контрольной суммы в заголовке пакета и crc16 в конце пакета
источник

D

Dim in ru_ASUTP
кроме того в самой дтаграме были т..н. эскейп сиквесы - это замена одного байта - двумя
источник

D

Dim in ru_ASUTP
нахер оно там там было задумано я не знаю
источник

D

Dim in ru_ASUTP
видимо флаги 7E не должны были повторяться
источник

D

Dim in ru_ASUTP
это был кадр пакета
источник

D

Dim in ru_ASUTP
размер самой датаграмы был порядка 130 байт
источник

D

Dim in ru_ASUTP
так вот
мой пик принимал датаграму из рукотворного софт уарта на скорости 115200
сжимал ее - т.е. выкидывал эскейпы - пересчитывал их в нормальные байты
затем заменял порт назначения UDP пересчитывал контролную сумму заголовка датаграммы, снова расширял ее по эскейпу и считал crc 32 в конце пакета
источник

D

Dim in ru_ASUTP
потом отправлял во второй софт-уарт - в модем
источник

D

Dim in ru_ASUTP
по получению ответа из модема все производилось в обратной последовательности за исключением того, что порт адресата теперь заменялся на реальный порт приемника
источник

D

Dim in ru_ASUTP
иначе комп отверг бы такую левую датаграму
источник

D

Dim in ru_ASUTP
у него все ж свой планировщик пакетов
источник

D

Dim in ru_ASUTP
получился некий мост
источник