2017.10.16(I2C和SPI)

作者: jasonchenjh | 来源:发表于2017-10-17 09:34 被阅读0次

今天总工做了两个工作:

1.触摸按键驱动调试完成:

  使用I2C总线通信,主机nrf51822,从机CSS112FE芯片。利用nordic提供的库函数操作i2c通信,这个库函数封装的很好,简洁易用,但是调试过程中也出现一些问题:

  ①i2c写:写的过程中总是有时写成功有时有时不成功,查看原因:一方面是因为i2c总线没有接上拉电阻不稳定,另一方面原因是利用库函数一次操作成功率低,库函数并没有一个很好的失败重试以及超时功能,我把失败重试以及超时功能添加上去就很好的解决这个问题了。

  ②i2c读:我的主要卡在读的上面了,主要还是自己使用库函数api查看不到位,读的时候库函数有个true和false判断,写的时候选择false读的时候应该选择true这个改了后就读成功了。

③i2c地址:通常我们在使用i2c总线的时候是需要在地址的最后一位添加读写位,但是在nrf51822 库函数使用时是不需要添加的全部在函数内部完成了,因此要读写直接写原始地址。

2.外部flash  MX25L1606E的调试

  MX25L1606E是16Mb(2MK)大小,512个扇区,32个块,利用SPI总线通信的flash。调试过程中也遇到了一些问题:

①片选问题:其实这个很简单,由于使用nordic的nrf51822芯片不熟练导致片选一直未成功。IO输出CS引脚为低配置问题。

②硬件mx25l1606e问题,在硬件上芯片的vcc独立,wp引脚接到 电容上,没有接vcc也没有接IO,通常设计是和vcc接在一起的。所以这个问题导致芯片一直不工作。

③另外就是普通的字读和字节写了,这个仅仅是逻辑问题,多调试即可。因为使用nrf51822的库函数使通信变得很简单。

具体nrf51822的i2c和spi总线的具体写法和原理介绍,见我的专题蓝牙nrf51822介绍。

有不对的地方敬请指出。

相关文章

  • 2017.10.16(I2C和SPI)

    今天总工做了两个工作: 1.触摸按键驱动调试完成: 使用I2C总线通信,主机nrf51822,从机CSS112...

  • MarkDown的常用语法

    MarkDown的常用语法 无序列表 I2C驱动 SPI驱动 SPI简介 SPI的时序 链接和图片 简书[图片上传...

  • 12.13每日总结

    今天我们这里学习的是SPI和iIC通讯,SPI通讯比较麻烦一些,SPI是4根线,I2C优点在于可以用2根线传输数据...

  • I2C和SPI和UART的区别

    1,名字不同 SPI(serial peripheral interface:串行外设接口) I2C inter ...

  • 2018-01-15课后总结

    今天学习了SPI,即串行外设接口。SPI最早由摩托罗拉公司提出,特点是一主多从,与I2C相比速度要快许多。SPI由...

  • ATTiny24/44/84 使用USI接口实现SPI从机功能

    ATTiny系列的芯片都不带硬件SPI,但是能用USI接口模拟。 USI设计的比较简单,但是能实现SPI,I2C,...

  • 11.20

    今天讲了spi eeprom i2c下午助教老师讲了讲解了一下mcp23008芯片得各个引脚功能 I2C开始...

  • 用Arduino玩ESP32(07):常用词汇释义

    SPI I2C(IIC) UART nodemcu-32s开发板的默认pin定义

  • 三种串行总线的区别

    SPI、I2C、UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral...

  • 11/17

    今天学了i2c,觉得和spi串口有一些差别,接受程度不太好,下午魏老师讲课很受益。

网友评论

    本文标题:2017.10.16(I2C和SPI)

    本文链接:https://www.haomeiwen.com/subject/zppruxtx.html