Fórum témák

» Több friss téma
Fórum » PIC18F I/O probléma
 
Témaindító: p3n3m, idő: Aug 22, 2009
Témakörök:
Lapozás: OK   1 / 1
(#) p3n3m hozzászólása Aug 22, 2009 /
 
Jónapot mindenkinek!
Most kezdtem el pic18-as szériával foglalkozni, és rögtön az elején probléma adódott.A következőt szeretném megcsinálni:az egész C portot kimenetté szeretném tenni, és "1"-et szeretnék kiadni a lábakra.
íme a program:
/**includes**/
#include "p18f46k20.h"
/**main**/
void main(void)
{
TRISC=0;
PORTC=0xFF;
while(1);
}
/**main-end**/
C18-al fordítom nincs error, nincs figyelmeztetés, és mégsem történik semmi(vagy legalábbis a kimeneteken "0"-a van...)PIC24-el ez simán működött, de itt semmi...
//////////
Valakinek valami megoldási javaslata? Akármilyen ötletet szívesen veszek.
Előreis köszönöm:Katona Ábel
(#) bladika válasza p3n3m hozzászólására (») Aug 22, 2009 /
 
PIC-Miértek hogyanok topik!

Egyébként oszcillátor megy? Külső/belső? A programban semmit sem látni a CONFIG bitekből? Helyesen be vannak állítva?
(#) icserny válasza p3n3m hozzászólására (») Aug 22, 2009 /
 
Szimulátorban működik, tehát konfigurációs vagy áramköri probléma lehet.
(#) Xenen Mo válasza p3n3m hozzászólására (») Aug 22, 2009 /
 
PORTC=0xff helyett LATC=0xff, LAT regiszterrel lehet irni a portra a PORT-al olvasni.
OSC beállítás?
(#) potyo válasza Xenen Mo hozzászólására (») Aug 23, 2009 /
 
Idézet:
„PORTC=0xff helyett LATC=0xff, LAT regiszterrel lehet irni a portra a PORT-al olvasni.”


Ez így nem teljesen igaz. A teljes PORTC vagy a teljes LATC írása a hardveren pontosan ugyanazt eredményezi. A különbség akkor van, ha csak egy lábat írunk, akkor nem mindegy, mert a módosításhoz a hardver először beolvassa az adott regiszter értékét, módosítja azt a bitet, amit mondunk neki, majd visszaírja az egész regisztert. Na itt nem mindegy, hogy a porton ott levő állapotot(PORTC), vagy amit előzőleg kiírtunk rá (LATC) olvastassa be vele, mert a kettő nem okvetlenül egyezik.

Jelen helyzetben biztosan a konfiguráció a probléma, esetleg tápszűrő kondenzátor hiánya. Ha jól látom, konfig megadása nélkül külső RC oszcillátort vár a PIC, vagyis minimum át kell állítani belső oszcillátorra. Ezenkívül lebegő PGM láb vagy lebegő MCLR láb is lehet még.

(#) tardis válasza p3n3m hozzászólására (») Aug 24, 2009 /
 
Szerintem is konfig.
Nézd át a használandó lábak egyéb funkcióit. 18F1320-nál pl alapértelmezetten az AD lábak analógként resetelődnek. Ha simán DI/DO-ként akarod használni, akkor át kell állítani a program elején.
(#) potyo válasza tardis hozzászólására (») Aug 24, 2009 / 4
 
Én már megnéztem, PORTC-n nincs semmi analóg funkció a 18F46K20-on.

Amúgy minden PIC-re igaz, nem csak a 18F1320-ra, hogy az ADC és a komparátor lábak resetkor analóg módba billennek. Ez egyszerű elővigyázatosság, mint ahogy induláskor a TRISx bitek is bemenetté vannak állítva, nehogy két kimenet szembekapcsolódjon az áramkörben.
(#) p3n3m válasza potyo hozzászólására (») Szept 5, 2009 /
 
Köszönöm mindenkinek a megoldási javaslatokat!
A problémát nem sikerült +oldani(bár több mint valószínű hogy hardveres probléma volt) mert inkább a pic24f16ka102-est fejlesztettem amivel ugyanez volt a probléma.Azt ma sikerült megoldani, azóta nagyszerűen működik.De amint megycsinálom a pic18-at is írok(hogy mégse legyen hiábavaló a problémamegoldásotok )
Katona Ábel
(#) joco017 hozzászólása Jún 24, 2014 /
 
Üdv!
Van egy pic18f27j53 -s mikrovezérlőm töltöttem rá bootloadert hogy usb-n keresztül is tudjam programozni (konkrétan innen a mikroC-set tölttöttem rá http://www.libstock.com/projects/view/55/microchip-hid-bootloader-t...tested).
A bootloader feltöltése sikeres volt, vagyis mikroc-ben megírt progit simán feltudom rá tölteni usb-n keresztül, a gond ott kezdődik hogy a feltöltött program nem fut a mikro vezérlőn. Valaki tapasztalt már ehhez hasonlót?
(#) potyo válasza joco017 hozzászólására (») Jún 24, 2014 /
 
Van valami visszaellenőrzés, hogy biztosan sikeres volt a rátöltés? Ha igen, akkor lehet hibás maga a program, amit rátöltenél Próbáltad egy láb egyszerű kimenetre kapcsolásával és annak billegtetésével?
(#) joco017 válasza potyo hozzászólására (») Jún 24, 2014 /
 
add vissza jelzést hogy sikeres a feltöltés és csak egy led villogtatós programot töltöttem fel hogy teszteljem minden oké de az se megy
(#) potyo válasza joco017 hozzászólására (») Jún 24, 2014 /
 
Annak figyelembevételével fordítottad a kódot, hogy majd utána bootloaderrel lesz feltöltve és futtatva?
(#) joco017 válasza potyo hozzászólására (») Jún 24, 2014 /
 
konkrétan ezt a kódot fordítottam le és utána töltöttem fel
void main()
{
ADCON0=0xff;
ADCON1=0x0f;
TRISC=0x00;
while(1)
{
PORTC=0xff;
delay_ms(500);
PORTC=0x00;
delay_ms(500);
}
}
az a gond hogy most foglalkozok először pic18-sal azelőtt csak AVR és pic-16-st programoztam és még tanácstalan vagyok ezzel hogy mi lehet a gáz Tanárom azt mondja konfigurációs hiba de kipróbáltam pár ajánlott konfiget és azzal se ment
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem