Testování bitu. – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Testování bitu. – Mikrokontroléry – Fórum – Programujte.comTestování bitu. – Mikrokontroléry – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
zbynek
~ Anonymní uživatel
7 příspěvků
10. 3. 2014   #1
-
0
-

Zdravím,

potřeboval bych radu od zkušenějších. Mám A/D převodník komunikující přes SPI a používám ATmegu8.
V kódu níže inicializuji SPI, poté zapíšu do konfiguračního registru A/D převodníku. Vždy když signál DRDY padne do logické nuly, znamená to, že jsou připravena nová data a mají se vyčíst příslušné registry obsahující výsledek převodu. Avšak provoz po SPI probíhá neustále (tzn. registry jsou zbytečně čteny pořád dokola i když obsahují "stará" data). Používám správně příkaz "while(PORTD & (1<<DRDY));"? Jde mi o to, aby mikrokontrolér počkal na log.0 na DRDY a až pak vyčetl obsah registrů. Napadlo mě, že by to mohlo být optimalizací, ale po vypnutí se nic nezměnilo. DRDY je na pinu PD2 a je nastaven jako vstup. Předem děkuji za rady.

void main(void)
{
  uint16_t ADC_Code = 0;
  spi_init_master();    
  spi_write(Configuration_write, 0xC1);
  while (1)
  {
    while(PORTD & (1<<DRDY));        
    ADC_Code |= spi_read(Reg_MSBs) <<8;
    ADC_Code |= spi_read(Reg_LSBs);
   }
}

Nahlásit jako SPAM
IP: 89.103.179.–
Reklama
Reklama
KIIV+42
God of flame
10. 3. 2014   #2
-
0
-

muzes pouzit preruseni ..

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
zbynek
~ Anonymní uživatel
7 příspěvků
10. 3. 2014   #3
-
0
-

#1 zbynek
Tak už jsem na to přišel. Stav toho pinu se musí vyčítat z registru PIND a ne PORTD. Achjo, taková blbost...   Až je člověku trapně.

Nahlásit jako SPAM
IP: 89.103.179.–
hlucheucho+10
Posthunter
22. 3. 2014   #4
-
0
-

Ale to přerušení není od věci. Nemusíš nic číst. Po spuštění ADC nastavíš přerušení sestupnou hranou. Při obsluze přerušení ho zakážeš další přerušení od změny úrovně a přečteš data. 

To DRDY mi připomíná Analog Devices....

hu

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

Podobná vlákna

Ocislovani bitu — založil drobas

Změna bitu — založil Huge

NASM - výměna bitů — založil Thomasso

Datový typ - 256 bitů — založil Hlavinka

 

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