微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请问哪里有cc2541的I2C相关的开发例程?谢谢!

请问哪里有cc2541的I2C相关的开发例程?谢谢!

时间:10-02 整理:3721RD 点击:

我在cc2541.h文件中看到了下面的寄存器定义,但是不知道各个寄存器怎么使用的。麻烦哪位大神可以给我解释一下或者给我一个开发例程链接?非常感谢!

/* I2C */
#define I2CCFG          XREG( 0x6230 )
#define I2CSTAT         XREG( 0x6231 )
#define I2CDATA         XREG( 0x6232 )
#define I2CADDR         XREG( 0x6233 )
#define I2CWC           XREG( 0x6234 )
#define I2CIO           XREG( 0x6235

我能大概猜出这些寄存器有这样的意思:

#define I2CCFG XREG( 0x6230 ) //I2C配置寄存器
#define I2CSTAT XREG( 0x6231 ) //I2C状态寄存器
#define I2CDATA XREG( 0x6232 ) //I2C数据寄存器
#define I2CADDR XREG( 0x6233 ) //I2C地址寄存器

但是我不知道每一个寄存器该怎么设置,谁能告诉我这些寄存器的配置方法?谢谢!

可以去官方下载一个SDK,里面有Sensor Tag的例程,里面的sensor都是I2C接口的,可以找一个看看就行啦

C:\Texas Instruments\BLE-CC254x-1.4.1.43908\Projects\ble\SensorTag

HG

可以去官方下载一个SDK,里面有Sensor Tag的例程,里面的sensor都是I2C接口的,可以找一个看看就行啦

C:\Texas Instruments\BLE-CC254x-1.4.1.43908\Projects\ble\SensorTag

1. 我看过Sensor Tag例程,里面并没有解释上述寄存器的功能,同时又多出了如下的一些寄存器定义:


#define I2C_ENS1 BV(6)
#define I2C_STA BV(5)
#define I2C_STO BV(4)
#define I2C_SI BV(3)
#define I2C_AA BV(2)
#define I2C_MST_RD_BIT BV(0) // Master RD/WRn bit to be OR'ed with Slave address.

#define I2C_CLOCK_MASK 0x83

#define I2C_PXIFG P2IFG
#define I2C_IF P2IF
#define I2C_IE BV(1)

上面的BV()是什么意思啊?

2. #define  I2C_WRAPPER_DISABLE()  st( I2CWC=0x0C;)

  上面语句里的st()又是什么意思啊?

谢谢解答!

BV(n)是宏定义,作用为将数字1左移n位

#define st(x)      do { x } while (__LINE__ == -1) ,就是X执行一次。

我用了模拟I2C的方式实现了。

用硬件i2c应该也是可以的,正如HG所说的那样。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top