TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1352R1F3 在SDK2.3中 EasyLink_receiveAsync(RxReceive_amge_Callback, 0),空中有数据来就有响应。现在买了回来的芯片是E版本的,换了2.4的SDK,与CCS8.3了。把原来的2.3代码COPY到2.4中。现在是接收没有响应。能发送成功。用SMARTRF STUDIO 7的抓包能抓到发过来的数据。

CC1352R1F3 在SDK2.3中   EasyLink_receiveAsync(RxReceive_amge_Callback, 0),空中有数据来就有响应。现在买了回来的芯片是E版本的,换了2.4的SDK,与CCS8.3了。把原来的2.3代码COPY到2.4中。现在是接收没有响应。能发送成功。用SMARTRF STUDIO 7的抓包能抓到发过来的数据。 但是只要自己一发射数据,就自己能发生接收回调。但是接收数据不成功。

if(EasyLink_receiveAsync(RxReceive_amge_Callback, 0) != EasyLink_Status_Success)
{
System_abort("EasyLink_receiveAsync failed");
}

//原先只要运行一次  就能接收到一次响应  

while (1) {

uint32_t events = Event_pend(radioOperationEventHandle, 0, RADIO_EVENT_ALL, BIOS_WAIT_FOREVER);//

if(events & RADIO_EVENT_JOIN_NWK_RECEIVED)
{
Nwk_Join_Key_func();
}

if(events & RADIO_EVENT_ACK_JOIN_PACKET_RECEIVED)
{
Ack_Nwk_Join(be_rx_packet.srcAddr);
if(EasyLink_receiveAsync(RxReceive_amge_Callback, 0) != EasyLink_Status_Success)
{
System_abort("EasyLink_receiveAsync failed");
}
}

if(events & RADIO_EVENT_ACK_OUT_NWK_PACKET_RECEIVED)
{
Mac_DeleteDevice_Ieee_Infor(be_rx_packet.srcAddr);
Send_Packet_broadcast(be_rx_packet.srcAddr,ApiMac_IeeeAddrExt,Beacon_Ack_Out_Nwk);
}

if(events & RADIO_EVENT_SEND_DATA_PACKET_RECEIVED)
{
Receive_Sensor_Data(&re_sensor,be_rx_packet);
if(EasyLink_receiveAsync(RxReceive_amge_Callback, 0) != EasyLink_Status_Success)
{
System_abort("EasyLink_receiveAsync failed");
}
}

if(events & RADIO_EVENT_BROADCAST_PACKET_RECEIVED)
{
broadcast_analyze=Broadcast_Data_proc(&RxPacket,&temp_broadcast_retransmission_info,sim868_netstatus);
if(broadcast_analyze==gprs_route)
{
//发送邮箱-
Mailbox_post(sensor_data_mbxHandle, &be_rx_packet, BIOS_NO_WAIT);
Event_post(concentratorEventHandle, CONCENTRATOR_EVENT_GPRS_DATA);

}
else
if(broadcast_analyze==direct_route)
{
RxPacket_copy_txpacket(&RxPacket,&txPacket);
packet_type=Beacon_Broadcast;
Event_post(radioOperationEventHandle, RADIO_EVENT_TRANSMIT_PACKET);
}
}

if(events & RADIO_EVENT_TRANSMIT_PACKET)
{
Send_Packet_broadcast(ApiMac_IeeeAddrExt,ApiMac_IeeeAddrExt,packet_type);
}

if(events & RADIO_EVENT_INVALID_PACKET_RECEIVED)
{
if(EasyLink_receiveAsync(RxReceive_amge_Callback, 0) != EasyLink_Status_Success)
{
System_abort("EasyLink_receiveAsync failed");
}
}

}
}

gui tan:

是把2.3的.C文件覆盖了2.4中的,C的文件

Viki Shi:

版本的移植建议参考SDK中的migration guide,另,最新的SDK已经是3.10了,如果要更新,不如用最新版

赞(0)
未经允许不得转载:TI中文支持网 » CC1352R1F3 在SDK2.3中 EasyLink_receiveAsync(RxReceive_amge_Callback, 0),空中有数据来就有响应。现在买了回来的芯片是E版本的,换了2.4的SDK,与CCS8.3了。把原来的2.3代码COPY到2.4中。现在是接收没有响应。能发送成功。用SMARTRF STUDIO 7的抓包能抓到发过来的数据。
分享到: 更多 (0)