原创 USB3.0芯片终于出来了(45)_UsbI2cRegMode固件程序分析

2014-6-6 10:33 2930 15 15 分类: MCU/ 嵌入式 文集: USB3.0芯片终于出来了

        接前一篇。

        按照CYPRESS公司提供的模板,用户可以在此基础上修改代码,以实现自己的特定的开发需求。UsbI2cRegMode例程比较明显地示例了I2C总线的用法,做说明如下:

        1、使能I2C模块,代码如下,

liangziusb_cyusb3014_45_0.jpg
        上图中1是使能I2C模块,2是配置各个模块的函数CyU3PDeviceConfigureIOMatrix()。
        2、使能I2C模块后,还需要初使化I2C模块。代码如下,
liangziusb_cyusb3014_45_1.jpg

        上图中1是初使化I2C模块的函数CyFxI2cInit(),主要是设置与I2C通信相关的对数,如24LC256存储器的页大小;通信数率是100K还是400K;是否是DMA传输方式等等等。2是CYPRESS提供的库函数CyU3PI2cSetConfig()。

         3、传输一个字节数据的函数CyU3PI2cTransmitBytes(),这个函数也是CYPRESS提供的库函数,直接用就可以。

        4、数据传输的函数CyFxUsbI2cTransfer()。实际I2C读写数据的操作都是调用此函数完成的,在其函数实现部分,是调用上面3的单字节数据读写CyU3PI2cTransmitBytes(),以实现多个字节数据的读写。代码如下,

 

liangziusb_cyusb3014_45_2.jpg
        I2C读写函数CyFxUsbI2cTransfer()的输入参数较多,掌握了这些输入参数,就可以实现I2C的通信,至于函数内部具体是怎样实现通信的,可能就并不重要了。上图中输入参数共有5个,1是数据读写的起始地址,2是I2C设备的器件地址,3是读写数据的数量,4是待读写数据的存放位置,5是读还是写。

 

(另公布一群号178338109,CYUSB3014开发专业讨论区。)

 

 

我的博客:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM

淘宝店铺:http://shop64171919.taobao.com

良子.2013年    承接USB开发工程  USB毕设指导

QQ:2687652834

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /3 下一条