hallo,
ich habe den hier weiter unten geposteten code kaum geändert, er lässt sich kompilieren (code:blocks) aber nicht starten, auf dem display des RP6 erscheint sofort wieder die startanzeige...
edit: der mit make compilierter code startet auch nicht...
ich finde den grund nicht...könnte bitte jemand drüberschauen wo diesmal der detailteufel steckt?
Code:
#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_I2CMasterLib.h"
//#include "standard.h"
#define I2C_RP6_BASE_ADR 10
/**************************************/
void I2C_requestedDataReady(uint8_t dataRequestID)
{
checkRP6Status(dataRequestID);
}
/**************************************/
void I2C_transmissionError(uint8_t errorState)
{
writeString_P("\nI2C ERROR - TWI STATE: 0x");
writeInteger(errorState, HEX);
writeChar('\n');
}
/***************************************/
void receiveRC5Data(RC5data_t rc5data)
{
writeInteger(rc5data.key_code,DEC);
/*************/
writeString_P(" | Device Address:");
writeInteger(rc5data.device, DEC);
writeString_P(" | Key Code:");
writeInteger(rc5data.key_code, DEC);
/*************/
writeString_P("\n");
}
/****************************************/
int main(void)
{
initRP6Control();
while(true)
{
task_I2CTWI();
task_checkINT0();
I2CTWI_initMaster(100);
I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady);
I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_ACS_POWER, ACS_PWR_LOW);
mSleep(500);
IRCOMM_setRC5DataReadyHandler(receiveRC5Data);
}
return 0;
}
Lesezeichen