X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
RF/无线
[讨论] SimpliciTI协议栈移植
donsbin
2016-3-17 15:58
楼主
移植到ST单片机上运行,射频芯片为CC1101~
目前调试一直不能通信,代码用的是ST官方。接收中断根本进不去,节点也不能入网~
千古情怀何寄!
点赞
回复评论 (3)
沙发
donsbin
上代码
int main (void)
{
bspIState_t intState;
smplStatus_t smplSta = SMPL_NO_LINK;
BSP_Init(); //初始化外围接口
disableInterrupts();
smplSta = SMPL_Init(sCB);//初始化协议栈
/* green and red LEDs on solid to indicate waiting for a Join. */
if (!BSP_LED1_IS_ON())
{
toggleLED(1);
}
Send_String(" AP Device Start!!\r\n");
enableInterrupts();
/* main work loop */
while (1)
{
/* Wait for the Join semaphore to be set by the receipt of a Join frame from a
* device that supports an End Device.
*
* An external method could be used as well. A button press could be connected
* to an ISR and the ISR could set a semaphore that is checked by a function
* call here, or a command shell running in support of a serial connection
* could set a semaphore that is checked by a function call.
*/
if (sJoinSem && (sNumCurrentPeers < NUM_CONNECTIONS))//新设备入网
{
toggleLED(1);
toggleLED(2);
/* listen for a new connection */
while (1)
{
if (SMPL_SUCCESS == SMPL_LinkListen(&sLID[sNumCurrentPeers]))//监听ED发起的连接
{
break;
}
/* Implement fail-to-link policy here. otherwise, listen again. */
}
sNumCurrentPeers++;
BSP_ENTER_CRITICAL_SECTION(intState);//临界保护
sJoinSem--;
BSP_EXIT_CRITICAL_SECTION(intState);
}
/* Have we received a frame on one of the ED connections?
* No critical section -- it doesn't really matter much if we miss a poll
*/
if (sPeerFrameSem) //通信数据
{
uint8_t msg[MAX_APP_PAYLOAD], len, i;
toggleLED(1);
toggleLED(2);
/* process all frames waiting */
for (i=0; i<sNumCurrentPeers; ++i)//核对数据帧对应的LINKID
{
if (SMPL_SUCCESS == SMPL_Receive(sLID[i], msg, &len))//接收数据 sLID - LINK ID
{
processMessage(sLID[i], msg, len); //处理
BSP_ENTER_CRITICAL_SECTION(intState);
sPeerFrameSem--;
BSP_EXIT_CRITICAL_SECTION(intState);
}
}
}
}
}
千古情怀何寄!
点赞
2016-3-17 18:08
板凳
lyzhangxiang
只能一点点查外设的配置了
SPI GDOx IRQ 这些硬件
电工
点赞
2016-3-18 12:27
4楼
donsbin
协议栈的功耗有点大,而且上电进行入网的过程是堵塞的~时间也比较长 不知道怎么解决!
千古情怀何寄!
点赞
2016-3-22 20:50
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
疯壳AI 开源无人机I2C(激光测距)
求助(Wince):在oeminit函数里用createthread创建线程出错!!
20年前日本也曾是“模仿大国”
苹果价值145元的抛光布,到底是不是智商税?
TMS32F28335与NRF24L01实现无线通信的问题
为什么说二极管连接的mos管为什么等效电压源,汗。。。
Nucleo心得+第一次接触ST32开发板
双运放这么用有没有隐患?
Sitara AM335x通用EVM硬件用户指南
求教8051与ks0108b接口及C编程
电源变压器的串并联应用
各种PMP解决方案的比较及技术趋势前瞻 [转帖]
STM32F429igt---- 今天把SD卡搞定了
请问,在BSP中应如何修改SDHC驱动,让它支持多个SD设备,请给一些思路.
80C51的LCDTG12864B-01R怎么显示汉字啊?
TPS62150 的输入过压 和 静态电流
树莓派PICO宏键盘
搞LCD的兄弟请加群8134747
进水排水模拟
EEWORLD大学堂----直播回放: Qorvo, muRata, Keysight合作 - UWB市场新机遇
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复