SPI总结

本文详细介绍了使用80c51f021与ads1251进行SPI通信的过程。解析了SPI通信中主机如何产生SCLK信号来读取AD模块数据的具体机制,并解释了为何SPI通信中不能只接收不发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    使用80c51f021和ads1251采用SPI口通信。ads1251接口很简单,只有clk,slk,dout/dready四个数据传输引脚。MCU工作在主模式。提供sclk,一直接收ad采集的值。

    开始不明白MCU如何控制读取AD的值,搜集了一些资料后才知道想要读取AD的值中的SCLK信号也是由mcu提供的。

    首先看一下mcu spi的工作过程:在空闲时SCLK 无信号。当MCU发送数据时SCLK才会产生一个8位的sclk信号将数据发送出去。同理,如果MCU一直无动作是不会有sclk信号的,如果想要读取从机的值只能先往从机发送一个无意义的十六进制数。这时才会在SCLK上出现时钟信号,而此时AD才会将数据通过dout发送出去。也就是说由于SPI通信要由主机产生sck时钟信号,只有存在时钟才从机才能把寄存器内数据发送出去,所以要保证发送的数据使得从机不会产生动作(无效数据),SPI不能只接收不发送,在接收的时候必然也在发送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值