部分代码如下
while (1) {
//读取32个16进制字符
for (i = 0; i < 32; i++) {
platform_errno = PLATFORM_ERRNO_RESET;
if (platform_uart_read(&buf, 30 * 100000000) == Platform_EOK) {
platform_write("Char %d = %c\n", i, buf);
hexstr[i] = buf;
} else {
platform_write("Char %d = %c (errno: 0x%x)\n", i, buf,
platform_errno);
}
}
}
用串口助手输入32个字符,但是最多只能收到17个字符,之后的就收不到了,不清楚是不是因为FIFO有限制还是什么原因,急切希望得到斑竹的回复。
joddiy zhang:
是C6657的板子
Andy Yin1:
没跑过这个测试例子,STK中有一个UART例子可以通过串口输入输出字符,请参考。
在这个联系往下可以找到EVM6657上的STK: http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx
joddiy zhang:
回复 Andy Yin1:
谢谢,问题我已经解决了。就像其他的帖子说的那样,FIFO寄存器有大小限制,一直最多发17个字符,所以我将32个字符拆为两组,间隔1.5S发送,必须大于1.5s,不然第二组数据收不全。