Přerušení a ADC 14M2

Odpovědět
Luděk
Příspěvky: 24
Registrován: 22 úno 2016, 08:47

Přerušení a ADC 14M2

Příspěvek od Luděk » 24 úno 2018, 20:41

Mám dotaz,
potřebuji v programu číst jednou vstup c.0 a jindy zase jej použít pro přerušení. A ejhle, ono mi to nejde...
Jakmile se jednou vstup použije Readadc c.0 ,(reg), tak už to nejde vrátit do digitálního stavu.
Ani příkazem let adcsetup = 0.
A tak už nelze použít pro přerušení - je vyvoláváno stále, i když dám na vstup 5V natvrdo.
Napadá někoho, kde dělám chybu?
Luděk

DavidO
Příspěvky: 481
Registrován: 01 kvě 2013, 21:27

Re: Přerušení a ADC 14M2

Příspěvek od DavidO » 24 úno 2018, 22:29

Budu cynický - chybu vidím v používání Picaxe jinak, než na základní příklady, a bez znalosti vnitřku.

Vladimir66
Příspěvky: 197
Registrován: 02 dub 2014, 15:30

Re: Přerušení a ADC 14M2

Příspěvek od Vladimir66 » 25 úno 2018, 13:43

uz to nekdo hledal.
http://www.picaxeforum.co.uk/showthread ... ogue-input
asi se nevyhnes tomu pohrat si s registry.
mrkni do datasheetu PICky.

Luděk
Příspěvky: 24
Registrován: 22 úno 2016, 08:47

Re: Přerušení a ADC 14M2

Příspěvek od Luděk » 28 úno 2018, 08:37

Nemám rád hloupé rejpálky, jako třeba DavidO... naprosto zbytečný příspěvek...
znalosti vnitřku by asi pomohly, ale jakékoli příklady s tím nemají nic společného.
Prostě jde o to, že stejně tak, jak během programu mohu měnit vstupy a výstupy, kdykoli a jakkoli,
tak mne zarazil fakt, že se port neumí (nebo nevím jak) vráti z ADC zpět do digital modu.
A o to šlo v mém dotazu na foru.

Vladimir66
Příspěvky: 197
Registrován: 02 dub 2014, 15:30

Re: Přerušení a ADC 14M2

Příspěvek od Vladimir66 » 28 úno 2018, 09:30

tohle nefunguje ?
let adcsetup = %0000000000001111 ; nastaví ADC0,1,2,3
nula ti to zpatky nenastavi na digital ?
jedna je vec je digitalni rezim a druha je detekce preruseni.
problem je tedy v preruseni a ne v digitalnim modu.
jak jsem odpovidal v jinem prispevku, je treba mrknout do datasheetu PICky
a mozna nastavit/shodit nejaky flag v prislusnem registru
https://www.google.cz/url?sa=t&rct=j&q= ... h6m5kxMXn-
Naposledy upravil(a) Vladimir66 dne 28 úno 2018, 10:10, celkem upraveno 4 x.

jova
Příspěvky: 248
Registrován: 16 pro 2013, 11:40

Re: Přerušení a ADC 14M2

Příspěvek od jova » 28 úno 2018, 09:36

Ještě bych to zkusil na jiném typu procesoru. Mám pocit, že se mi ta 14M2 v jedné konstrukci s přerušením chovala taky nestandardně :roll:

Když tak pročítám: http://www.picaxe.cz/wp-content/uploads/Adcsetup.pdf,
je otázkou, zda tím příkazem let adcsetup = 0 zapínáš ten správný vstup viz:
"U PICAXE řady M2 je nejjednodušší nastavit adcsetup bite automaticky pomocí příkazů
readadc, readadc10 a touch. U těchto typů PICAXE se dá příkaz adcsetup reálně využít jen k
přepnutí pinu z digitálního módu na analogový a naopak."
A hlavně poslední odstavec:
"PICAXE řady M2
Individuální nastavení masky pinů"

Luděk
Příspěvky: 24
Registrován: 22 úno 2016, 08:47

Re: Přerušení a ADC 14M2

Příspěvek od Luděk » 28 úno 2018, 16:24

Už to šlape... díky Vladimire66 :-)
ono je NUTNE, před každým požadavkem na přerušení ten ADC příkazem let adcsetup..... vypnout.
Díky moc a hezký den všem.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host