Új vagyok itt is meg hardware programozásban is valamennyire.
Az alábbi kódrészletnek az lenne a lényege, hogy egy eszköz különböző gombnyomással indítva más funkciót lát el. Ez még működik is. Csakhogy az előző állapotot is megakarom őrizni, így gombnyomás nélkül indítva is működjön. Erre kellene az EEPROM.
A probléma az, hogy nem azt olvassa ki az eeprom-ból, amit kellene. Sokszor olyan mintha 4-es lenne a memóriában, mert joystick-ként jön be ha nem nyomok gombot.
Tudna valaki ebben segíteni?
Köszi
Ja és a lényeg:
Kód: Egész kijelölése
int main(void)
{
Buttons_Init();
uint8_t ButtonStatus_LCL = Buttons_GetStatus();
if (ButtonStatus_LCL & BUTTONS_BUTTON2)
{
if(eeprom_read_byte((uint8_t*)1) != 2)
{
MODE = 2;
eeprom_write_byte((uint8_t*)1, MODE);
}
}
if (ButtonStatus_LCL & BUTTONS_BUTTON3)
{
if(eeprom_read_byte((uint8_t*)1) != 3)
{
MODE = 3;
eeprom_write_byte((uint8_t*)1, MODE);
}
}
if (ButtonStatus_LCL & BUTTONS_BUTTON4)
{
if(eeprom_read_byte((uint8_t*)1) != 4)
{
MODE = 4;
eeprom_write_byte((uint8_t*)1, MODE);
}
}
switch(eeprom_read_byte((uint8_t*)1))
{
case 2: SetupHardware_Key();
main_keyboard();
break;
case 3: SetupHardware_Mouse();
main_mouse();
break;
case 4: SetupHardware_Joy();
main_joystick();
break;
}
return 0;
}
