Portál AbcLinuxu, 13. května 2025 18:28

Dotaz: Arduino - spojeni 2 znaku

30.7.2011 16:47 arduino
Arduino - spojeni 2 znaku
Přečteno: 1151×
Odpovědět | Admin
Přílohy:

Mam v Arduinu nasledujici program:

/* ARDUINO.pde */

#include <EEPROM.h>
#define VELIKOST_EEPROM    511

int led = 13;

/* -------------------------------------------------------------- */
void setup(void)
{
 Serial.begin(9600);

 pinMode(led, OUTPUT);
 digitalWrite(led, LOW); 
}

/* -------------------------------------------------------------- */
void loop(void) {
  char nacteno = ' ';
  if (Serial.available() > 0) {
    nacteno = cti();

  switch (nacteno) {
  case 'B': // blikat LED
    digitalWrite(led, HIGH);
    delay(1000); //  [ms]
    digitalWrite(led, LOW);
    delay(1000);
    Serial.print("OK\n");
    break;
    
  case 'S':  // smazat EEPROM
    EEPROMsmazat();  
    Serial.print("OK\n");
    break;    
    
  case 'U':  // nahrat EEPROM z PC
    EEPROMulozit();
    Serial.print("OK\n");
    break;      
    
  default: 
    Serial.print("?\n");    
    break;
  }    
 }
}
/* -------------------------------------------------------------- */
char cti(void) {
  while( !Serial.available() );
  return Serial.read();
}
/* -------------------------------------------------------------- */
void EEPROMsmazat() {
  for (int i = 0; i < VELIKOST_EEPROM; i++)
    EEPROM.write(i, 0);
}
/* -------------------------------------------------------------- */
void EEPROMulozit() {
  EEPROMsmazat();  
  char temp;

  for (int i = 0; i < VELIKOST_EEPROM; i++)
  {
    temp = cti();
    EEPROM.write(i, temp);
  }  
}
/* -------------------------------------------------------------- */

Pres seriovy port tam poslu znak a podle toho se vykona prislusna akce.

Kdyz ale potrebuju nahrat data z PC do EEPROM, tak se to ulozi spatne. (obrazky v priloze) Kdyz z PC poslu FF (255) tak se to neulozi na adresu 0, ale na adresy 0 a 1 na kazdou jedno F.

Daji se ty znaky nejak spojit do jednoho retezce a ulozit na jednu adresu?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Pavel Stárek avatar 30.7.2011 16:59 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Arduino - spojeni 2 znaku
Odpovědět | | Sbalit | Link | Blokovat | Admin
A určitě se tam posílá sled bajtů třeba (0xFF, 0x01, 0xAA)? Takhle mi to přijde, že se tam posílá v ASCII znacích například 'F', '1','1', '0' atd.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
30.7.2011 17:43 radek
Rozbalit Rozbalit vše Re: Arduino - spojeni 2 znaku
Odpovědět | | Sbalit | Link | Blokovat | Admin
taky mi prijde ze se to posila jako ascii znak a ne jako cislo v sestnactkove soustave.
30.7.2011 17:45 radek
Rozbalit Rozbalit vše Re: Arduino - spojeni 2 znaku
ha ono to jde rozbalit :)) posilas to v charu,...
30.7.2011 17:59 arduino
Rozbalit Rozbalit vše Re: Arduino - spojeni 2 znaku
A jak to muzu poslat jako cislo v sestnactkove soustave?
Pavel Stárek avatar 30.7.2011 18:21 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Arduino - spojeni 2 znaku
Z toho terminálu co je v tom IDE? Pokud ano, tak tam to nejspíš nejde.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.