Fórum témák
» Több friss téma |
Félreérted. Teljes mértékben egyetértek azzal, hogy a lehetőségekhez és a tudásunkhoz képest a lehető legjobban készítsünk el mindent. Majd, ha igény keletkezik rá és az alapok megvannak, tovább lép a delikvens (éppen ezen a pályán vagyok). Senki még csak egy kódrészletet sem mutatott, hátha előrébb viszi a kérdezőt. Igen, én sem de nem is iszogatom a sznobi szörpöt.
Laja1 feltett egy kérdést, erre az alábbi válaszok születtek (kivéve Elektro.on): - Nem jó, nem így kell! - Csináld magad, különben nem jutsz előre. - Ezt nézzétek, én mit raktam össze! Látjátok mekkora király vagyok? Idézet: Nem tudom, mi olyan meglepő ezen. A cég profitorientált, nem jótékonysági/nonprofit szervezet. PICKit2 még ismeri a K22-es családot, van azokban is bőven memória.„A hab a MicroChip tortáján, hogy az újabb kontrollerekhez már valószínűleg új programozó (Pickit4) kell.” Ezzel az erővel azt is mondhatnánk, hogy aki Arduino-t használ mindenféle letölthető könyvtárral, az soha semmit nem fog összerakni. Ha az elkészült program azt csinálja, amit a készítője szeretne, akkor az egy sikeres munka, még ha csak hobbi is. Elhiszem, hogy mindent lehet még jobban csinálni. Nincs ebben semmi különös. Azt nem értem, miért kell a vérprofi megoldásokat szajkózni egy kezdőnek egy kezdőknek szóló témában.
Én azt állítom, hogy hobbistaként az a célom, lehető legolcsóbban állítsam elő az áramkörömet, úgy, hogy az a tervezett feladatot képes legyen hibamentesen ellátni. Panel mérete, kontroller ára). Közel ötven éves pályafutásom alatt sokféle emberrel kerültem kapcsolatba, és így alakult ki az a meggyőződésem, hogy a legkevesebb energiabefektetéssel a hardver/szoftver (ön)képzés legjobban a folyamatábra és az assembly nyelv alapokról elindulva lehetséges. Valóban nem mutattam kódrészletet, mert C nyelven tíz-húsz évenként írtam programot, muszájból.
A sznobi szörp célzást nem tudom hova tenni, mivel sört fogyasztok. Mindössze arra szerettem volna rámutatni, hogy szerintem a kolléga nem jól állt neki a probléma megoldásához. Az a meglepő, hogy a szóban forgó cég üzletpolitikája nekem - mint hobbistának - nem szimpatikus. Némi szoftvermódosítással a régebbi programozók is alkalmasok lennének újabb kontrollerek égetésére, de egyszerűbb a felhasználókkal vetetni újabbat. Én nem fogok venni. Azt viszont kérem, fejtsd ki bővebben ezt a "vérprofi megoldásokat" kifejezést. Ilyet én nem olvastam egyik hozzászólásban sem, pedig alaposan végigolvastam a hozzászólásokat, igaz, időbeli kimaradásokkal. Idézet: „Igen, én sem de nem is iszogatom a sznobi szörpöt.” Idézet: „- Ezt nézzétek, én mit raktam össze! Látjátok mekkora király vagyok?” Ezeket nem értem, konkretizálnád, lehet valami elkerülte a figyelmemet. Idézet: „Az a meglepő, hogy a szóban forgó cég üzletpolitikája nekem - mint hobbistának - nem szimpatikus. Némi szoftvermódosítással a régebbi programozók is alkalmasok lennének újabb kontrollerek égetésére, de egyszerűbb a felhasználókkal vetetni újabbat.” Az XC8 és XC16 Free módban egyszerűen felesleges utasításokkal szórja meg a kódot. Minden a Microchip által eddig gyártott kontroller programozható a PICkit2 programozóval. A PIC10C200 -tól a PIC32MZxxDA -ig. Csak akarni kellett volna.
Sziasztok,
Segítséget kérnék.Egy 18F4520-ast programozok. MikroC-ben írom, és MPLAB-bal töltöm le a hex-et a PIC-be.A nyákon ki van vezetve az ICSP csatlakozó, csak rádugom a Pickit2-t,és rátöltöm a programot, tökéletesen megy. Ugyanezt a nyákot ha Pickit3-mal akarom programozni,akkor csatlakozik ugyan az MPLAB a Pickit3-hoz, látja is a kontrollert,meg írja, hogy Pickit3 "connected". De amikor rátölteném a PIC-re a hex-et, akkor azt írja, hogy programozás sikeres, verify sikeres, de reset-ben marad a PIC. A kis ikon amivel fel lehet oldani a reset-et, inaktív. Mi lehet a baj?Elvileg ugyanaz a két programozó, a lábkiosztás is. Ha lehúzom a programozót a nyákról, akkor sem fut a program, úgy néz ki mintha nem töltötte volna bele. köszönöm.
A PICkit3 -at milyen programmal kezeled? A PICkit3 nevű programot el kell felejteni, az MpLab X -beli IPE -vel próbáld.
Sziasztok! Ismét elővettem ezt a kérdést, de nem jövök rá, hogy hogyan lehet megoldani, hogy minden alprogramot más más gombbal lehessen indítani.
Valaki tudna segíteni? Köszönöm!
Ha menet közben mást nem kell csinálni, csak a gombnyomásra várni, akkor valahogy így:
Ha jól emlékszem, az MpLab fejlesztését a 8.92 verziónál hagyták abba. Frissíteni kellene.
Szia Bakman! Köszönöm a segítséget! Este ha időm engedi, kipróbálom,
Sziasztok! Készítettem egy LCD kijelzős projektet. De ha bekapcsolom, akkor az LCD felső sorának minden karakterének minden pontja fekete, az alsó sorban egyik sem. Gondolom, hogy az LCD definiálását rontom el. Megnéznétek, hogy mit írtam be rsszul? Én nem jövök rá. Itt a beállítás és mellékletben az LCD adatlap.
Köszönöm!
Lábakat beállítani kimenetre majd futtatni az LCD_Initialize(); parancsot.
Igen, azt tudom. Szimulacioval szépen működik. De a valóságban nem. Valószínű a fenti definialasok nem felelnek meg a vásárolt LCD-nek. A szimuláción LM típust állítottam be, mert ezt nem ismerte a program.
És hol a programod?
A linkelt adatlapod 16. oldala szerint csinálod az inicializálást? megvan előbb a 8 bites, majd utána a 4 bites mód? A kötelező várakozási időket betartod?
Az előző oldalon január 26-i bejegyzésben láthatod a programot. 4 bites mód szerint csinaltam.
Sziasztok!
Eddig majdnem minden ok, de ma megint elfáradtam. Rengeteg más miatt olvasom a leírásokat, de már nem értek semmit... A lényeg, hogy dsPIC33fj128MC802-vel dolgozgatok. Azt nem is mondom, hogy az MPLAB MCC-csak a legújabbra megy fel, de ezt a PIC-et meg nem támogatja. Sebaj, megírom magam. A gondom a következő: A DAC-al lejátszok majd hangot. (12bit, 16KHz) A DAC frekvenciája mintha be lenne állítva, a kód úgy ahogy megy. Az oszcillátor beállításokkal amit a doksi ad, ok. A kérdésem: Működik a dspic úgy, hogy külső óra hajtja a PIC-et, de a DAC-ot a belső, felszorzott, ossztott stb.hajtja? Ha igen akkor mik a beállítások? Ebben a 22. oldalon van a lényeg: Bővebben: Link Azonban az MPLAB-al megcsináltam a config-okat. Ott beállítottam amit gondoltam, nem ment. Átalakítottam a doksi szerintire, de akkor nem tudom, hogy a PIC a rákötött órával megy, vagy a belső beállítottal? Egyelőre csak MPLAB szimuláció van meg. Ott is fontos lenne a TIMER-ek pontos értéke. Ekkor nem mindegy, hogy a szimulációban az utasítás freki mennyire van beállítva. // FBS #pragma config BWRP = WRPROTECT_OFF // Boot Segment Write Protect (Boot Segment may be written) #pragma config BSS = NO_FLASH // Boot Segment Program Flash Code Protection (No Boot program Flash segment) #pragma config RBS = NO_RAM // Boot Segment RAM Protection (No Boot RAM) // FSS #pragma config SWRP = WRPROTECT_OFF // Secure Segment Program Write Protect (Secure segment may be written) #pragma config SSS = NO_FLASH // Secure Segment Program Flash Code Protection (No Secure Segment) #pragma config RSS = NO_RAM // Secure Segment Data RAM Protection (No Secure RAM) // FGS #pragma config GWRP = OFF // General Code Segment Write Protect (User program memory is not write-protected) #pragma config GSS = OFF // General Segment Code Protection (User program memory is not code-protected) //// FOSCSEL //#pragma config FNOSC = PRI // Oscillator Mode (Primary Oscillator (XT, HS, EC)) //#pragma config IESO = ON // Internal External Switch Over Mode (Start-up device with FRC, then automatically switch to user-selected oscillator source when ready) // //// FOSC //#pragma config POSCMD = HS // Primary Oscillator Source (HS Oscillator Mode) //#pragma config OSCIOFNC = OFF // OSC2 Pin Function (OSC2 pin has clock out function) //#pragma config IOL1WAY = ON // Peripheral Pin Select Configuration (Allow Only One Re-configuration) //#pragma config FCKSM = CSDCMD // Clock Switching and Monitor (Both Clock Switching and Fail-Safe Clock Monitor are disabled) // FOSC #pragma config POSCMD = XT // Primary Oscillator Source (HS Oscillator Mode) #pragma config OSCIOFNC = OFF // OSC2 Pin Function (OSC2 pin has clock out function) #pragma config IOL1WAY = ON // Peripheral Pin Select Configuration (Allow Only One Re-configuration) #pragma config FCKSM = CSECMD //FOSCSEL(FNOSC_FRC); //// Enable Clock Switching and Configure POSC in XT mode //config FOSC(FCKSM_CSECMD & OSCIOFNC_OFF & POSCMD_XT); // FWDT #pragma config WDTPOST = PS32768 // Watchdog Timer Postscaler (1:32,768) #pragma config WDTPRE = PR128 // WDT Prescaler (1:128) #pragma config WINDIS = OFF // Watchdog Timer Window (Watchdog Timer in Non-Window mode) #pragma config FWDTEN = ON // Watchdog Timer Enable (Watchdog timer always enabled) // FPOR #pragma config FPWRT = PWR128 // POR Timer Value (128ms) #pragma config ALTI2C = OFF // Alternate I2C pins (I2C mapped to SDA1/SCL1 pins) #pragma config LPOL = ON // Motor Control PWM Low Side Polarity bit (PWM module low side output pins have active-high output polarity) #pragma config HPOL = ON // Motor Control PWM High Side Polarity bit (PWM module high side output pins have active-high output polarity) #pragma config PWMPIN = ON // Motor Control PWM Module Pin Mode bit (PWM module pins controlled by PORT register at device Reset) // FICD #pragma config ICS = PGD1 // Comm Channel Select (Communicate on PGC1/EMUC1 and PGD1/EMUD1) #pragma config JTAGEN = OFF // JTAG Port Enable (JTAG is Disabled) Valakinek van megoldása erre? Mit kellene beállítanom, hogy a dspic-et a külső órajel hajtsa, de a DAC-ot a belső, rendesen beállított?
Ok!
Megvan. Aludtam rá egyet és megtaláltam a megoldást is. A lényeg hogy a rengeteg példában az FCO számolása a beépített oszcillátorral mutatja. (az sem véletlen...) De nem csak azzal megy, hanem a képletben szereplő Fin simán lehet a külső kvarc is. Ebben az esetben talán a configban az external osc PLL-el kell, de nem biztos. Bővebben: Link !!!! A link rögtön letölti a pdf-et!!
Esetleg sikerült valami hibát találni a programomban?
Ha egy LCD rosszul van iniciálva, akkor semmi nem jelenik meg rajta? Mintha tápot se kapna?
Igen. Hiba lehet az is, ha egymás után túl gyorsan írod ugyanazon PORT regiszter bitjeit. Igaz, ez utóbbi inkább magasabb órajelnél fordul elő.
Ha nincs (jól) inicializálva, akkor pl. két soros kijelző esetén, a felső sorban tele karakterek jelennek meg.
Hali!
Az LCD_Initialize()-ban a 0x32 utasítás után 3db EN impulzus kell. Az LCDPutCmd-ben csak egy van. Vagy 3x küldöd ki a parancsot az LCDPutCmd()-vel. Egyenlőre ennyit láttam.
Köszönöm. Nekem nem jelennek meg még a fekete teglalapok se, pedig a tápot megkapja és a kontraszt potijára sem reagál. Ez is lehet a rossz inicializálás miatt, vagy rossz az LCD vagy elkötés van?
Ha csak tápot kap és úgy sem jelennek meg a négyzetek a kontraszt állításra, akkor vagy elkötöttél valamit, vagy hibás a kijelző. Vagy az elkötés miatt már meghibásodott.
Akkor most végig nézem a bekötéseket és úgy módositom a programot, hogy azt a sort háromszor írom be.
Próbáld így:
Csak tápfeszültséget adj a kijelzőnek, az adatlábakat ne kösd össze a kontrollerrel. Ebben az esetben ha tekergeted a kontrasztot, meg kell jelennie a teli karaktereknek.
Megcsináltam, amit javasoltál. De csak annyi változott, hogy most mind a kettő sorban megjelentek a teglalapok. Érdekes hogy Proteus szimulácioval tökéletesen működött az eredeti programmal is. De ott LM kijelzőt használtam, mert a könyvtárban csak ezt találtam. De a valóságban nem ilyen kijeltőm van. Valószínű, hogy a kettő beállitasai különböznek, csak nem tudom miben.
|
Bejelentkezés
Hirdetés |