AVR Ledky program – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

AVR Ledky program – C / C++ – Fórum – Programujte.comAVR Ledky program – C / C++ – Fórum – Programujte.com

 

Alfonz
~ Anonymní uživatel
4 příspěvky
9. 5. 2013   #1
-
0
-

Dobrý deň chcem sa opýtať či vie niekto pomôcť trápim sa už istú dobu s triviálnym problémom ako je bitový posun v AVR a realizujem to cez LED, mikroprocesor je použitý Atmega32. A snaženie je také aby sa LED rozsvecovali nasledovne :

---XX---

--X--X-- 

-X----X-

DDRA = 0b11111111; //piny portu A ako výstupné

uint8_t i = 0; //deklaracia i

for(i=0;i<8;i++)

{ PORTA = (??)}

Nahlásit jako SPAM
IP: 158.193.254.–
9. 5. 2013   #2
-
0
-

Počet iterací cyklu zvolíš podle počtu stavů a stavy dáš jako pole, zhruba takto:

const uint8 stav[] = {0x54, 0x33, 0x00}; //stavy, ktere se maji na portu objevit
int i;

for(i = 0; i < 3; i++}
{
  PORTA = stav[i];
  //pockat po dobu po kterou ma stav trvat
}

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Alfonz
~ Anonymní uživatel
4 příspěvky
9. 5. 2013   #3
-
0
-

#1 Alfonz
Sám si odpoviem teda 


DDRA = 0b11111111;
uint8_t i = 0;

for (i=0; i< 4; i++)
{
PORTA = (1<<(4+i)) | (1<<(3-i));
_delay_ms(500);
}


Nahlásit jako SPAM
IP: 158.193.254.–
9. 5. 2013   #4
-
0
-

Bitový posuny jsou hezký, ale tabulka dat "umí" udělat libovolnou sekvenci, navíc ji lze rychle upravit nebo sekvence přepínat (např u světelných efektů). Můžeš si tak i usnadnit návrh hardware, kde nemusí být ledky ve stejném pořadí jako bity portu - často nutnost, když část portu podporuje přerušení nebo je na ní UART nebo jiná potřebná periferie. Kdybys to psal v Assembleru, byla by taková tabulka dat navíc i efektivnější. Zkušenost s řízením krokového motoru nebo 7-segmentového LED displeje.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Alfonz
~ Anonymní uživatel
4 příspěvky
9. 5. 2013   #5
-
0
-

#2 hlucheucho
Alebo možno by to aj tak šlo tento typ zápisu som ešte neskúsil.

Nahlásit jako SPAM
IP: 158.193.254.–
Alfonz
~ Anonymní uživatel
4 příspěvky
9. 5. 2013   #6
-
0
-

#4 hlucheucho
Ale ďakujem za odpoveď najbližšie pri práci s ledkami vyskúšam tento postup  :) a zatiaľ som len amatér tak skúšam všetko možné.

Nahlásit jako SPAM
IP: 158.193.254.–
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, 71 hostů

Moderátoři diskuze

 

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