дорогие коллеги-программисты!
Я бы очень признателен за несколько ответов или советов, касающихся следующей проблемы:
Тема - Цифровая обработка сигналов (DSP), Code Composer Studio 3.1 и Обмен данными в реальном времени (RTDX), как описано в этой статье. Мне было трудно разобраться в теме, так как я DSP и C - Noob. После того, как я прочитал несколько статей и проработал справочные руководства Code Composer, у меня наконец-то был некоторый успех (да, ЧТО-ТО случается!), Хотя я все еще сталкиваюсь с некоторыми ошибками, которых не понимаю при реализации простого Target-to-Host Обмен данными.
Код, который выполняется на цели (TMS320C6713 DSK), обязан посылать 100 целых чисел, одно за другим:
RTDX_CreateOutputChannel( ochan );
void main()
{
int data = 0;
int status;
TARGET_INITIALIZE();
RTDX_enableOutput( &ochan );
puts( "Start writing!\n" );
while(data < 100){
data++;
/* send an integer to the host */
status = RTDX_write( &ochan, &data, sizeof(data) );
if ( status == 0 ) {
puts( "ERROR: RTDX_write failed!\n" );
exit( -1 );
}
}
while ( RTDX_writing != NULL ) {
#if RTDX_POLLING_IMPLEMENTATION
RTDX_Poll();
#endif
}
/* disable the output channel */
RTDX_disableOutput( &ochan );
puts( "Program Complete!\n" );
}
На хосте я запускаю простую реализацию Java / Jacob в качестве клиента автоматизации OLE, которая записывает полученные целые числа в консоль.
Пока все хорошо, программа работает, НО -> только до целого числа около 86, затем RTDX_write завершается ошибкой.
Как указано в документе, на который я ссылался, "Целевое приложение вызывает подпрограммы в интерфейсе пользовательской библиотеки, которые буферизуют данные и передают их в интерфейс связи." Так, может быть, это проблема с буфером? Тем не менее я не нашел возможности обработать буфер ...
Или, может быть, это просто ошибка программирования nooby, поскольку я сказал, что не имею опыта в C.
Так что любые намеки приветствуются. Возможно, у кого-то есть опыт работы с RTDX и у него были проблемы раньше, или, может быть, кто-то может сказать мне, как я могу узнать больше об этой ошибке. Также я вижу, что эта тема довольно специфична, поэтому, если потребуется дополнительная информация, я могу дать ...
Заранее большое спасибо!
Andy