📄 rtdxbios.c
字号:
/* 每次传输N个int型数,处理后发送回主机*/
#include <std.h>
#include <rtdx.h>
#include"target.h" /* defines TARGET_INITIALIZE() */
#include <stdio.h> /* C_I/O */
#include <log.h>
#include <tsk.h>
#include "rtdxbioscfg.h"
/*保存传输数据的数组*/
int arraydata[];
Void reading(int n);
Void writing(int n);
Void processing(int n);
Void taskend();
Void main()
{
}
/*从输入管道中读数据*/
Void reading(int n)
{
int status;
n=10;
TARGET_INITIALIZE();
/*使能输入、输出通道*/
RTDX_enableInput(&ichan);
RTDX_enableOutput(&ochan);
LOG_printf(&trace,"begin");
LOG_printf(&trace,"reading");
status=RTDX_read(&ichan,&arraydata,4*n);
if (status!=4*n)
{
LOG_printf(&trace, "ERROR: RTDX_read failed!\n" );
exit( -1 );
}
}
/*向输出管道中写数据*/
Void writing(int n)
{
int status;
n=10;
LOG_printf(&trace,"writing");
status=RTDX_write(&ochan,&arraydata,4*n);
if ( status == 0 ) {
LOG_printf(&trace,"ERROR: RTDX_write failed!\n" );
exit( -1 );
}
LOG_printf(&trace,"has been writed to the host");
}
Void processing(int n)
{
int i;
n=10;
LOG_printf(&trace,"processing");
for(i=0;i<n;i+=2){arraydata[i]=-1*arraydata[i];}
}
Void taskend()
{
while ( RTDX_writing != NULL )
{
#if RTDX_POLLING_IMPLEMENTATION
RTDX_Poll();
#endif
}
/*关闭输入和输出通道*/
RTDX_disableInput(&ichan);
RTDX_disableOutput(&ochan);
LOG_printf(&trace, "Program Complete!\n" );
exit(-1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -