DSP/BIOS多任务间利用管道对象实现简单音频回放

原创
2012/12/05 10:07
阅读数 251
<!-- lang: cpp -->
Void mytest()
{	
Uint16 *add;
int i,j;

while(1){
	LOG_printf(&trace, "Task mytest() DONE");
	if(PIP_getWriterNumFrames(&pip1)<=0)
		return;
	PIP_alloc(&pip1);
	add=PIP_getWriterAddr(&pip1);
	for(j=0;j<10;j++)
	{
		*add++ = MCBSP_read16(hMcbsp);
		LOG_printf(&trace, "add[%d]=%d",j,*(add-1));
	}
	PIP_put(&pip1);

	TSK_yield();
}
}

Void mytest2()
{
Uint16 *add1;
int i,j;
Uint16 buf[10];

while(1){
	LOG_printf(&trace, "Task mytest2() DONE");
	if(PIP_getWriterNumFrames(&pip1)<=0)
		return;
	PIP_get(&pip1);
	add1 = PIP_getReaderAddr(&pip1);
	for(j=0;j<10;j++)
	{
		buf[j]=*add1++;
		LOG_printf(&trace, "buf[%d]=%d",j,buf[j]);
		MCBSP_write16(hMcbsp,buf[j]);
	}
	PIP_free(&pip1);
	
	TSK_yield();

}
}

备注:void TSK_yield(void) :强制任务切换函数。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部