打印
[技术问答]

关于spi

[复制链接]
653|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shen_hao|  楼主 | 2017-9-24 14:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
spi, ge, TE, ETC, tc
今天尝试写spi通讯,先发长度:将要发的数据长度。然后再发数据。但是这个getchar不能省,省掉的话,最后打印的数据就全是‘0’,从机没有数据打印。另,这是主机程序,从机在一楼。问题:哪位大神能帮助我把这个getchar拿掉???
Spi0WriteRead(gUART0_in_count);
          getchar();               
    do
    {

//                        if(SPI_GET_TX_FIFO_FULL_FLAG(SPI0)==0 || SPI_GET_RX_FIFO_EMPTY_FLAG(SPI0) == 0)
                        {
        temp=Spi0WriteRead(UART0_rec[tx_i++]);
                          //if(temp != 0xff)
                                {
                                        SPI_rec[rx_j++]=temp;
                                }
                        }
    while(tx_i<gUART0_in_count);
                 rx_j=0;
               
                 for(rx_j=0;rx_j<16;rx_j++)
        {
                printf("%d,",SPI_rec[rx_j]);
                if(rx_j%20 == 0)
                {
                        printf("\n");
                }


沙发
shen_hao|  楼主 | 2017-9-24 14:31 | 只看该作者
问题找到了,是因为从机接收数据(长度),我把它打印出来,导致的问题。。。

使用特权

评论回复
板凳
mintspring| | 2017-9-25 15:08 | 只看该作者
是不能打印?

使用特权

评论回复
地板
mintspring| | 2017-9-25 15:09 | 只看该作者
打印的时候要先读到一个缓冲区,然后用Printf打印吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

230

帖子

2

粉丝