打印
[技术问答]

初识spi

[复制链接]
562|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shen_hao|  楼主 | 2017-7-15 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在论坛上有看到说,spi只想写数据是,也要有相应的读动作。于是,每次读写都这样是必须的吗?
uint8_t SpiReadWriteByte(uint8_t data_tx)
{
                uint8_t temp;
        /* Write to TX register */
                SPI_WRITE_TX(SPI0, data_tx);
                /* Check SPI0 busy status */
                while(SPI_IS_BUSY(SPI0));
                /* Read received data */
                SPI_READ_RX(SPI0);
        return temp;
}

沙发
shen_hao|  楼主 | 2017-7-15 17:10 | 只看该作者
怎么使用spi用中断的方式去接收数据,应该注意什么?

我尝试使能RX  HTRE,但接收不到数据!!!

使用特权

评论回复
板凳
小S咯| | 2017-7-15 17:13 | 只看该作者
uint8_t SpiReadWriteByte(uint8_t data_tx)
{
                uint8_t temp;
        /* Write to TX register */
                SPI_WRITE_TX(SPI0, data_tx);
                /* Check SPI0 busy status */
                while(SPI_IS_BUSY(SPI0));
                /* Read received data */
                temp=SPI_READ_RX(SPI0);
        return temp;
}
改成这样试试,SPI是收发同时的,写的时候会读,如果要读的数据就定义变量保存它,如果不要就不理。

使用特权

评论回复
地板
zhuotuzi| | 2017-7-15 17:42 | 只看该作者
用官方的例子看看啊

使用特权

评论回复
5
huangcunxiake| | 2017-7-15 22:10 | 只看该作者
可以看看SPI的协议。

使用特权

评论回复
6
zhuotuzi| | 2017-7-17 16:14 | 只看该作者
不知道你们聊的哪个啊

使用特权

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

本版积分规则

79

主题

230

帖子

2

粉丝