单片机SPI调试总结_2022.11.28_11.44

一、SPI做主设备,时钟由主设备给,spi读写函数如下

HL_BYTE SPI_Write_ReadData(HL_DWORD data)
{
    HL_DWORD buf;
    while (Reset == SPI_GetFlag(SPI_UNIT, SpiFlagSendBufferEmpty))
    {
    }
    /* Send data */
    SPI_SendData16(SPI_UNIT, data);  

    while (Reset == SPI_GetFlag(SPI_UNIT, SpiFlagReceiveBufferFull))
    {
    }
    /* Receive data */
    buf = SPI_ReceiveData16(SPI_UNIT);
    return buf; 
}

二、spi根据时钟和上升沿下降沿读取方式分为四种工作模式 :

        模式一:时钟空闲为低、上升沿读取数据

        模式二:时钟空闲为低、下降沿读取数据

        模式三:时钟空闲为高、上升沿读取数据

        模式三:时钟空闲为高、下降沿读取数据

注意:具体需要那种模式得根据从机的芯片手册进行决定

三、spi三线模式和四线模式区别

        百度上看三线模式会告诉你只有:mosi、clk、cs,没有miso,但是实际上miso还是有的,在华大单片机hc32f460jcta单片机上没有的是cs脚的配置,虽然没有miso配置,但是实际上读取数据还是从miso脚读取。注意点:三线模式和四线模式需要根据硬件电路进行选中,首先跟硬件确认是三线模式还是四线模式

四、时钟选择

        spi的时钟由系统主时钟分频出来,比如说系统时钟是72mhz,spi配置非8分频,那么spi的时钟就是9mhz,

五、硬件spi和软件spi区别

1、硬件spi的速率高、软件偏低

2、硬件spi的io口做了限制,不能随便用io,软件可以随便用io口模拟

3、软件spi的延时比较难把握,需要做到ns级别延时

六、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值