请问哪里有cc2541的I2C相关的开发例程?谢谢!
我在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所说的那样。