Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Az 5-öst alakítsd át 0,5-re, majd tegyél bele egy számlálót a mostani 5-ös kiszolgálására, a 0,5-ös főágban pedig csak a kimenetet billegtesd, ha kell....
Az az igazság hogy a 100ms-os már úgy működik hogy az 5ms-osat számolja. Ráadásul az 5ms-osat nem szeretném megváltoztatni mert akkor pár másik dolgot is át kell írnom. Ami persze nem olyan hű de bonyolult, de egyszerűbb volt betenni azt a piezót a kosárba amit az előbb Icserny linkelt.
Hát, ha neked egyszerűbb, akkor nem mondhatok ellent.
Igazából egy piezót egyébként is kellene vennem. Annyi hogy akkor már nem egy simát hanem ezt a gerjesztő áramköröset veszem meg. Szerintem ez nagyon egyszerű.
Ugye 5V és a PIC I/O lábának árama elegendő egy ilyen piezónak?
Én sem ismerem és nem is értem, hogy jön ide a PIC-es topicba...?
Nem, egyáltalán nem. Továbbra sem értem, hogy mi a francot keres egy AVR project a PIC-es topicban és hogyan jön össze watt mester hozzászólásával?
Szerintem ezt a vonalat itt ne feszegessük!
Én úgy vettem ki abból amit írtál, hogy van egy piezód, és csak azért rendelsz postaköltséggel egy másikat, mert nem akarsz leprogramozni egy aránylag egyszerű rutint. De így már értem és így valóban egyszerűbb!
Hat a hangkeltesrol volt szo ugyebar, es a kihivasokrol. (mikozben a mikrovezerlo nem lustalkodik ) Szerintem at kell latni a szitan, teljesen mindegy ebben az esetben, hogy PIC vagy AVR.
(Az alkoto zsenialitasat cseppet sem kicsinyiti mindez. Egy remekmu.)
Ad 1: Egyáltalán nem mindegy, hogy pic vagy avr. Persze mindkettő használható és felhasználható ilyen és hasonló témákban is. De! Nem véletlenül lett kétféle topic létrehozva. Ha valaki avr-s projectek után keresgél, kicsi a valószínűsége, hogy azt egy PIC-es topicban teszi...
Ad2: Egy ilyen kaliberű project belinkelése egy csipogó csipogtatasához- enyhén szólva is kimeríti- az ágyúval verébre tipikus esetét. Részemről a téma lezárva, nem kívánok tovább offolni.
Ja nem... nincs piezóm és a HEStore-tól gyalog 5 percnyire lakom.
Sziasztok....
Hogy lehet C programot az MPLabIDE-vel lefordítattni? Vagy hogy lesz nekem C-ből hex file? lehet mosolyogni, nem tudhat mindenki mindig mindent... Előre is köszönöm a válaszokat! Üdv The_Saint
Kb. 3 napja kezdtem picezni MPlabban, lenne néhány kérdésem. 18F4520-at nyúzok most, és igazából a ledes villogtatáson kívül nemigen tudok mást (tehát port kezelés, egy két primitív ciklus, meg hasonlók).
Azt szeretném megoldani, hogy lenne egy poti, amit rákötnék az A/D bemenetére. Ezt, ahogy látom, 10 bites felbontással képes 'tárolni', de csak 8 bites regiszterek vannak. Emellett lenne egy számláló, ami 0,1ms vagy 1ms-onként (kettő közül valamelyik, beállítható), számol 1-et. Namost, nekem 10 bitre lenne szükségem itt is, hogy az A/D értékét és a számláló értékét összehasonlítsa a PIC, ezt végülis 2 regiszterrel meg is lehetne valósítani, az egyik a normál regiszter, a másik pl. egy carry regiszter. Erre van valakinek javaslata, hogy lehetne megoldani? A program nem csak ebből áll, de a 'magját' már le tudtam programozni, igazából ez az A/D és számláló összehasonlítás lenne az érdekes. Ha kell, fel tudom rakni az eddigi rövid programot, úgy lehet, hogy érthetőbb, mit akarok csinálni.
Az attól függ, hogy melyik C-s programmal készült a forrás...
Szia!
- Fel kell telepíteni a C fordítót... - A MpLab-ban be kell állítani a "Project / Set Language Tool Location" ban a feltelepített C fordító elérési útjait.. - Amikor a projectet létrehozod, a "Project / Project Wizard" segítségével, ki lehet majd választani a forrás típusát és a fordító programot is. Szia
Üdv!
16F887 EEPROM gondok. Datasheet-ből kimásoltam a példát, annak a segítségével írnám, de nem akarja. Debuggolva a megfelelő adatok kerülnek a címbe és az adatba is, de nem menti el oda. Olvasásnál az eredeti adat kerül vissza, és a verify jelez. Megpróbáltam egy átlátható kódot összehozni.
ASM vagy C? C-re tudok AD példát mutatni.
Assemblyben alkot. De egyenlőre nem maga az AD mérés a kérdéses számára hanem hogy hogyan tud egy-egy két bájtos regisztert összehasonlítani.
Először a két felső bájtot kell összehasonlítani, aztán az alsókat. Valahogy így:
Hali
Ez a program lefordult? Talaltam benne nehany jokepu hibat. Eloszor is nem irunk csak angol karaktereket azonok neveibe. Pl
Masodszor; Le kelleni egy kicsit tisztazni a listat mert igy elegge atlathatatlan. Harmadszor EEPROM rutin valoszinu jo, de probald meg csak szuzen azt betenni es ha ott megy akkor elkeveredett egy kicsit a progi. Az MPSIM mit mond ? Udv Vili
Sziasztok!
A következő a gondom: AD konvertálást ütögetek éppen össze. A felső 8bitet az ADRESH-ba kérem, ezen kívül szükségem van még egy 9.bitre ami az ADRESL MSB bitje.
Amikor viszont hozzá akarom adni/fűzni az LSB bitet akkor se ez
se ez
nem működik. -(A CHECK_BIT makrót azt külön definiáltam) -Az ADresult az unsigned int típusú -Maga az AD konvertálás működik, mert ha külön kijeleztetem a két regisztert (ADRESL, ADRESH) akkor szépen dolgozik, csak ez az összeadás nem megy valamiért. -HITEC-C fordítót használok -A hibajelenség: ugyebár maximum 511 lehet a kijelzett érték, ehhez képest igen egzotikus számok jönnek, simán felugrik az ADresult értéke 600 fölé is. Van valami ötletetek? Blint
Üdv!
A változó neveivel nincs gond, lefordul. Megpróbáltam minimálisra fogni a kódot. Mplab-ban ha benne van a SLEEP, akkor onnan nem megy tovább. Ha nincs benne továbbmegy, de nem írja bele. Verify rosz, ha megnézem az EEPROM ablakot, akkor ott sincs semmi.
Én jobbra igazítanám az AD konverzió eredményét, és így csinánám:
Hali
Nekem lefordul es SIM-ben be is irja az EEPROM-ba amit kell. De kapcsold ki a WDT-t mert kozben le RESTELT. A SLEEP helyett tedd be igy a WR bit figyeleset:
Ez mukodik Udv Vili
C18-nál ez csak akkor működik helyesen, ha be van kapcsolva az "Integer promotion" opció! (-Oi)
Enélkül (ADRESH<<8) eredménye nulla lesz...>>
Köszönöm a segítséget potyo, így már megy, csak annyi változtatást eszközöltem, hogy a végén 7bittel toltam "vissza" az ADresult értékét, így nem kellett átírnom a fv. további részeit.
Szerintem próbáljátok ki az SDCC-t!
Teljesen ingyenes és nyílt forráskódú! Már egy ideje ezt használom és eléggé jól működik szerintem. Alapból benne vannak a bizonyos modulokhoz használható függvények ezért sokkal könnyebb használni. Az igaz, hogy így nem mindent magadnak írsz meg de szerintem ez nem biztos, hogy hátrány. Annyi a gond van vele talán, hogy nincs minden dokumentálva azért a forráskódokba is bele kell néha olvasni. Az AD konverzió Pl.: így néz ki
Bővebben: Link |
Bejelentkezés
Hirdetés |