我想读取蓝牙LE芯片CC2541的MAC地址。这存储在存储单元0x780C中。我经历了
osal_snv_read
功能,但我不知道osalSnvId_t id是什么。关于这种工作方式的简要说明非常有用。
答案 0 :(得分:2)
显然,使用osal_snv_read无法读取存储MAC地址的位置。所以要么我必须使用
GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);
后
GAPROLE_STARTED
或者我必须使用
__xdata __no_init uint8 mac_id[6] @ 0x780C;
__ xdata说是从XDATA内存读取而__no_init告诉编译器不要初始化这个变量。此外,这必须保持在任何功能之外,以防止它声明为自动变量。
致谢:http://e2e.ti.com/support/low_power_rf/f/538/t/273968.aspx
答案 1 :(得分:-1)
osalSnvId_t
是uint的typedef,uint8或uint16。该值将介于0x00和0xFF之间。
最高为0x7F的较低值是为Zigbee保留的,这些位置将在头文件的某处用宏定义。
您可以根据自己的目的使用0x80到0xFE之间的值。
osal_snv_write( 0x80, 6, "hello" );
osal_snv_read( 0x80, 6, mybuf );