MEGA8 UART prerušení – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

MEGA8 UART prerušení – Mikrokontroléry – Fórum – Programujte.comMEGA8 UART prerušení – Mikrokontroléry – Fórum – Programujte.com

 

johnny
~ Anonymní uživatel
23 příspěvků
21. 11. 2015   #1
-
0
-

čago belo :D Mam taky problem že sem nejaky zmateny s spracovana stringu pri primany.Jak by ste mi doporučili spravovata pomocou preušena prijem nejakeho retazca? potrebujem posilat z PC do uC  čislo od 0-255  jak střidu pro PWM. nech si ten uC jede svuj život a ked zrazu dojdu nejaky znak alebo čislo nech sa prispusoby a potom nech zas jede dal ?? Dekuju

Nahlásit jako SPAM
IP: 89.103.90.–
KIIV
~ Moderátor
+43
God of flame
21. 11. 2015   #2
-
0
-

jestli jen cislo a mezeru/enter, tak jen trivialne:

volatile uint8_t value = 0;
uint8_t temp = 0;

ISR(USART_RXC_vect) {
  uint8_t ch = UDR;
  if (ch>='0' && ch<='9') {
    temp = temp*10 + ch - '0';
  } else if (ch==' ' || ch=='\n') {
    value = temp; // nebo rovnou nastavovat stridu
    temp = 0;
  }
}

// a nekde v cyklu treba:
if (OCR0A != value) OCR0A = value;
Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
johny
~ Anonymní uživatel
87 příspěvků
22. 11. 2015   #3
-
0
-


temp = temp*10 + ch - '0';
nac tam presne toto prosimta? a nebude to len čislo bude tam aj znaky kere určuju smer ide o ovladani motorku.

Nahlásit jako SPAM
IP: 89.103.90.–
KIIV
~ Moderátor
+43
God of flame
22. 11. 2015   #4
-
0
-

#3 johny
tomu se rika prevod z retezce na cislo... pokud je tam vic akci, tak to bude potreba udelat poradne - stavovy automat nebo tak

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
johny
~ Anonymní uživatel
87 příspěvků
22. 11. 2015   #5
-
0
-

nedalo by sa to spravit cez atoi() ??  Stavovy automat v main by byl celkem užitečny ale jak zapisal programovo ? cez switch?

Nahlásit jako SPAM
IP: 89.103.90.–
23. 11. 2015   #6
-
0
-

Stavový automat jde udělat přes switch a potřebuješ proměnnou pro evidování okamžitého stavu. Je dobré si načrtnout diagram jak stavy po sobě následují nebo které stavy mohou následovat po stavu ve kterém jsi.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
johny
~ Anonymní uživatel
87 příspěvků
24. 11. 2015   #7
-
0
-

Ked to robim v PC tak v pohode si spravim nejake enum s stavama a potom postupujem v stavoch a prepinam to ale nevím si to predstavit v procesore.

Nahlásit jako SPAM
IP: 89.103.90.–
25. 11. 2015   #8
-
0
-

V jednočipu to jde udělat taky.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý