有哪位大神可以讲解一下这个时序图怎么理解?

2019-07-15 11:58发布

224532fq4aqtflezarrjlj.jpg.thumb.jpg
有哪位大神可以讲解一下这个时序图怎么理解啊,比如这里SCK一会儿高电平,一会儿低怎么对应MOSI,MISO的数据读写啊,还有MOSI对八个数据,MISO又读多少个呢?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
紅孩紙隨心
1楼-- · 2019-07-17 08:28
以上是 SPI 读写

自己参考

这个是写函数  把数据value写到addr地址
void NFC_AM4K_WriteReg(INT8U addr, INT8U value)
{
    gpio_write_io(NFC_NSS, DATA_LOW);       //CS low
    NFC_SPI_WriteByte(addr&0x7F);                         //SPI write addr
    NFC_SPI_WriteByte(value);                           //SPI write data
    gpio_write_io(NFC_NSS, DATA_HIGH);      //CS  high
}
/******************
* *        function name:NFC_AM4K_ReadReg
* *        return: value - read the register values
* *         reference number, addr - register address
* *  said: NFC_AM4K register read function
************************************/

这是读函数 从地址addr里读取
INT8U NFC_AM4K_ReadReg(INT8U addr)
{
    INT8U value;
    gpio_write_io(NFC_NSS, DATA_LOW);  //CS low
    NFC_SPI_WriteByte(addr|0x80);                  //SPI write addr
    value = NFC_SPI_ReadByte();                  //SPI write data
    gpio_write_io(NFC_NSS, DATA_HIGH);  //CS high
    return value;
}
苦瓜你好
2楼-- · 2019-07-17 14:14
你应该还不会看时序图吧,你可以百度一下时序图,百度百科讲得很明白。
罗胖胖
3楼-- · 2019-07-17 19:54
这是一个flash的时序图,我们读取时序图的时候要遵循,从上到下,从左到右,最上面的csn代表控制端,类似于cs端,低电平有效,再下来sck是时钟,然后mosi和moso,一个是命令地址等,一个是发送数据。接着我们从左到右,csn为低电平有效,然后时钟也有效,mosi发送一段地址或者命令,miso发送了一段数据。然后自己按照楼上给的程序一步步看吧
idianze
4楼-- · 2019-07-17 21:22
 精彩回答 2  元偷偷看……
鸿宇
5楼-- · 2019-07-17 23:20
时序是从左往右读的,图中的意思的,CSN拉低后开始进行SPI的操作,SPI读取数据是先需要向从设备发送一个字节的读取指令(暂时这么叫吧),即图中的MOSI部分的前八个脉冲(图中描述为C0~C7),此时MISO为(S0~S7)随机状态,然后从设备向主设备发送两个字节,低字节在前。上述中,发送和接收都需要有时钟脉冲的,也就是图中的CLK部分。数据帧结束后,CSN拉高,表示当前数据帧发送或者接收完成了。
满满长路
6楼-- · 2019-07-18 01:01
ElecFans处女座 发表于 2017-2-16 10:28
楼主 我帮你将你的图片重新挂在主题帖里了 并推荐了你的问题 希望你可以得到满意的回答

非常感谢谢

一周热门 更多>