Fórum témák
» Több friss téma |
Nem a PIC-ekből hiányzik, hanem a Flowcode-ból az I2C Slave funkció.
A mezei rx-Tx kapcsolatot flowcoed alatt egy pic-el sem tudtam létre hozni. Elkésnek egymástól. Pedig találtam sok példa programot. Meg a példa programok sem működnek ami a flow-hoz van.
Míg parsic-al elsőre sikerült és működött is vagyis a bekötés és a pic-ek jók. A másik, ha hőmérőket is akarok később használni akkor gondban leszek. És lehet hogy tévedek de RX-TX nem csak 2 eszköz között alkalmazható? Nem fűzhető sorba több. Megkeresem az SPI-re a példát.. Ha jól emlékszem, ott van órajel, adat ki, adat be, és kel 1-1 láb amivel kiválasztom melyik eszköznek küldök adatot?
Sziasztok.
Ma tudtam kicsit faragni a kódon... A poti komponens makrót at kellett tennem a ciklusba. Igy már jól megy élesben is. De a motor felfutását 0-ról max poti értékre nem sikerült megoldani... Valakinek esetleg ötlet....? vagy minta progi ?
Szia!
Pl így.. A hozzászólás módosítva: Okt 20, 2014
Köszönöm...
áttanulmányozom és kipróbálom..
Jó lett...
Köszönöm.. Gondolom ha a speed = speed + 1 értéket 5-re változtatom akkor a felfutás is gyorsul?
Simpi:
Tegnap még sokáig keresgéltem és nem tudom jót találtam-e meg. Master, és slave nevű programokat. De lényegében első ránézésre SPI init majd send, és uninit. feladatok vannak meghívva a makróban. A másikban a küldés helyett fogadás van. Ezen felül keressek a "c" kódjában a fogadó oldalon még valamit? Pl amivel slave módba állítod a pic-et? Vagy ez csak első próba lehetett, és azóta van jobb újabb és keressek tovább. Reggelre leülepedett melóba menet. Még elméleti szinten, és amire emlékszem még, hogy kimenetet akár a timer megszakításban vizsgálni minden szolga picben (jelenleg egy), és csak akkor kitérni egy init, send, uninit (ciklusba) amikor a master pl magasat ad neki, aki ekkor várja az adatot. Ezért az ma esett le, hogyan lehetne szinkronizálni az RX-TX kapcsolatot is akár. Tegnap ki be kapcsoláskor, néha átjutott az adat vagyis nincs a két program szinkronban, hiába ugyan annyi az órajel(20 MHz), máshol tart a program az egyikben, mint a másikban. (elméletben így akár mennyi pic-et párhuzamosan köthetnék, csak az küldene/fogadna, amelyik "össze van párosítva, szinkronizálva, a többi csak a dolgát teszi, nem lépnek küldés fogadás rutinba) (De nem ez a cél) Most ugyan ezt megtaláltam watt hozzászólásai közt 2013-ban. A témában ebbe is bele futottam most este:Bővebben: Link Rövid leírás. Vagyis ha jól értem a cs, vagyis "cable select" módban lehetne használni. A hozzászólás módosítva: Okt 20, 2014
Kedves Hozzáértők!
Egy 18F46K22-őt szeretnék beüzemelni. Az adatlap szerint beállítottam a Flow-ban a ConfigureChip alatt a 64Mhz-hez tartozó beállításokat de csak úgy tűnik hogy 16 Mhz-vel indul el, ugyanis a led csak úgy 4-5 mp periódussal villog. A c kódban hibázok vagy a beállítások rosszak? Előre is köszönöm a segítséget.
Chip konfigurációban:
Watch Dog engedélyezve van, a programban viszont nem törlöd sehol. C kód: Az adatlap szerint az osccon regiszter utolsó előtti bitjének 1-nek kell lennie a belső órajelhez. Szerintem így kellene kinéznie: osccon=0b01110111; osccon2 és osctune elvileg nem kell, a PLL-t a Chip konfigban is meg lehet adni.
Sziasztok!
Megint elakadtam a programmal... Szeretnék egy irányváltó szenzort beépíteni a tekercselőbe. Ha megvan a kívánt tekercselési hossz, ezt egy szenzor figyelné akkor visszafordítaná az irányát a motornak. Az irányváltás megvan, de nem marad, csak addig míg jelet adok, a kapott mintából nem tudtam kihámozni, pedig pár napja nyúzom. Valaki irány mutatást tudna nyujtani ? Előre is köszönöm...
Igen.
Köszönöm. Ahogy elnézem, nagyon messze voltam a megoldáshoz.. mint Makó Jeruzsálemhez....
Sziasztok
Nemrég beszereztem egy 5110-es LCD-t és most nekiláttam hogy foglalkozzak vele de problémába ütköztem. A melékelt programban igyekeztem mindent belőni de nem biztos hogy minden jó met a kijelzön egy vizszontes vonal látszik ami folyamatosan fut fölfelé. A bekötsé: PIC SD= LCD MOSI PIC CL= LCD SCLK PIC CS= LCD D/C PIC reset= LCD RST
Sziasztok..
Kicsit továbbléptem a programmal... megpróbáltam átláthatóbbá tenni, meg LCD - vel kiegészítettem. Azt szeretném megtudni, hogy így működőképes lehet. Nem tudom kipróbálni, nincs lcd-m, de a rutinos szem észre veszi a hibákat...! Ha valakinek van kedve átfutná..... Meg még valami, a Max_menetszám potméter int értékkel van, de szeretném 1024 fölé vinni, gondolom be kell iktatnom egy képletet ??
Megakadtam..
Addig játszottam míg RX-TK-en át nem ment az adat, elfogadtatóan szinkronizálva. Így most SPI vel próbálkozom. A teszt: 2db 16F877A Pic. Dugdosós panelon. 20MHz es kristály és 10K val a Mclr láb tápon. A mester feladata, hogy a hozzá kapcsolt 2*16 os LCD-n kiírjon egy fényerő értéket 0-255 közt amit, a ccp1 es lábon PWM el meghajt egy ledet. Ezt az értéket a szolgától kapja meg mikor a mester RB1es lábán lévő kapcsolót benyomom. A szolga, lényegében egy led fényerejét szabályozza ccp1 lábon pwm el. És mikor a RD7-es lábán magas van, akkor elküldi a fényerő értékét. A két pic kapcsolata. mester - szolga sorrendben. scl - scl sdi - sdo sdo - sdi Eredménynek elvileg annak kellene lennie, hogy ha pillanatra benyomom a gombot akkor egy fényerő értéket átvesz és úgy világít a mester, ha nyomva tartom akkor a két fényerő eggyüt erősödik, halványul. Pic1 - mester Pic2 - Szolga (RX-TX el működött) Hol van a hiba?
Az lcd startot tedd ki a ciklus fölé, és rakj be elé egy pár 100ms -os késleltetést.
És tényleg. Előző RXTX programot módosítottam és kimaradt.
Be tettem oda hol nálad is van. És a SDI beállításoknál feldobott még 3 láb beállítási lehetőséget. Chip adatlapja szerint be állítottam az RC3,4,5 lábakat, mentettem, azóta nem látom, csak 2 DAC és NVM-et. De fordításkor ez a hibaüzenet. Led_villogPIC2.c(703:2): error: unknown identifier 'sspcon1' Led_villogPIC2.c(703:2): error: failed to generate expression Led_villogPIC2.c(703:2): error: invalid operand 'sspcon1.0x0003' Led_villogPIC2.c(703:16): error: failed to generate expression Led_villogPIC2.c(704:2): error: unknown identifier 'sspcon1' Led_villogPIC2.c(704:2): error: failed to generate expression Led_villogPIC2.c(704:2): error: invalid operand 'sspcon1.0x0002' Led_villogPIC2.c(704:16): error: failed to generate expression Led_villogPIC2.c(705:2): error: unknown identifier 'sspcon1' Led_villogPIC2.c(705:2): error: failed to generate expression Led_villogPIC2.c(705:2): error: invalid operand 'sspcon1.0x0001' Led_villogPIC2.c(705:16): error: failed to generate expression Led_villogPIC2.c(706:2): error: unknown identifier 'sspcon1' Led_villogPIC2.c(706:2): error: failed to generate expression Led_villogPIC2.c(706:2): error: invalid operand 'sspcon1.0x0000' Led_villogPIC2.c(706:16): error: failed to generate expression Led_villogPIC2.c success A hozzászólás módosítva: Okt 25, 2014
Sziasztok..
Sikerült LCD-t szerválnom kipróbáltam a programot... jól működik.. De van egy észrevételem, mivel nekem csak step/dir jelet kellett csinálnom az A4988 stepper vezérlőnek. Ezért én így oldottam meg. Viszont nem jöttem még rá, hogy lehet a motort pihentetni. Álló helyzetben is tartópozícióban van, ez nem is lenne gond, de sajna melegszik. Van valakinek tapasztalata ezen a téren?
Hi Mesterek!
Össze raktam pic-el a kocsiba egy központi záró elektronikát, de sajnos valami hibádzik Amit kellene csinálnia hogy ha 20km/h órát elérem (60Hz jeladótól)) a kocsival akkor legyen egy aktív magas kimenete ami egy relén keresztül lezárja a kp. zárat. Ha pedig volt ajtó nyitás és újra mozgásba van a kocsi zárja vissza. Ezt kellene csinálnia. Amit csinál: Gyújtás ráadása után (gyújtáskor indul a pic) aktív lesz a pic azon kimenete ami zárja a központit a kocsiba. Nem értem, hogy miért. Amint ajtó nyitás van szintén egyből bezár a központim. Prg szerinte nem így kellene működnie. A flopwba automatikusan kapja a külső órajelet. Valóságban csak ha megy a kocsi A kapcsolással lenne valami? Begerjedne a pic? Segítséget válaszokat/ötleteket előre is köszönöm! A hozzászólás módosítva: Okt 26, 2014
A "LED villogtatása" feladat már megy?
A hozzászólás módosítva: Okt 26, 2014
Megyeget
Össze raktam most asztalon is, itt is random mükszik . Keresek más megoldást. Nem TMR fogok felszámoltatni hanem egy INT bemenetel egy számláló értékét növelni amit másodpercenként kiolvasok, majd törlöm. Azaz csinálok rá egy freki mérőt.
Akkor hol kellene tiltanom a TMR0-át? Mert már ezután nincs rá szükségem.
Csak ha a RB0INT aktív lesz, utána megint.
Mh...., na agyalok rajta utána majd jelenkezem
Lefordítottam hogy kiszedtem a tiltást az interrupt-ban, viszont így is írta a fordító. NEm csak arra érti hogy ha nincs külső trigger akkor nem lesz meghíva sose? Jelen esetben pedig az a baj hogy akkor is meghívja a KP_BE-et amikor nem kellene! Szerintem hardwer-es lesz a gubanc. Ha szabadon hagyom a trigger-t azaz a TMR0 bemeneti lábát random bead a kimenet. Ha Lerakom GND-re akkor nincs vele gond. A hozzászólás módosítva: Okt 26, 2014
Na átírtam, akkor szerintetek így már jó lehet?
És mondjuk amikor LCD kiíratást akarok csinálni, akkor előtte tilthatom a TMR0-át. Hogy ne rontsa a kiíratást. Vagy ezt nem nagyon lehet majd látni?
Szerintem erre van az enable bemenet a meghajtó ic-n. Ha nem kell akkor 5Vra felhúzod ha kell akkor meg le. Mellesleg egyre jobban elrontod a progit jelenleg bizonyos feltételeknél csak az áramtalanítás segíthet rajta..
Bocs ha bele szólok, de szemet szúrt...
Alap gondolat menetet nem értem. Honnan tudja a PIC, hogy 60 Hz megy az INT bemeneten? Vagy van előtte bármilyen eszköz ami 60Hz-es jeladást átalakítja, és kiad 1db jelet?( Mert ha nem, akkor tudatni kellene a PIC-el, hogy 1 másodperc alatt 60 jel ment be, és csinálni kellene valamit. Még helyesebben, hogy 1 másodpercenként 60 jel megy be.) Ha van akkor még értem az RB port használatát ilyen módon. Ha meg ott a timer amivel ilyen felhasználásra elég pontos időmérést lehet csinálni, miért nem arra használod? A nevében is benne van. Amit pedig nem találtam de így éjjel 1 körül lehet átszaladtam felette, hogy honnan tudja, hogy volt ajtó nyitás? Amit vissza kell zárni majd.
Értem...
Mik a hibák...? Hol van elrontva..? Biztos vagyok benne hogy nem tökéletes.... a segítségetek nélkül eddig sem jutottam volna. |
Bejelentkezés
Hirdetés |