Přerušení a ADC 14M2

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

Přerušení a ADC 14M2

Příspěvek od Luděk »

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: 1133
Registrován: 01 kvě 2013, 21:27

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

Příspěvek od DavidO »

Budu cynický - chybu vidím v používání Picaxe jinak, než na základní příklady, a bez znalosti vnitřku.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

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

Příspěvek od Vladimir66 »

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: 82
Registrován: 22 úno 2016, 08:47

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

Příspěvek od Luděk »

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: 385
Registrován: 02 dub 2014, 15:30

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

Příspěvek od Vladimir66 »

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: 361
Registrován: 16 pro 2013, 11:40

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

Příspěvek od jova »

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: 82
Registrován: 22 úno 2016, 08:47

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

Příspěvek od Luděk »

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