č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
Fórum › Mikrokontroléry
MEGA8 UART prerušení
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;
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
V jednočipu to jde udělat taky.
hu
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 1 host
Podobná vlákna
Mega8 UART prijem string — založil TD
Spracovani stringu poslaneho do mega8 z PC cez UART — založil toust
Mega8 a podmínka if — založil Boblig
PWM MEGA8-16PU 1MHz Help — založil Tadeáš
ADC Mega8 vratenie hodnoty (C) — založil Teddy
Moderátoři diskuze