Код
#include "adl_global.h"
#include "generated.h"
#include "main.h"
#include "adl_traces.h"
s32 I2C_handle;
#define WRITE_BUFF_SIZE 4
u8 WBUFF[WRITE_BUFF_SIZE]={0x20,0x6C,0x3F,0x5D};
adl_busI2CSettings_t I2Cconf = {
0xAA,
ADL_BUS_I2C_CLK_STD,
ADL_BUS_I2C_ADDR_7_BITS,
ADL_BUS_I2C_MASTER_MODE
};
adl_busAccess_t I2Caccess = {
0x00, //general call
0x00
};
void main_task (void) {
//subscribe to I2C bus service
I2C_handle=adl_busSubscribe(ADL_BUS_ID_I2C, 1, &I2Cconf);
TRACE((2, "Writing to the bus"));
s32 resp = adl_busWrite(I2C_handle, &I2Caccess, WRITE_BUFF_SIZE, WBUFF);
TRACE((2, "%d",resp));
}
#include "generated.h"
#include "main.h"
#include "adl_traces.h"
s32 I2C_handle;
#define WRITE_BUFF_SIZE 4
u8 WBUFF[WRITE_BUFF_SIZE]={0x20,0x6C,0x3F,0x5D};
adl_busI2CSettings_t I2Cconf = {
0xAA,
ADL_BUS_I2C_CLK_STD,
ADL_BUS_I2C_ADDR_7_BITS,
ADL_BUS_I2C_MASTER_MODE
};
adl_busAccess_t I2Caccess = {
0x00, //general call
0x00
};
void main_task (void) {
//subscribe to I2C bus service
I2C_handle=adl_busSubscribe(ADL_BUS_ID_I2C, 1, &I2Cconf);
TRACE((2, "Writing to the bus"));
s32 resp = adl_busWrite(I2C_handle, &I2Caccess, WRITE_BUFF_SIZE, WBUFF);
TRACE((2, "%d",resp));
}
В результате, хэндлер норм создается, на шину ничего не отправляется, а ответ от функции adl_busWrite приходит -2, то есть ошибочный параметр. Все вроде по примеру, а работать не хочет.