This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS:用于 MSP430f5529的 XBee 头文件(XBee.h)

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/646604/ccs-xbee-header-file-xbee-h-for-msp430f5529

工具/软件:Code Composer Studio

HII... 我目前正在从事一个为工业目的设计的项目。 但我对 XBee 正常模式有一些问题。 因此我计划将其更改为 API 模式。

如果有人拥有 XBee 的头文件。 请告诉我、这对我的项目很有用

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Birla、

    我不知道 MSP430的任何 XBee 头文件、但对 E2E 论坛的快速搜索发现了以下两个我认为您可能感兴趣的链接。 您能看一下他们、告诉我他们是否能帮助您?

    e2e.ti.com/.../84063
    www.add.ece.ufl.edu/.../Interfacing_XBEE_K_Hale.pdf

    此致、
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复... 实际上、问题是使用 API 模式将数据从客户端发送到服务器。 我已经连接了透明模式。 这就是将数据从服务器接收到客户端的解决方案。   

    但使用 API 模式的接口现在给了我一个问题

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Birla、

    我尝试使用 MSP430与 XBee 一起搜索其他项目、但那里没有太多东西。 如果您可以提供有关出错情况的更多详细信息、我可以尝试指导您完成调试工作。

    此致、
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我实际上解决了这个问题。 对此代码有任何更改或建议请告诉我... 代码如下所示

    unsigned char gbee API (volatile char * ptr)

    gbee 格式;
    unsigned int m=0;
    unsigned char i=0;
    unsigned char j=0;
    //13unsigned char l=0;
    unsigned char z=0;
    unsigned int length = 0;
    长度=0x0E + t_l;

    format.delimiter = 0x7E;
    API_FRAME[z]= format.delimiter;//格式的起始字节(定界符)
    Z++;
    format.length[0]= length & 0xFF00;
    api_frame[z]= format.length[0];//长度的 MSB 字节(格式数据的长度
    Z++;

    format.length[1]= length & 0x00FF;
    api_frame[z]= format.length[1];//长度的 LSB 字节
    Z++;

    format.frame_type = 0x10;
    api_frame[z]= format.frame_type;//帧类型
    Z++;

    format.frame_id = 0x01;
    api_frame[z]= format.frame_id;//帧的 ID
    Z++;

    format.dest_addr64[0]=(mac_address >>(8*7))& 0xff;//目标64位的 Mac 地址
    format.dest_addr64[1]=(Mac_address >>(8*6))和0xff;
    format.dest_addr64[2]=(Mac_address >>(8*5))和0xff;
    format.dest_addr64[3]=(Mac_address >>(8*4))和0xff;
    format.dest_addr64[4]=(Mac_address >>(8*3))和0xff;
    format.dest_addr64[5]=(Mac_address >>(8*2))和0xff;
    format.dest_addr64[6]=(Mac_address >>(8*1))和0xff;
    format.dest_addr64[7]=(Mac_address >>(8*0))和0xff;
    for (i=0;i<8;i++)

    M += format.dest_addr64[i];
    API_FRAME[z]= format.dest_addr64[i];// TX ->数据
    Z++;


    format.dest_addr16[0]= 0xFF;//目的地址16位
    format.dest_addr16[1]= 0xFE;
    for (j=0;j<2;j++)

    M +=format.dest_addr16[j];
    API_FRAME[z]= format.dest_addr16[j];// TX ->数据
    Z++;


    format.brod_rad = 0x00;//
    API_FRAME[z]= format.brod_rad;// TX ->数据
    Z++;

    format.option = 0x00;
    api_frame[z]=format.option;// TX -> data
    Z++;

    //strcpy (*j->rf_data、ptr);
    volatile unsigned int k;
    对于(k=0;k<=(t_l-1);k++)

    format.rf_data[k]= ptr[k];
    m += format.rf_data[k];
    api_frame[z]= format.rf_data[k];// TX -> data
    Z++;

    // format.length++;

    //format.rf_data[t_l]='\0';


    m=m+format.frame_id + format.frame_type + format.brod_rad + format.option;


    M = 0xFF & m;
    format.cheksum = 0xFF - m;
    API_FRAME[z]= format.cheksum;// TX ->数据
    Z++;
    for (i=0;<z;i++))

    字符数据;
    data=api_frame[i];
    while (!(UCA0IFG&UCTXIFG));
    UCA0TXBUF = DATA;// TX -> DATA


    返回0;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Birla、

    我很高兴听到您能够解决这个问题。 我不熟悉 XBee 及其协议、因此我无法保证您的代码的正确性、但感谢您发布它、这样其他人可能会受益。 您能否描述一下问题是什么以及您也更改了什么来解决它?

    此致、
    Caleb Overbay