liqb365 发表于 2014-9-10 17:32:24

关于CSR8670的串口调试

本帖最后由 liqb365 于 2014-9-10 17:35 编辑

坛友们好,想问下各位调试过8670串口的前辈高人,一般8670的串口输出,在经过Claim-->Map-->memcpy-->flush的过程之后,如果flush成功了的话,是否在片子的Tx引脚上就会立刻出现相应的RS232信号?在下UART还没调通,目前Tx脚一直是高电平,希望各位不吝赐教,谢谢。

我的开发环境是ADK2.5.1,配置选项中的Transport一直是Raw。

我的发送函数是这样的:

void UartSend(char *buf, uint16 len){        if ((buf == null) || (len == 0))    {         printf("Uart Send buf is NULL or len is zero\n");    }
    /*sink = StreamSinkFromSource(StreamUartSource());*/    if(sink)    {                  if(SinkClaim(sink, 10) != 0xFFFF)      {            printf("Buf: %s\n",buf);   
            printf("size:%d\n",sizeof(uint8));
            memcpy(SinkMap(sink), buf, sizeof(uint8)*len);             if(SinkFlush(sink, 10))                printf("Flush OK!\n");
            else                printf("Flush Failed!\n");      }
      else      {            printf("Claim Error\n");      }    }
    else    {      printf("Can not send uart\n");    }}

mybtspeaker806 发表于 2014-9-10 20:16:31

正研究CSR8670的UART,顶

xxhuan_2003 发表于 2014-9-11 00:47:47

正在研究86xx系列的东西,顶一个

bluetooth_ble 发表于 2014-9-11 08:33:21

说得非常对,就是这样的。

liqb365 发表于 2014-9-11 08:46:05

bluetooth_ble 发表于 2014-9-11 08:33
说得非常对,就是这样的。

前辈,在下这里从claim到flush的返回值一直是正确的,flush每次都成功,Transport选项也一直是Raw,而8670的串口TX脚从示波器上却一直没有信号的输出,是否在下的代码和配置选项上还有没有注意到的地方呢?

liqb365 发表于 2014-9-11 09:25:57

发送始终调不出来,我去试一下接收。

liqb365 发表于 2014-9-11 14:15:53

顶一下,再仔细研究一下CSR的虚拟机。

bluetooth_ble 发表于 2014-9-12 08:41:20

liqb365 发表于 2014-9-11 08:46
前辈,在下这里从claim到flush的返回值一直是正确的,flush每次都成功,Transport选项也一直是Raw,而867 ...

你在其他型号的芯片上用这种方式试过吗?我认为应该没有问题,很简单的

liqb365 发表于 2014-9-12 08:51:25

bluetooth_ble 发表于 2014-9-12 08:41
你在其他型号的芯片上用这种方式试过吗?我认为应该没有问题,很简单的

是啊,找到了好几个样例代码,都是这几个步骤而已,而且官方文档也翻来覆去的看了,flush返回值提示成功,接收代码也没问题了,就是发送这里输出脚没有信号输出。
我这里只有一个8670的板子,没有尝试过其他的芯片。

liqb365 发表于 2014-9-12 08:55:35

本来还以为是8670的Tx脚虚焊了,但是在ADK开始仿真的时候又有电平的起伏(不是RS232),最后稳定到1.8V高电平,每次都是这样,应该不是虚焊了,但是控制台又显示flush没有问题,实在是当了回丈二和尚啊。:dizzy:
页: [1] 2 3
查看完整版本: 关于CSR8670的串口调试