Stránka 1 z 1

Přerušení a ADC 14M2

Napsal: 24 úno 2018, 20:41
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

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

Napsal: 24 úno 2018, 22:29
od DavidO
Budu cynický - chybu vidím v používání Picaxe jinak, než na základní příklady, a bez znalosti vnitřku.

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

Napsal: 25 úno 2018, 13:43
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.

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

Napsal: 28 úno 2018, 08:37
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.

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

Napsal: 28 úno 2018, 09:30
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-

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

Napsal: 28 úno 2018, 09:36
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ů"

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

Napsal: 28 úno 2018, 16:24
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.