Fórum témák
» Több friss téma |
Akkor elírtam és ez lesz a helyes:
Feltéve ha a kódnak azt kell csinálnia, hogy ha az UART-ról "OK" stringet kap, "RENDBEN"-el válaszol.
Igen, úgy szeretném.
Most így, ha megkapja az OK-ot, akkor kiírja hogy RENDBEN, de utána mindenre ugyanúgy kiírja. Ezt miért? Ki kellene üríteni a puffert? A hozzászólás módosítva: Máj 22, 2019
Pontosan. pl. memset rutinnal az "OK" beérkezésekor.
Nem a legelegánsabb megoldás, de kényelmes.
Ez így nem oké?
Megfagyasztja az adatolvasást. A hozzászólás módosítva: Máj 22, 2019
Szerintem nem ártana minden karakter vételekor (és induláskor) a lezáró #0 karaktert is előállítani a puffer-ben, mert a kereső addig keres, amíg egy #0 karaktert nem talál. A következő futtatáskor (hacsak nincs törölve a RAM) ugyanúgy ott lesz.
Szerk: Úgy látom közben a kérdezőnél is felmerült ez, induláskor is ki kellene törölni a puffert. A hozzászólás módosítva: Máj 22, 2019
Tehát legyen benne minden kéréskor és küldéskor pl így ?:
Egyáltalán nem erre gondoltam, inkább erre:
Meg még erre:
A hozzászólás módosítva: Máj 22, 2019
Köszönöm, mindkettőtöknek. Úgy néz ki működik
Működik.
A hozzászólás módosítva: Máj 22, 2019
Köszi , úgy lenne a legjobb , ha beletenném az adat olvasást és írást megszakításba?
+ 1 kérdés , text alapú változót hogy csinálhatok? Köszönöm szépen. Idézet: „Köszi , úgy lenne a legjobb , ha beletenném az adat olvasást és írást megszakításba?” Az uart vevő kiszolgálását javasolt megszakításba tenni, hiszen amíg a választ küldi, jöhetnek újabb vett karakterek. A küldést csak akkor érdemes a megszakításba tenni, ha más feladata is van a kontrollernek, amit a várakozás helyett elvégezhetne. A text változó egy karakter tömb. Ilyet csináltál már a puffernek:
Üdv. Ha 18F46K22 SPI modult használom masterként arra, hogy egy LTC1864 A/D SPI adatot fogadjon, mi indítja el a folyamatot? Tehát a PIC órajelet kezd kiadni, amire az A/D adja az adatsorozatot. De mire indul. Köszönöm.
Konfigurálod az SSP modult, és beírsz egy bájtot az SSPBUF-ba.
Érdemes letölteni egy alap SPI könyvtárat valahonnan és megnézni hogy működik.
Köszi. A konfigurálást átnéztem, csak indításról sehol nem írt. Akkor nincs is külön indítás, beírok bármit (mivel ez most felesleges adat masterből kifelé) SSPBUF-ba ami kimegy és ezzel indul SCK és fogadás SDI-n.
Hali!
Az A/D CONV lábát magasra húzod, megvárod a konverziós időt, majd alacsonyra állítod a CONV lábat. Ezután beírsz bármit az SSPBUF-ba, megvárod hogy kimenjen az adat (SSPIF figyelés), beolvasod az SSPBUF tartalmát, ez lesz a felső 8 bit. Ismét beírsz bármit az SSPBUF-ba és megvárod amíg végez vele. Újfent beolvasod az SSPBUF tartalmát, ez lesz az alsó 8 bit. Összefűzöd a kettőt és kész is. Nem nagy hókusz pókusz, csak az MSSP modult kell helyesen felkonfigurálni. És igen az SSPBUF-ba való beírással indul az adat kiküldés.
Köszönöm. Rövidesen próba ha ráérek, szerintem menni fog. Szoftveresen működik, tehát én billegtetem a PIC18F-el a CONV és CLK lábakat, csak így lassú.
Üdv!
A problémám a következő. Éppen egy aktív hangfalat építek, az erősítő része bagatell, na de megcsinálnám távirányítósra. Találtam egy rajzot, pic12f683 van benne. Úgy tudom ezeket programozni kell, viszont az oldalon semmiféle erre való utalást nem találtam. egyszerű ki-be kapcsolás és egy feszültség kimenet ami egy motoros potmétert mozgatna. Ez van is, egy yamaha cuccból kimentve, de akkor most mi is van? Ezt kell programozni, hogyan, miként és honnan vegyek bele programot??? ez az a rajz http://electronics-diy.com/electronic_schematic.php?id=691 A hozzászólás módosítva: Máj 26, 2019
Hol találtad a rajzot?
linkeltem
Igen, jól gondolod programozni kell. Vagy a forráskód vagy a lefordított hex állomány nélkül nem használható. Az általad linkelt oldal csak a kapcsolási rajzot közli, a többi elméletileg egy másik linken lenne alul, de azt nem tudtam megnyitni.
Megtaláltam...nekem sem nyílik. Akkor ez egyelőre felejtős.
Az oldal mindenféle KIT-et árul, könnyen lehet, hogy ez is kapható, pl. felprogramozott kontrollerekkel. Ha így van, nem néztem végig a kínálatot, akkor érthető, miért nem publikus a program.
Ha van valamilyen távirányítód és veszel mellé egy okos vevőt, kb. gyerekjáték vezérelni vele bármit is, a modul mellé szinte csak egy mikrokontroller kell.
superuser, eSDI
Működik az SPI 16MHz órajellel tökéletesen. Köszi segítségeteket.
Akkor szerencséd van, mert az adatlap végén található időzítési táblázatokból csak kb. max. 13 MHz-et kalkuláltam. Az órajel magas és alacsony állapotban eltöltendő minimális időn kívül legalább az átlagos le- és felfutási időt is be kell számítani, így jön ki a periódusidő, melynek reciproka a maximális frekvencia. Ha pedig biztosra akarsz menni, akkor a Worst Case Design elvei szerint mindenhol a legkedvezőtlenebb adatot kell venni.
Én is csodálkoztam, mert a PIC órajele SCK elég gyatra. Csatolt képeken lila szín az órajel CLK, kék szín a CONV, sárga szín az SDO az LTC-n nézve a jelöléseket. Egy kijelző is van a PIC-re kötve, ugyanazokat a számokat detektálja és jeleníti meg a PIC, mint a szkóp dekódere. Stabilnak tűnik, max. 3-4 számjegyet billeg a legkisebb helyiértéken a kétbájtos számnál.
Slew Rate Control
Kapcsold ki és nézd meg újra szkóppal.
Gondoltam alaphelyzet a nulla, nem korlátozott az SRL. Holnap megpróbálom.
|
Bejelentkezés
Hirdetés |