Fórum témák
» Több friss téma |
Nem tűnik életszerűnek. De a "megvannak"-nak nem az "egyiken sincs" a logikai ellentéte. Tehát lehet olyan szituáció, hogy az adatvonal fel van húzva, az órajel vonala meg nincs (vagy nem jut el a jele az eszközre).
Ugyanezen a vonalon van egy hőszenzorom, az működik.
A 782es lapon írtam egy assembler fájlt PIC12F683 ra
egy kedves tag le is fordította kérésemre viszont a pdf jét nézve a CONFIG bitjein elakadtam.
A pdf ben levő 12 CONFIG bit: FOSC0 ; FOSC1 ; FOSC2 ; WDTE PWRTE ; MCLRE ; CP ; CPD ; BOREN0 ; BOREN1 ; IESO ; FCMEN A fordított HEX nél most így néz ki CONFIG 03C4 a 12 ből áll bitON: FOSC2 ; CP ; CPD ; BOREN0 ; BOREN1 viszont az Assembler fájlban CP OFF CPD OFF BOD ON (BOD regiszter nemhogy a CONFIGban de még a PDF ben sincs) MCLRE OFF PWRTE ON WDT OFF (Az E betű nem is kell ? WDTE) FCMEN OFF IESO OFF Jó lenne ezt tisztázni lassan át kellene adnom a panelt. Ha nem rendelkezünk semmiről akkor minden CONFIG-bit 1 lesz ahogy nézem. Ha rendelkezünk pár bitről és ha csak azt nézem, ami a rendelkezés szerint OFF, akkor hogy lehet hogy Pickit2 programban importálom a hex fájlt és CP=1 ; CPD=1 ha a FCMEN=0 ; IESO=0 ? ezer Kössz
Vagy a soron következő INTOSCIO nél nem tetszett és nem folytatta a fordító az FCMEN és IESO val ?
INTOSCIO szintén nincs a configban és nem állt utána OFF vagy ON.
Egészen biztosan nem számoltad el a címeket a bitekhez? Megnézted az erratát is, hogy nem a doksiban van-e elírva valami? A config bitek miatt egyébként még újrafordítani sem kell, csak átírod a hex file-t egy sima notepaddal.
Üdv .
MikroC -hez keresek segítséget.LCD kijelzőre kellene kiírnom 16 karaktert,majd 1-2s várakozás után ,újjabb 16 -ot,ugyan abba sorba,és ezt ismételgetni.A internetet böngészve találtam különböző,programokat amik siftelgetik a beírt szöveget,de erre nem találtam megoldást.Bármilyen előre megírt program,lényegtelen milyen PIC-re,jól jönne,ami tudja az álltalam felvázoltakat.Szóval a lényeg annyi volna ,hogy lássam a parancs sort ami ezt végre hajtja. Válaszotokat előre is köszönöm!
A MikroC súgójában minden benne van!
De ITT egy korábbi ultrahangos távolság mérő kódom, igaz Mikropascal de benne van az LCD kezelés. Mikro pascal és Mikro C közt csak némi szintaktikai eltérés van. A hozzászólás módosítva: Ápr 19, 2016
Két gyors kép a MikroC súgóbol:
Az első az inicializásáls, a második szöveg írás adott pozícióba.
Üdv!
A PK2 saját programjában meg lehet nézni a CONFIG biteket külön is. Ott jól látszik, hogy melyik milyen állapotban vanés át is tudod állítani egyesével ha nem jól van. A hexa szám nem embernek való. Idézet: „A hexa szám nem embernek való.” Ezért létezik az assembly. Idézet: „A hexa szám nem embernek való.” Miért??? Akkor kinek? A gép csak a binárisat érti.... Idézet: Nemtom, de Te mondtad ezt egyszer már... „Miért??? Akkor kinek?”
Szia!
Feletettem az MPLAB IPE-t, és szuper, tetszik, de nem tudom használni. Mikor connectre katintok, kiírja, hogy 5Vot adok 3,3Vos programozáshoz, akkor gond lehet (ha jól értem). Amikor programozni szeretnék ezzel, akkor kel a PICre tápot adni? (a pickit3nál nem adtam, ezért nem egészen tudom hogyan is használjam). Van valami ötleted miért írja ezt ki?
Ilyenkor csak figyelmeztet, ha rosszul választod meg a tápfeszt, akkor tönkre teheted a PIC-et.
Alapesetben a céleszköznek kell biztosítani a tápfeszültséget, mert a PK3 csak minimálisan terhelhető (egy karakteres LCD a tápvonalon már bekavarhat). De átállítható: Settings->Avanced Mode->Log on. (a jelszó microchip) Ezután a Power fülön válszd ki a Power Target Circuit from Tool opciót.
Az MpLabX IPE alapból nem ad tápfeszültséget a programozandó kontrollernek. A kiindulás az, hogy a kontroller be van forrasztva a panelbe (lévén a többségük sokszáz lábú SMD tok), a tápfeszültséget a panel biztosítja (a PIC32MZxxDAyy -nak már nem is elég egy tápfeszültség).
Ha mégis tápot szeretnél adni: Settings / Advanced modde után jelszó megadása majd Power kiválasztása a feszültség beállítása és a Power circuit form PICkit3 négyszög kipipálása. Ne állítsunk be 5.00V -ot, mert a Schottky dióda miatt a visszamérésnél túl nagy hiba lesz, használjunk inkább 4.75V -ot. Nem tudom, miért csak ilyen nagy lépést valósítottak meg, amikor pl. a PIC16F628 -nél a 4.70V a chip erase művelet minimális feszültsége. Mindegy Ők tudják.... Ha ójraindítod a programot, a power beállítást elfelejti, de a feszültséget nem.... Hogy ez miért ilyen bonyolult és lassú, az is csak Ők tudják... Sok türelmet!
Honnan láttam volna hogy minek veszi a PK2 prog
hex betöltéskor, hogy melyik config bit hogy áll, ha nem léptem be a config részletezésébe, ahol még editálhatok egyszerűbben mintha a hex et módosítanám ? Hát persze, hogy ott néztem meg nem a chipben kukucskáltam. Azért rendesen átsiklotok a részleteken. BOD,WDT stb. Persze örülök, hogy próbáltok segíteni. Az Assemblerben látott config szerint én kézzel, hogy állítsam be a 12 bitet ? Ha off akkor bit=1 ha on akkor bit=0 ? Egy másik programozóban a config biteknél pipával jelzik az OFF ra állítottakat. Kellene már átadnom a ketyerét. FOSC0=1_NR ; FOSC1=1_NR ; FOSC2=1_NR ; WDTE=1_NR PWRTE=0_ON ; MCLRE=1_NR ; CP=1_OFF ; CPD=1_OFF ; BOREN0=1_NR ; BOREN1=1_NR ; IESO=1_OFF ; FCMEN=1_OFF NR:assembler fájl nem rendelkezett róla FOSC oknál full elbizonytalanodtam Kössz A hozzászólás módosítva: Ápr 19, 2016
Induljunk a kályhától:
Egy törölt kontrollernek nem lehet kiolvasásvédett a program és/vagy az adatmemóriája - honnan tudnád, hogy sikerült a törlés... A törölt kontroller minden adata (kivéve a DeviceId) 0x3fff, azaz minden bit 1. Ezekután a kikapcsolt konfigurációs bit (pl. CP, CPD) 1. A konfigurációs bitek szerepét a 12F683 adatlapjában (DS41211D-page 84) a Special features of the CPU / Configuration bits fejezeben találod meg. bit 6 = 1 jelenti a _CP_OFF -ot, bit 7 = 1 jelenti a _CPD_OFF -ot, bit9..8 = 00 jelenti a _BOD_OFF -ot másnéven a _BOREN_OFF -ot, bit 5 = 0 jelenti a _MCLRE_OFF -ot ,(MCLR pin function is digital input, MCLR internally tied to VDD) bit 4 = 0 jelenti a _PWRTE_ON -ot, bit 3 = 0 jelenti a _WDTE_OFF -ot, másnéven a _WDT_OFF -ot, bit 11 = 0 jelenti a _FCMEN_OFF -ot, bit 10 = 0 jelenti a _IESO_OFF -ot, bit 2..0 = 100 jelenti a _FOSC_INTOSCIO -t (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN). Ebből az essembly -nek szóló sor: config _FCMEN_OFF & _IESO_OFF & _BOREN_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _WDTE_OFF & _FOSC_INTOSCIO Az assembly neveket a c:\Program Files\Microchip\MPASM Suite\PIC12F683.inc állományban találhatod meg. Idézet: „a PIC32MZxxDAyy -nak már nem is elég egy tápfeszültség” Kérdés: hol lehet azt a családot kapni? Én valahogy nem találkoztam vele.
Valaki nem tud egy olyan rövid összefoglalót a mikrokontrollerek adatairól (ADC,PWR , külső belső oszcillátor stb,stb) , hogy ne kelljen az egész adatlapot átnézni. Androidra létezik ilyen ,de én windowsra szeretném valamilyen formátumban.
A Microchip gondolt erre:
Microchip Advanced Part Selector
Örök hála .Köszönöm
Zsolt köszönöm és világos. ahogy újként megvesszük a vezérlőt
és minden bit1 akkor eszerint képlékenynek kell lennie és a CP és CPD értelmezése eleve nem lehetne ON állapotban bit1. Zsoké. Tehát ezenkívül egy configban az, hogy még mi van fordítva OFF=bit1 azt az adatlapja írja le. PWRTE az általánosan is ilyen mint a CP,CPD ? Ja és az include állomány asm nevek oké. Tehát pont jó volt a config, amit hexben kaptam. Hálám nektek
Sziasztok! Segítséget szeretnék kérni, ha esetleg Valaki ismeri a 12F683 at. Mekkora a belső kvarc órajele? Köszönöm.
Adatlapjából nem tudtam értelmezni. A hozzászólás módosítva: Ápr 21, 2016
8Mhz (adatlap Figure 3-1, 21o), azonban ezt meg le lehet osztani ha tul nagy.
Köszönöm Zsolt. Egy motor PWM meghajtásához kellene 20kHz es freki.
A hozzászólás módosítva: Ápr 21, 2016
Szia!
Ez a PIC van neked, vagy most akarod megvenni? Azért kérdezem, mert ha csak egy, vagy max kettő motor PWM meghajtása a cél, akkor a 10F320, vagy 322-őt ajánlanám. Roppant egyszerű vele összehozni. A hozzászólás módosítva: Ápr 21, 2016
Megnéztem a PIC adatlapját.
Teljesen hagyományos felépítésű. Az osccon registert állítsd '01110001'-re. A t2con registert '00000100'-re. A PR2-őt 100-ra. A ccp1con registert '00001100'-ra. A ccpr1l -el 0-100-ig szabályozhatod a kitöltést. Az 5-ös lábat (GP2) állítsd kimenetnek. Ott adja ki a PWM jelet. Amúgy milyen motort akarsz 20KHz-n szabályozni? A hagyományos szénkefés motoroknak ekkora frekin romlik a teljesítménye, és minden melegedni fog. (fet, vezeték, motor.) Én a tizedét szoktam max használni.
Hali,
segítséget szeretnék kérni egy hiba feltárásához: Adott egy 16f873-as IC, aminek a fent nevezett része instabil (legalábbis a Proteus szerint, ugyanis rendszertelenül villog), pedig ennek kéne "aktiválni" az L293D motorvezérlőt. 2 gombot használok, az egyik a PWM_duty-it emeli, a másik csökkenti. Amíg a pwm_duty 0, addig semmi gond nincs, amint kap egy magasabb értéket, máris instabillá válik. Próbáltam csökkenteni/növelni az alapórajelet, nem történt változás... Mellékelem a Proteus szimulációt, illetve a MikroC kódot. Illetve, még az lenne kérdésem, hogy a pcb tervezéshez nem konyítok annyira, mint szeretnék, de ha a szimulált áramkört egy az egyben megcsinálom nyákra, akkor működni fog a való életben is, vagy még kell valami hozzá? Előre is köszönöm, ha valaki segítene benne... (Zárójelben, ugyan ez a pcb terv p16f877-tel nem eredményezett hibát a szimulációban) A hozzászólás módosítva: Ápr 21, 2016
Idézet: „TRISC = 0xFF; //PORTC as output” Ekkor a PORTC minden bitje bemenet.
|
Bejelentkezés
Hirdetés |