Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szia!
A leggyorsabb a párhuzamos adatkapcsolat - programból néhány utasítás. Sebesség szempontjából a következő az SPI - 10..20MHz órajellel működtethető D/A konverterek is kaphatók. A leglassabb az I2C, a legtöbb I2C-s áramkör maximum néhány MHz -es órajellel működtethető. Az I2C-hez 2, az SPI-hez 3, a párhuzamos kapcsolathoz több, mint 16 vezeték kell (16 adat + WR + CS).
Sziasztok! Ha valaki ráér egy kicsit tudna mutatni egy C-s SPI írás/olvasás példaprogramot, linket? Nagyon köszönöm előre is! Bocsánat a hányavetiségért! goo
Szerk.: 18-as családhoz kellene...
Milyen C? Esetleg talán nézd meg az általad használt fejlesztő rendszer helpjét!
Amit én használok a mikroC Pro -t abban így néz ki: Bővebben: Link (nagyon bonyolult: Soft_SPI_Read(), Soft_SPI_Write() ) esetleg nem szoftveres: Bővebben: Link
Küldtem egy privát üzit. A kérdés pedig jogos, HiTech C-t használok időkorlátos demo-t. Köszi!
A www.reesemicro.com címen mindent megtalálsz (elsősorban a Lecture notes és Book C-code examples javasolható).
Üdv. Olyan problémám lenne hogy ha beprogramozom a pic-et akkor a portb0-án ad jelet. De mindegy hogy milyen programot írok neki mindig ugyanez a probléma. 16f628-ról van szó. Pic-et már kicseréltem. Azzal se megy.
Hmmm...csalafinta...szerintem el sem indul.
Es ha semmit se programozol bele akkor ad-e a portb0 jelet? Igy elso olvasasra elegge 'csereljen felhasznalot' feelingem van. Azert kicsit tobb adat kellene. Mondjuk milyen kornyezetben van a PIC, milyen orajelre allitottad, milyen kvarcot hasznalsz, mik a fuse bitek allapotai, milyen nyelven akartad prgramozni, ellenorizted-e beegetes utan, stb, stb. Az adatlapban megnezted, mik a portb0 beallitasai es problemai?
Hát igen. Felhasználót kellene cserélni. Kicsit megtréfált az MPLAB. Idáig volt egy külön mapáám ahova mentettem. És most pedig az MPLAB alap mappájába mentette. Én meg rossz hex-et töltöttem be.
Sziasztok!
Eddig csak 16f505-öst használtam, most kezdek egy 16F887-essel, és egy világ kezd bennem összedőlni. Mikor láttam, hogy valami nem stimmel, tesztprogit írtam, és azzal kerestem a hibát. Ledekre tettem ki regiszterértékeket, és eddig ezt tudom: A főciklus fut, nem következik be sem watchdog reset (ki is van kapcsolva), sem Brown out reset. A Timer0 rendesen körbefut. INTCON-ban GIE, PIE, és T0IE is biztosan folyamatosan 1. A T0IF is egybe áll, amikor túlcsordul a Timer0. A megszakítási rutin a 0x004-es szónál kezdődik, és ha valahonnan call-lal hívom, akkor el is indul. Mindezek ellenére sosem hívódik megszakítás! MPLAB-ban szimulálva tökéletesen működik, de a gyakorlatban teljesen olyan, mintha tiltva lenne. Van valami spéci trükk, amiről tudnom kéne? Már az is megfordult a fejemben, hogy selejtes az IC. De hát most használtam először, és nem kapott túlfeszültséget. A tápfeszültség 5V (akkuról), a két Vdd és a két Vss rendre összekötve, van rajtuk 100µF és 100nF is. Ic prog-ot használok egy házi gyártmányú külső tápfeszültséges JDM klónnal. Az MCLR lábra 12.5V jut égetés közben. Mivel nincs az ic progban 887-es, így 877-esként írom. Ez lehet a baj? Valamit rossz helyre éget be? Vagy a törléssel tettem volna benne kárt? A tesztprogi már minden trükkel tele van, de sehogy sem jó. Majd visszaegyszerűsítem, és felteszem azt is. Előre is köszi a segítséget. Üdv!
Az lehet a gond, hogy 877-ként írod, és a kettő között vannak különbségek. Mindenképpen 887-ként kell írni, keress olyan programot, ami tudja (talán watt programja is tudja, nézz szét a honlapján).
Nahát. Köszönöm szépen. Ez gyors volt.
Watt honlapja alapján simán lehet, hogy a JDM az egyik bűnös. Az azonban furcsa, hogy a futás alatti visszajelzések tökéletesek, egyedül csak a megszakítás nem akar létrejönni. Nem tűnik égetési hibának, bár ki tudja. Viszont most jutott eszembe, hogy lehet, hogy egyszer hozzáért a 12.5V a 2-es lábhoz. Bár ez már a hiba észlelése után lehetett. Előtte biztosan nem. De hogy pont csak a megszakítás rendszer haljon meg... Az nekem furcsa. Volt már hasonló gondja valakinek? Még egyszer köszönöm!
Ha a JDM-el tudtál égetni korában, akkor nem hiszem, hogy azzal lenne a baj és az is ellene szól, hogy bizonyos programrészek jól működnek.
A gond ott azzal lesz amit Hp41C írt, a két konfigurációs szóval. Az égetés nem biztos, hogy gond, mert ha jól emlékszem lehet szavanként is égetni és 8-asával is. Lényeg, hogy olyan égetőprogram kell, ami ismeri a 887-et.
Hát igen, a CONFIG2 nincs sehol. A CONFIG1-nél ellenőriztem, hogy az ic prog milyen flag-eket pipál be. A 877-esnél ugyan más-más jelentése van a biteknek, de némi összehasonlítás után kiderült, hogy jók vannak bepipálva. Csak sajnos a CONFIG2-ben sincs semmi olyan, ami a megszakításra utalna. Na de mindegy. Elvileg este tudok újra kísérletezni, és kipróbálom PICpgm-et.
(Amúgy szóljatok, ha sokat szövegelek.) Köszi!
Szia!
Tölstd fel a programod forrását, abból könnyebb segíteni. Ha nem szeretnéd az egészet nyilvánossá tenni, törölj ki mindent belőle, csak annyi maradjon, ami reprodukálja a hibát.
Sziasztok !
A segítségeteket szeretném kérni. Némi támpontra vágyom Van egy pic-es kazánverlő áramköröm, és ha a szomszéd helységben felkapcsolom a fénycsöves világítást, akkor újraindul.... Tippek?
Rossz a tápja, nincs megfelelően hidegítve a PIC lábánál, stb.
Sziasztok !
Lehet hogy elcsépelt lesz ez a kérdés, de keresgéltem fórumokon és nem találtam teljeskörű leírást hogyan kell egy magamfajta kezdőnek aki még nem csinált pic égetést. Nem tudom milyen program a legideálisabb? hogyan lehet venni csinálni égetőt? hogyna kell égetni? Szóval valaki lenne olyan kedves ezt leírni lépésről lépésre ? mert az nagyon jó lenne.mert még nem értettem meg és szeretnék elkezdeni ilyennel is foglalkozni. Köszi előre is!
watt honlapján nézelődj.
Köszi megnézem!
Hogy hogyan kell csinálni, az attól függ, hogy mivel csinálod.
Az alábbi oldalakon találsz User Guide néven leírást: www.microchip.com/pickit2 www.microchip.com/pickit3 www.microchip.com/icd3 Vannak olyan Starter Kit-ek, amelyek programozóval egybe vannak építve. Példáulaz egyik legolcsóbb: www.microchip.com/microstick Van olyan lehetőség is, hogy valaki beleéget egy bootloadert, és annak segítségével önprogramozó módon történhet a programletöltés. Az USB-s starter kit-ekben például általában benn figyel a HID bootloader.
Sziasztok!
Előrehaladást sikerült elérni DMX terén, most a feldolgozáson ügyködök, és nem tudom, miért nem működik... A leírás szerint az egész csomag elejét úgy deríthetem fel, hogy egy BREAK, vagyis 0 szintű 2 bájt hosszú jelet küld a vezérlő. Ezt elméletileg az USART Frame Error Bit-el tudom érzékelni, ám, nem működik. Tehát figyeltetem az RCSTA Regiszter FERR nevű bit.2-es értékét... A port-ot Olvasásra állítottam, inicializáltam a modult, és feltételnek adtam, hogy ha van Frame Error, akkor egy másik porton legyen 1 a jel, ha nincs, akkor legyen 0... Ezt a portot oszcilloszkópon figyeltem, de sajnos nem történt semmi... Van valakinek ötlete? Előre is köszönöm...
Kódrészletet tudsz adni?(csatold fájlmellékletben, ha hosszú!) Nem említetted milyen PIC-el dolgozol(USART, EUSART?)
sziasztok!
Kezdő PIC-es vagyok, és szeretnék egy sztringet küldeni RS232 porton. 16F84-et sikerült megmozgatnom, és égetni csont nélkül. Most a netről vettem le az UARTInt.asm, 16UARTI.asm és társaikat, melyek 877-re készültek. átírtam 628A-ra, és az MPLAB szimulátorával működik, látszik, hogy mozog a kimenet. Azonban, ha a szokásos módon be akarom égetni, az égető beolvasáskor panaszkodik, h "No config word in file, or file doesn't matchto the controller type" Megnéztem, mindenütt (az égetőben is) a 16F628A van beállítva. MPLABban próbáltam a config biteket felülíratni, h ne a kódban esetlegesen rosszul beállítottat használja. (Egyébként beégeti rendesen, benne van a hex fájl, de nem működik). 1. Mi lehet a baja? 2. Hogyan kell kijelölnöm a TX, RX lábakat (MAX232-vel illeszteném kifelé)? Köszönettel venném, ha vki továbblökne. Üdv, Muti
Ekkora szöveget inkább mellékletként tölts fel, ne hozzászólásba ömlesztve. Ugye nem 16F84 -be akarsz 628 -as programot tölteni ?
Ha 628A, akkor miért nem ezzel a mintapéldával próbálkozol? (Mellesleg az is kiderül belőle, hogy a config biteket hogyan lehet programban megadni.)
|
Bejelentkezés
Hirdetés |