Я изучаю датчик газа IAQ_core, используя mbed (плата mbed LPX LPC1768)
, но мне не удалось ..
Я хочу видеть данные на серийном мониторе с газомдатчик.
, пожалуйста, помогите мне
Я пытался другой код ..
AQ_Core::iAQ_Core_status_t
iAQ_Core::iAQ_Core_GetNewReading(iAQ_Core_data_t* myData) (error
//Qualified name is not allowed in "main.cpp")
iAQ_Core::iAQ_Core_status_t iAQ_Core_GetNewReading(iAQ_Core_data_t*
myData)
(Error: Identifier "iAQ_Core_data_t" is undefined in "main.cpp", )
Я пытался с помощью ";"в конце кода, но получил ту же ошибку.
Я попытался удалить int main (), но получил ту же ошибку.
///////////////////////////////head(iAQ_Core.h)///////////////////////////////////////
#include "mbed.h"
class iAQ_Core
{
public:
typedef enum {
IAQ_Core_ADDRess = 0x5A //address
}IAQ_Core_address_t;
typedef enum { //status
IAQ_Core_STATUS_OK = 0x00,
IAQ_Core_STATUS_RUNIN = 0x10,
IAQ_Core_STATUS_BUSY = 0x01,
IAQ_Core_STATUS_ERROR = 0x80
}iAQ_Core_status_flag_t;
typedef struct { ////
uint16_t pred; //Prediction=byte0 *2^8 + byte1
iAQ_Core_status_flag_t status;
uint32_t resistance; //Resistance = byte4*2^16 + byte5*2^8 + byte6
uint16_t Tvoc; //Tvoc eq = byte7*2^8 + byte8
}iAQ_Core_data_t;
typedef enum {
IAQ_Core_SUCCESS = 0,
IAQ_Core_FAILURE = 1,
I2C_SUCCESS = 0
}iAQ_Core_status_t;
// iAQ_Core ( PinName sda, PinName scl, uint32_t addr ); //
iAQ_Core_status_t iAQ_Core_GetNewReading(iAQ_Core_data_t* myData); //
//}iAQ_Core_I2C_data_t;
private:
I2C i2c; //i2c
uint32_t iAQ_Core_Addr; //
};
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////main.cpp////////////////////////////////////////
#include "iAQ_Core.h"
Serial pc(USBTX, USBRX);
I2C iAQ_Core(p28, p27);
int main() {
pc.baud(115200);
int iAQ_Core_Addr = 0x5A;
iAQ_Core::iAQ_Core_status_t
iAQ_Core::iAQ_Core_GetNewReading(iAQ_Core_data_t* myData)//(error
word)Error: Qualified name is not allowed in "main.cpp"
{
char cmd[9] = { 0 };
uint32_t aux = 0;
/* Get the data */
aux = i2c.read(iAQ_Core_Addr, &cmd[0], sizeof(cmd) /
sizeof(cmd[0]));
/* Update the parameters */
myData->pred = ((cmd[0] << 8) + cmd[1]);
myData->status = (iAQ_Core_status_flag_t)cmd[2];
myData->resistance = ((cmd[4] << 16) + (cmd[5] << 8) + cmd[6]);
myData->Tvoc = ((cmd[7] << 8) + cmd[8]);
//check
if (aux == I2C_SUCCESS) {
printf("SUCCESS");
return IAQ_Core_SUCCESS;
}
else {
printf("FAILURE");
return IAQ_Core_FAILURE;
}
}
}
Ошибка: квалифицированное имя не разрешено в "main.cpp»,