Zitat von
Dirk
Auch ratlos: Dirk
Kannst du in Main mal die Variable adcLSL z.B. alle 500ms ausgeben?
Kann ich versuchen, weiß aber nicht recht was du meinst!? Ausgeben wo/wie?
Hier ist die "Main", wie sie im Moment bei mir aussieht (rot meine Einfügungen):
Code:
/*****************************************************************************/
// Main function - The program starts here:
int main(void)
{
initRP6M256();
initLCD();
// UART1 Initialisierung für Steuerung Speakjet
cli(); // Disable global interrupts.
UBRR1H = UBRR_BAUD_LOW_WIFI >> 8; // Setup UART1: Baud is Low Speed (9600)
UBRR1L = (uint8_t) UBRR_BAUD_LOW_WIFI;
UCSR1A = 0x00;
UCSR1C = (0<<UMSEL10) | (0<<UMSEL11) | (1<<UCSZ11) | (1<<UCSZ10);
UCSR1B = (1 << TXEN1) | (1 << RXEN1) | (1 << RXCIE1);
clearReceptionBuffer1();
sei(); // Enable Global Interrupts
// Ende der UART1 Initialisierung
writeString_P("\n\nRP6 CONTROL M32 I2C Master Example Program!\n");
writeString_P("\nMoving...\n");
// ---------------------------------------
WDT_setRequestHandler(watchDogRequest);
BUMPERS_setStateChangedHandler(bumpersStateChanged);
ACS_setStateChangedHandler(acsStateChanged);
BATTERY_setLowVoltageHandler(batteryVoltageLow);
// ---------------------------------------
I2CTWI_initMaster(100);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady);
I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
setLEDs(0b1111);
// I2C auf der Basis sicher wecken
I2CTWI_transmitByte(0, 0);
mSleep(200);
I2CTWI_transmitByte(0, 0);
showScreenLCD("################", "################");
mSleep(500);
showScreenLCD("I2C-Master", "Behaviours");
mSleep(1000);
setLEDs(0b0000);
// sende Begrüßung zum SpeakJet
sound_rp6_ready();
mSleep(2000);
// Scheinwerfer-Steuerung
controlHeadlights();
// ---------------------------------------
// Setup ACS power:
I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_ACS_POWER, ACS_PWR_MED);
// Enable Watchdog for Interrupt requests:
I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_WDT, true);
// Enable timed watchdog requests:
I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_WDT_RQ, true);
startStopwatch1();
startStopwatch2();
startStopwatch3();
showScreenLCD("Active Behaviour", "");
while(true)
{
task_LCDHeartbeat();
task_checkINT();
task_I2CTWI();
behaviourController();
}
return 0;
}
Meinst du, ich soll die adcLSL auf dem LCD ausgeben? Wenn ja, wie?
Sorry für viel dumm
Uwe
Lesezeichen