aESP32, baidist bithaaval pinnile välise taktiga
#1
Arduino (ESP32) ,C++:  Pole just algaja. Probleem: kuidas kirjutada 1-baidise puhvri sisu bit haaval io pinnile välise taktimpulsiga (ca. 15 kHz? Nagu SPI.
shiftOut() ei kõlba, see annab ise clocki välja, mul on vaja iga välise impulsi ajal ühte bitti puhvrist pinnile saata. Kuugel ei leia midagi sihukest. Oleks võimalik bit maski kasutada, aga kuidas sinna väline takt sobitada, ei tea. Olen proovinud attachinterruptiga ( takt teeb katkestuse), aga ei tööta hästi.
Vasta
#2
Pool-raud lahendus oleks see et lisad natuke liimloogikat ja lased välise takti tõusval frondil latchida pordi seisu "libaSPI väljundisse" ning langev front tekitab katkestuse mille käigus prose paneb uue väärtuse porti.
See eeldab et int ei ole sünkros aga on ikkagi kiirem kui 15kHz, see sõltub vist softist ja rtosist ?
Vasta
#3
SPI Slave ei tööta selle jaoks?
Slave saadab sissetuleva takti järgi MISO pinnilt SPDR registrit välja.
Näide teema lõpus.
https://forum.arduino.cc/index.php?topic=130840.0
Vasta


Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 1 külali(st)ne