Контроллер работает на 48mhz, usb подключение (не HID, а vendor) - удалось выжать 1МБ/с (Это именно мегаБАЙТ), т.е. примерно 8мбит/c - скорость меня вполне устраивает. Но как только я запиливаю код анализирующий трафик - все капец - скорость падает до 120кбайт/c
.
Причем код, вроде, не сложный (аля парсера страуструпа - т.е. стейт машинка мелкая)- я уже его применял ранее на более дохлых пиках - и мне кажется, что таких колоссальных потерь в производительности не было. Причем они работали на 20mhz, а тут целых 48 и такая гадость происходит. Я даже убирал весь код кроме пустого цикла по массиву - массив из 128 несчастных байт. Скорость уже падает до 700кбайт/с - как так.
Я с пиками на скорость никогда не работал ... вотъ... и я в шоке
То ли пик на самом деле такой дохлый - то ли я, что-то не так делаю - ХЗ. Может кто нибудь поможет в этом вопросе. Может у кого нибудь есть какой нибудь код осмысленный по этой теме.
Свой код я основывал на mla, но там все самплы хитрые - или не на скорость, или на скорость, но пустышки т.е. без анализа принятых данных.
PS
Компиль XC8(купленный - т.е. PRO mode, хотя стандарт и фри тоже тестил ради прикола) - включал оптимизацию по скорости - толку 0, прирост не более полпроцента.
PS2
Думал уж может не 48mhz у меня - проверил все фьюзы, ради прикола задефайнил _XTAL_FREQ 48000000 и запустил моргалку лампочкой раз в секунду - все четко -т.е. контроллер действительно на 48mhz работает.
PS3
Нафиг тогда они заявляют что USB Fullspeed - все дела 12mbit/s - если с этими мегабитами даже ничего сделать не получается. Зачем они нужны...