Fórum témák
» Több friss téma |
Az mekkora baj hogy a program átváltotta pic10LF322 re pedig pic10f322 van ??
Amugy a hexa felment rá.... Lehet nem nagy info de aconfig bitek ilyen: CONFIG : $2007 : 0x3EA6 A hozzászólás módosítva: Ápr 18, 2017
Azt keresem.......
A hozzászólás módosítva: Ápr 18, 2017
Most ha a zöld a panelban, a sárga pedig negatívon, akkor folyamatosan villog a billentyűzet!
![]() ![]()
Itt egy link a PS/2-ről, illetve a billentyűzet kommunikációs protokolljáról. Mert nem ASCII kódokat fogsz kapni belőle
![]() The PS/2 Mouse/Keyboard Protocol
Igazad volt:
0x002A 0x3063 MOVLW 99 0x002B 0x0092 MOVWF PR2 PWM2DCH nem találom ![]() Nem, mikroC A hozzászólás módosítva: Ápr 18, 2017
A mikroC az IDE a MikroICD (InCircuitDebugger) a debugger elvileg MikoC-ben csak ezzel lehet debug-olni, de asszem valami COFF fájlt kell generálni és MPLAB-on keresztül tudod PICkit 3-mal is debug-ollni. De lehet egyszerűbb az "Arduino skill" rakj össze egy soros portot és írasd ki az adott értéket a PIC-el így a semminél többet fogsz tudni.
Átmentem oda...
Idézet: „Nem, mikroC” Melyik fordítóról van szó? Mikro C -ben (ha jól tudom) a Run / Start debugger (F9) indítja a szimulációt, a Run / Step Over egy sorral előrébb megy, de nem lép bele függvénybe / eljárásba, a Step Into ugyan ez, de belép a függvénybe / eljárásba, a Step Out a függvényből / eljárásból kilépésig futtat. Még akkor is, ha nincs Micro ICE -m.... A Run/ Disassembly mode egy ablakban mutatja a forrás sorokat és az azokból fordított assembly utasításokat. A Watch Values ablakban változókat és SFR regisztereket és bitjeit lehet felvenni egy listába, ami minden lépésnél frissít a nyomkövetés. Ha elindítjuk az a 10F322 programot, beállítjuk a PR2 és a PWM2DCH a Watch Values ablakba, majd töréspontot állítunk be a PWM2_init(10000); és a PWM2_Set_Duty(..); után. Elindítjuk a programot. Megáll az első törésponton. Megvizsgáljuk a Watch Values abakot. Nini a PR2 -ben 99 van. Továbbindítjuk.... Megáll a második törésponton... De ez így működik minden fejelsztő Integrated Development Environment alatt az MpLab 8 -tól az MpLab X -en (Eclipse) és a Mikro fordítók felületén keresztül a PC Micro$oft C# -jáig mindenhol. A hozzászólás módosítva: Ápr 18, 2017
Nem elküldeni akartalak, csak hátha ott van infó. Nincs esetleg a MikroC-ben kész PS/2 rutin?
Nem az a probléma, a kódot elvileg már ki is írtam, viszont a fizikai bekötéshez kellene a segítség, mert mint írtam, sárga=mínusz->villog és zöld+barna=tápfesz->világít! Olyasminek kellene történnie, mint normál PC bekapcsolásakor, hogy csak egyet villanjon, utána használható legyen! És a billentyűzet csak PICcel együtt kerülhet tápfesz alá egy közös kapcsolóval, tehát a villogás kikapcsolt állapotnál is van, de a világítás csak bekapcsolt állapotnál!
Na már cirógatta a csőröm ez a mikroC, elővettem a notit amin ezek a progik vannak, és megnéztem. Van benne PS2 minta meg leírás. Igaz nekem mikroC PRO AVR van, de gondolom a PIC verzióba is van leírás meg tutorial.
Igaz ez AVRes tutorial kód, és UARTot használ, de bizonyíték hogy van benne, amit használhatna.
Április 5 -én egy 18F1320 -ra épülő, letölthető Mikro C programmal ellátott pojectből indult az egész. Megtettünk egy jó nagy kört 13 nap alatt.
A hozzászólás módosítva: Ápr 18, 2017
Nagyából követem itt a történéseket, popcornnal a kezembe (Mivel PIC tere nem a világom, ezért bengaságot se akarok írni kód és egyéb szoftver téren, marad a popcorn) de elektronikai kivitelezés az ok. Amúgy most gyorsba visszatekertem kicsit, és pl hiányolom a felhúzó ellenállásokat...
MikroBasic Pro PIC -ben is van PS/2 rutin, akkor biztosan a C-ből sem hagyták ki. Nagyon hasonló programmal, mint amit csatoltál.
Azért másoltam be, mert a legtöbb ilyen programnak vannak példái, beépített rutinokkal mindennel. Majdnem csak össze kell legózni, meg kiegészíteni.
Nem a beépített PS/2 rutinnal van gondja, mert az van van minden mikroelektronikás környezetben.
A kódját innen onan másolta, és egy teljesen más PIC et rendelt hozzá, hátha... Soronként diktálták neki mit csináljon, az is nehezen ment. A gond ott kezdődik, hogy az eddigi legkomolyabb projekte az zseblámpa javítás volt. Olvass vissza: Bővebben: Link A hozzászólás módosítva: Ápr 18, 2017
Mottó: Nem kell assembly ismeret a boldoguláshoz magas szintű nyelveken.
Amennyiben a PWM2_init(10000) az alábbiakat állítja be
végkép nem értem a PWM2_Set_Duty(..) miért állítja 100% -nál (255/4)=63 -ra a PWM2DCH -t. Addig világos, hogy a kitöltés két alsó bitje a PWM2DCL 7..6 bitjeire kerül. Ekkor a bemenő paraméternek 10 bitesnek kellene lennie, de a fentebb idézet leírás alapján csak 8 bitet kezel (255 jelenti a 100% -ot , 0 jelenti a 0% -ot). ![]() A PR2 = 99 beállításnál a 100% -nak a PWM2DCH = 99, a 0% -nak a PWM2DCH = 0 felel meg. A hozzászólás módosítva: Ápr 19, 2017
Jó, most már rendesen felállt a billentyűzet, hogy bekapcsolt állapotban adtam rá a tápfeszt, viszont feltűnően a kontraszt csak az LCD felső sorára van hatással, ami szerintem nem jó így! És csak D4...D7 adatlábak vannak bekötve, D0...D3 szabadon lett hagyva. A kérdés az, hogy most mi van? A kontrasztnak nem az egész LCDre kellene érvényesnek lenni?
(Jó billentyűzet: zöld=plusz, sárga=mínusz, barna=data, piros=clock.)
Most az van, hogy az LCD nincs inicializálva.
Fut a program a PIC-en? Jól is van beállítva minden? A programban megtörtént az LCD inicializálása? A hozzászólás módosítva: Ápr 19, 2017
Eleve az nem jó, hogy a kontraszt most csak a felső sorra van hatással! Mit csináljak még? A csupasz D0...D3 lábakat is húzzam negatívra? (Szerintem a kontraszt nem függ az incializáltságtól!)
Hello! Csak azt nem írtad le, hogy vannak-e már karaktaerek az LCD-n. Mert alapból az LCD egysorosra van beállítva, ilyenkor a felső sorban csak a karakter helyek négyzetei jelennek meg és így csak annak kontrasztját tudod állítani. Tehát ilyenkor még nincs inicializálva a kijelző.
A D0..D3 lábakat le lehet húzni, de ha lebegnek az sem lehet baj, feltéve hogy inicializáláskor 4-bitesre adatforgalomra van állítva az LCD.
Hát..., eleve karaktereket se ír, hiába nyomkodom a billentyűzetet, és a kódban pedig ki van kapcsolva a kurzor, így azt se tudom, hogy egyáltalán felállt-e az LCD!
A kódot inkább mellékelem, hátha látszik, hogy mi nem stimmel...
Ha bekapcsolás után pár másodperccel is csak a felső sor kontrasztját tudod állítani akkor nem volt inicializálás vagy nem megfelelő.
Szerintem az a kód nem fordult le rendesen, vagy elérte a 2k-s határt vagy a Pic felprogramozásánál lehetett valami gebasz.
Ne nekem mond!
![]() ![]()
Szimulátorban a hex elindul. De nem tudom mit alkottál, mert RA2 és RA3 visszaáll analóg bemenetté egy kis idő után. Az LCD a következő utasításokat kapja:
|
Bejelentkezés
Hirdetés |