亲爱的程序员!
我非常感谢有关以下问题的一些答案或提示:
主题是数字信号处理 (DSP)、Code Composer Studio 3.1 和实时数据交换 (RTDX),如本文所述。我很难理解这个话题,因为我是 DSP 和 C - Noob。在阅读了一些论文并完成了 Code Composer Help-Tutorials 之后,我终于取得了一些成功(是的,发生了一些事情!),尽管在实现一个简单的 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-programming-error,正如我所说的,我对C没有经验。
因此,任何提示都值得赞赏。也许有人有使用 RTDX 的经验并且之前遇到过问题,或者有人可以告诉我如何找到有关该错误的更多信息。我还看到这个主题是一个非常具体的主题,所以如果需要更多信息,我可以提供......
非常感谢您!
安迪