|
at90usb1287 - малая скорость передачи по USB, Передача данных в режиме CDC USB |
|
|
|
Nov 23 2010, 09:14
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 19-12-04
Из: Москва
Пользователь №: 1 560

|
Привет! Необходимо за 0.1 сек передать с at90usb1287 в комп массив данных из 600 чисел типа int Я пользуюсь для этого printf() Код while( buffindex < buffmax ){ printf( "%x %x\r\n", databuff[ buffindex ], databuff[ buffindex + 1 ] ); buffindex += 2; } И получаю очень малую скорость - порядка 100 байт за 0.1 секунды. А нужно порядка 20 килобайт в секунду. Посоветуйте, как можно увеличить скорость, что я делаю не так? За основу я взял AT90USBxxx CDC demonstration с сайта Atmel. Функцию вывода буффера я поместил в функцию cdc_task() Спасибо.
|
|
|
|
|
 |
Ответов
|
Nov 23 2010, 10:11
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Mty @ Nov 23 2010, 14:14)  И получаю очень малую скорость - порядка 100 байт за 0.1 секунды. А нужно порядка 20 килобайт в секунду. Посоветуйте, как можно увеличить скорость, что я делаю не так? Отделите мух (USB) от котлет (printf) и попробуйте найти, кто из них самый медленный. Может быть имеет смысл сначала накидать инфу в буфер (sprintf), так сказать подготовить данные к передаче. А потом уже готовый текст выводить из этого буфера. К стати, почему Вы используете printf? Для конвертации их int в ASCII есть более быстрая функция -- itoa.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Nov 23 2010, 12:24
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Xenia @ Nov 23 2010, 16:57)  Есть где? В стандарте C? Однако же в IAR-компиляторе ее нет и никогда не было. Эта функция из стандартной библиотеки Си. Я использую avr-libc, там она есть. Знаете, Ксения, Вы меня удивили! У меня Венды нет принципиально, поэтому я не могу быстро проверить Ваше утверждение. Но тем не менее, я очень удивлен отсутствию этой функции в столь дорогом (и надо отдать должное -- не плохом) продукте. Как же так? Наверно в стандартной Си-библиотеке IAR-а есть какая-нибудь другая, эквивалентная ей, функция? demiurg_spbБыстрее-то быстрее. Причем значительно. Но как и чем ТС принимает поток данных и что с ним делает, он почему-то ничего не сказал. Может он в текстовый файл этот поток складывает?
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
Сообщений в этой теме
Mty at90usb1287 - малая скорость передачи по USB Nov 23 2010, 09:14 Xenia А приём-то у вас работает? А то как-то странно: pr... Nov 23 2010, 09:28 Mty Цитата(Xenia @ Nov 23 2010, 12:28) А приё... Nov 23 2010, 09:43  shrek Цитата(Mty @ Nov 23 2010, 12:43) Да, рабо... Nov 23 2010, 18:20   Mty Цитата(shrek @ Nov 23 2010, 21:20) А вы б... Nov 24 2010, 08:55    zhevak Цитата(Mty @ Nov 24 2010, 13:55) Попробов... Nov 24 2010, 09:19   mempfis_ Цитата(shrek @ Nov 23 2010, 22:20) Сам ст... Nov 24 2010, 09:23    shrek Цитата(mempfis_ @ Nov 24 2010, 12:23) Это... Nov 25 2010, 07:08 kovigor Цитата(Mty @ Nov 23 2010, 13:14) А нужно ... Nov 23 2010, 09:33  demiurg_spb Передавайте бинарный массив сразу без всяких print... Nov 23 2010, 12:00   MrYuran Цитата(demiurg_spb @ Nov 23 2010, 15:00) ... Nov 23 2010, 12:09   Mty Цитата(demiurg_spb @ Nov 23 2010, 15:00) ... Nov 23 2010, 13:14    zhevak Цитата(Mty @ Nov 23 2010, 18:14) Спасибо.... Nov 23 2010, 13:59   Xenia Цитата(zhevak @ Nov 23 2010, 15:24) Знает... Nov 23 2010, 12:45 Mty Цитата(zhevak @ Nov 23 2010, 13:11) Отдел... Nov 23 2010, 12:44 ARV а вы не рассматривали такую возможность: в WinAVR ... Nov 24 2010, 09:51 Mty Цитата(ARV @ Nov 24 2010, 12:51) а вы не ... Nov 24 2010, 20:37 Xenia А вы еще "double bank mode" включите (эт... Nov 25 2010, 00:02 Mty Цитата(Xenia @ Nov 25 2010, 03:02) А вы е... Nov 25 2010, 08:36  mempfis_ Цитата(Mty @ Nov 25 2010, 12:36) А как по... Nov 25 2010, 08:48   Mty Цитата(mempfis_ @ Nov 25 2010, 11:48) Это... Nov 25 2010, 10:28   shrek Цитата(mempfis_ @ Nov 25 2010, 11:48) Это... Nov 25 2010, 13:02    mempfis_ Цитата(shrek @ Nov 25 2010, 17:02) С друг... Nov 25 2010, 13:32     shrek Цитата(mempfis_ @ Nov 25 2010, 16:32) С a... Nov 25 2010, 13:37      mempfis_ Цитата(shrek @ Nov 25 2010, 17:37) Ну воо... Nov 25 2010, 13:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|