Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: so listopad 13 2021, 14:56 Předmět: DS3231 a nefungující přerušení s ATTiny84
Bastlím zrovna s modulem DS3231 a ATTiny84. Pro komunikaci používám knihovnu i2cmaster. V podstatě modul běží jak má, až na alarm, ten chci aby spustil přerušení každou minutu (případně každou sekundu). Přerušení se ale nevyvolá už ani na úrovni modulu. Pokud mám nastavený SQW výstup na 1Hz (RS0 a RS1 bity na 0), tak vše funguje a na výstupu dostávám 1Hz signál a přerušení ATTiny beží. Pochopil jsem nastavení registrů nějak špatně? Dle datasheetu po zapsaní bytu se adresa inkrementuje, takže v podstatě zapisuji jen hodnoty po určení adresy prvního registru. Pro kontrolu jsem měl na osciloskopu výstup z DS3231 na SQW pinu, ale nic.
Jestli máš Arduino, zkus stáhnout knihovnu k DS3231 a vyzkoušet příklad na nastavení alarmu na tvém harware DS3231. Pokud to pojede, tak od toho se lze odpíchnout a dohledat, co a jak nastavit...
https://www.arduino.cc/reference/en/libraries/ds3231/
Tuším problém v přerušení nastaveném na náběžnou hranu, ale při alarmu je generovaná sestupná hrana. A protože neshodíš bity A1F/A2F ve Status registru, tak se náběžná hrana nikdy neobjeví.
Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: so listopad 13 2021, 18:54 Předmět:
bdn napsal(a):
Jestli máš Arduino, zkus stáhnout knihovnu k DS3231 a vyzkoušet příklad na nastavení alarmu na tvém harware DS3231. Pokud to pojede, tak od toho se lze odpíchnout a dohledat, co a jak nastavit...
https://www.arduino.cc/reference/en/libraries/ds3231/
Nemám arduino, musím si vystačit jen s LEDkami případně "těžkým" seriovým výstupem, který né vždy funguje. Díval jsem se na nějaké knihovny pro arduino, ale nejsem z toho moc chytrý.
lesana87 napsal(a):
Tuším problém v přerušení nastaveném na náběžnou hranu, ale při alarmu je generovaná sestupná hrana. A protože neshodíš bity A1F/A2F ve Status registru, tak se náběžná hrana nikdy neobjeví.
Můžeš mi trošku přiblížit problematiku flag bitů prosím? Nejsem si jistý jestli ji dostatečně chápu. Měl jsem za to, že flag bity se automaticky nastavují, podle funkce a není třeba do nich jakkoliv zasahovat. Stejně tak pro časovače, nebo přerušení na ATTiny/ATmega flag bity tam jsou, ale vůbec s něma nepracuji a časovače i přerušení mi běžně fungují.
Pokusil jsem se po nastavení Control registru na alarm a samotného alarmu nastavit i 0 pro A1F a A2F. Ale bez úspěchu.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.