閉じたライブラリを使用しているCアプリケーションでは、受信アクションが終了したときにコールバックを受け取ります。このコールバックでは、使用するフレームワークがこれを行います。
void callbackRX(event_t ID, callbackData_t *callbackData_p){
rxData_t *dataPacket = (rxData_t *)(callbackData_p->params.rxInfo.dataInfo);
//...
}
このようにcallbackData_t type
見えます:
typedef struct
{
status_t status; // callback status
union
{
sync_t rxSync;
rxInfo_t rxData;
}params;
}callbackData_t;
rxInfo_t
このようなものです:
typedef struct
{
UINT32 dataInfo;
}rxInfo_t;
そしてrxData_t
このような構造体:
typedef struct
{
UINT16 *data_p; // pointer to data
}rxData_t;
今、私のライブラリ提供のコールバックでは、内部からデータを読み取る必要があるdata_p
のでdataPacket
、私はやろうとしました
void callbackRX(event_t ID, callbackData_t *callbackData_p){
rxData_t *dataPacket = (rxData_t *)(callbackData_p->params.rxInfo.dataInfo);
// Read first byte of data from the data pointer
int test;
test = dataPacket->data_p[0];
}
しかし、私が取得する数値は、たとえば14236のように非常に大きな整数であり、受信データは73バイトの大きな配列である必要があるため、256を読み取ることになって256
い512
ます1024
。
私は何が間違っているのですか?