[elektro] dsPIC nem indul
Miko, Imre
imre.miko at siemens.com
Thu Jan 10 11:08:05 CET 2008
Szia,
En most kezdtem 4011-el foglalkozni, mert egy projekthez jol jon a sebessege,
es foleg a tobb parhuzamos sample/hold az AD-ben.
- labkisztas rettenet, de gondolom ez a nagyobb labszamu tagok lebutitasabol adodik, de akkor is
- periferiak kozul a TIMER1-re, es az UART-ra irtam progit, egyenlore szimulatorban,
kezelesuk egyszeru jol kiforrottnak tunik. Bar az UART-nal itt is hianyzik az adas vege IT.
- utasitaskeszletnel tetszik a repeat es do utasitasok, pl az alabbi kis macroval tudsz csinalni
kisebb idoziteseket, es az egesz csak ket utasitas lesz.
// delay constant number of cycles (cycles = 2...16385)
#define delay_cycles(cycles) ASM("repeat #%0 \n nop" :: "i" (cycles-2));
// delay variable number of cycles (cycles = 0...16383) +2
#define delay_cycles2(cycles) ASM("repeat %0 \n nop" :: "g" (cycles));
- IT kezeles is erdekes, nincs global IT enable, hanem IT level van
- C30 forditonal van binaris konstans tipus: 0b0000101
- Illetve a header fileok korrekt modon tartalmazzak az osszes SFR regisztert bitfield struktura-kent.
A progidhoz:
- LAT-ot mar kitargyaltak
- # include "p30f3012" helyett erdemes a #include <p30fxxxx.h> -t behuzni,
foleg ha valami modult irsz, mert akkor a projetben kivalasztott dspic-hez
tartozo headert tolti be.
- lehet, hogy nem megfelelo az oscillator konfiguraciod, ezert nem indul
a Fuse biteket a p30f3012 includban levo macro-kal tudod beallitani, pl:
_FOSC(CSW_FSCM_OFF & XT_PLL16) // XT quartz, PLL=16x
_FWDT(WDT_OFF) // Watchdog timer off
_FBORPOR(PBOR_OFF & MCLR_EN) // Brown-out reset off
_FGS(CODE_PROT_OFF) // code protection off
A headerben minden variaciora megvan a pelda is.
Mekkora quarzt-ot hasznalsz, milyen fuse beallitasokkal?
- az osszes tapfesz labat be kell kotni (AVSS, AVCC ) is.
(ezt meg nem probaltam, de valahol olvastam)
while(1) ciklusodban ugy peregnek a szamok, hogy azt ledeken nem fogod latni,
csak ha epp leall az oszcillator ;-)
Udv
Imre
> -----Original Message-----
> From: elektro-bounces at tesla.hu
> [mailto:elektro-bounces at tesla.hu] On Behalf Of Horvath Zsolt
> Sent: 2008. január 9. 8:13
> To: elektro at tesla.hu; elektronika, uC, dsp, wlan, programozas
> Subject: [elektro] dsPIC nem indul
>
>
>
> Sziasztok!
>
> Van valaki aki foglalkozik dsPICekkel? Tippet
> szeretnék kérni, hogy miért nem akar vajon elindulni?
> Készítettem saját NYÁK-ot hozzá gyakorlónak. 16-os PIC-ekkel
> több dolgot is készítettem, ugyanazokat a szempontokat vettem
> itt is figyelembe.
> De ez a nyomi dsPIC nem akar menni. Ha nem nyomom bele a
> foglalatba, hanem csak "szórakozok" vele ( értsd: különböző
> testhelyzetekben érintem a foglalathoz ) akkor van olyan
> testhelyzet, hogy elindul.
>
> Ezt abból gondolom, hogy olyan progi van benne, ami a B
> portot birizgálja és felgyulladnak a LED-ek. ( A többi porton
> meg nem. ) A program egyébként egy nagyon szimpla C progi,
> Microchip Student fordítóval fordítva. Ja és a programozó is
> saját. Azt nem tudom, hogy az rendesen működik-e.
>
> dsPIC30F3012-ről van szó.
>
> Itt a C progi:
>
> # include "p30f3012"
>
> int counter;
> int main ( void )
> {
> counter = 1;
> TRISB = 0;
> while(1)
> {
> PORTB = counter;
> counter++;
> }
> return 0;
> }
>
> Üdv.: Horváth Zsolt
>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list