代码拉取完成,页面将自动刷新
#ifndef MYDATATYPE_H
#define MYDATATYPE_H
#include <QReadWriteLock>
#include <QStringList>
#include <QVector>
#include <QQueue>
#include <stdint.h>
//线程数据资源同步
extern QQueue<quint8> threadBuffer;
extern QReadWriteLock rwLock; //读写锁
extern QList<QString> threadBuffer_g; // 与IMU类型不同
extern QReadWriteLock rwLock_g; //读写锁
extern const uint8_t myChar;
extern const uint8_t myUint8_t;
extern const uint8_t myShort;
extern const uint8_t myUint16_t;
extern const uint8_t myInt;
extern const uint8_t myUint32_t;
extern const uint8_t myFloat;
extern const uint8_t myDouble;
extern const uint8_t _3bytesToInt;
extern const uint8_t _2bytesToInt;
extern const QStringList myDataTypeList;
class myDataType
{
public:
myDataType();
union bytesToShort
{
uint8_t buf[2];
short var;
}_2bytesToShort;
short func_2bytesToShort(uint8_t* buffer);
union bytesToUint16
{
uint8_t buf[2];
uint16_t var;
}_2bytesToUint16;
uint16_t func_2bytesToUint16(uint8_t* buffer);
union bytesToInt
{
uint8_t buf[4];
int var;
}_4bytesToInt;
int func_4bytesToInt(uint8_t* buffer);
union bytesToUint32
{
uint8_t buf[4];
uint32_t var;
}_4bytesToUint32;
uint32_t func_4bytesToUint32(uint8_t* buffer);
union bytesToFloat
{
uint8_t buf[4];
float var;
}_4bytesToFloat;
float func_4bytesToFloat(uint8_t* buffer);
union bytesToDouble
{
uint8_t buf[8];
double var;
}_8bytesToDouble;
double func_8bytesToDouble(uint8_t* buffer);
int func_3bytesToInt(uint8_t* buffer); //特殊数据格式: STIM300
int func_2bytesToInt(uint8_t* buffer); //特殊数据格式: MSI310F
void updateEndianMode(int modex);
private:
enum endianMode { little_Endian = 0, big_Endian = 1 };
volatile endianMode endianModex;
};
#endif // MYDATATYPE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。