You are here

PIC18F4550 nem indul

9 posts / 0 new
Last post
SzG
SzG picture

Már jóideje próbálom beüzemelni a címben szereplő mikrokontrollert, sikertelenül.
Valakinek van ötlete, hogy miért nem működik?

Sajnos hivatalos Microchip példaprogramot nem találtam ehhez a mikrokontrollerhez.

Comments
Lengyel József
Lengyel József picture

Szia,SzG !

A delay könvtári függvénnyel kapcsolatosan : Ha jól értettem a kommentedből a PIC16F887- működik a delay_ms(1000) ,PIC18F4550 -el viszont nem _

Meglehet ,hogy a configban ,esetleg "még van rejtett hiba" ,és emiatt nem dolgozik a PIC18F4550 rendesen.

Az általad csatolt "C" forrásfájlban esetleg a PLLEN bitet bekapcsolni,(ez a CONFIG1H konfigurációs regiszterben található).

Csak egy javaslat hát ha ...

A saját munkáim során azt leszűrtem ,hogy bármilyen PIC-ről is van szó a CONFIG --is-- fokozott figyelemet "követel" a megfelelő működés érdekében.

Jó munkát kívánok !

Üdv : Lengyel József

0

ty
ty picture

- Kapcsolási rajzot tegyél fel légy szíves!
- továbbá egy képet a konfig bitek állásáról az égetést követő visszaellenőrzött állapotról

A működésnek HW és SW feltételei vannak, a SW csak a fele.

- táp
- reszet láb (konfig bitek szerint)
- oszcillátor (konfig bitek szerint)
- brown-out reset (konfig bitek szerint)
- watch-dog timer (konfig bitek szerint)

0

AzzA
AzzA picture
*

Szia !

MCLR, Clock, kölső ? belső ? ezt jó lenne tudni.
----
led.hex --> MCLR +5V-ra, Órajel 20MHz belső

Üdv.

File csatolás: 

0

SzBálint
SzBálint picture
****

szia: a PIC oszcillátora működik? (szkóp)

Bálint

0

SzG
SzG picture

Meglesz a probléma.
Működik, csak túl gyorsan villog a LED. (oszcilloszkóp segített)

Egy-két kérdés felmerül ilyenkor, mégpedig:

A C-kódban
#define _XTAL_FREQ -nél a tényleges kvarc értéket kell beírni, vagy a már leosztott értéket?

Továbbá:
__delay_ms(1000);
xc8 --chip=18F4550 Ezzel a chippel paraméterezve a fordítót az alábbi hibát dobja:
(1355) in-line delay argument too large

Viszont xc8 --chip=16F887 Ezzel a chippel paraméterezve probléma nélkül működik?

0

ty
ty picture

- Tényleges frekvenciát. 4MHz esetén 4000000
- Delay rutinok általában bájtos értékkel hívhatóak.

0

SzG
SzG picture

Ugyanaz a fordító egyszer elfogadja a __delay_ms(1000);-t, máskor nem?

Te hogy állítanál be 1 másodperces késleltetést delay függvénnyel?

0

ty
ty picture

a) delay100ms(10);

b)
for (i=0; i<10;i++)
   DelayMs(100);

0

Sponsored links