2013.6.12学习radio其他配置
函数ST_RadioSetCoordinator(TRUE)可以用来使能协调器特征,作为一个PAN里面的老大,协调器可以接受到那些节点发来的数据里面没有目标地址的数据,该节点发来的数据包的bits[10:11]为00,无地址模式,当然,这种无地址模式的数据也只有协调器能够收到。
/*AES加密*/
/* 一个指向128位密匙的指针 */
#define USER_KEY "chixinmu";
uint8_t key[128] = USER_KEY;
uint8_t block[128]; //加密的块
/* 设置AES密匙 */
ST_AesSetKey(key);
/* 对这128位的数据块加密,加密后还是放在原来的位置 */
ST_AesEncrypt(block);
加密好像很厉害的样子,可是解密呢?貌似都没有说。。。。。
/*MAC时钟*/
MAC时钟是一个20位寄存器的时钟,每个滴答有1us,复位一次的时间为1us*2^20约等于1s,在初始化radio的时候MAC时钟就开始跑了,可以通过一下函数取回MAC时钟值
uint32_t mac_timer;
ST_RadioInit(ST_RADIO_POWER_MODE_RX_ON);//初始化radio时MAC时钟就开始运转了
/* 读回MAC时钟值*/
mac_timer =ST_RadioGetMacTimer();
ST_RadioEnableMacTimerCompare(ENABLE);//使能比较MAC时钟值
ST_RadioSetMacTimerCompare(1000000);//设置比较的值
这里开启了MAC时钟比较的函数,可以设置一个值给MAC时钟比较,还有一个回调函数ST_RadioMacTimerCompareIsrCallback(),指的是不是当MAC时钟等于设定的值得时候就会调用回调函数,类似中断那样子的处理?回调函数是个什么东西呢?
/*检测radio能量级*/
int8_t energy_level;
/* 获取radio的能量级 */
energy_level = ST_RadioEnergyDetection();//返回值在-97dbm到-25dbm之间
/*获取radio状态,繁忙或者空闲*/
boolean channel_status;
/* 获取当前信道的状态 */
channel_status = ST_RadioChannelIsClear();
文章评论(0条评论)
登录后参与讨论