www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Težave z AD pretvorbo in PIC18F1220

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
trully1
Član
Član



Pridružen-a: Pet 14 Nov 2003 20:20
Prispevkov: 216
Aktiv.: 0.91
Kraj: Železniki

PrispevekObjavljeno: Tor Sep 05, 2006 6:09 pm    Naslov sporočila:  Težave z AD pretvorbo in PIC18F1220 Odgovori s citatom

Zdravo

Zanima me ali ima kdo primer kode z uporablenim PIC18F1220 oziroma katerim koli 18Fxxxx. Pravkar sem iz asemblerja (pici 16F) prešel na C (microchipov C18-). Težave imam z ADC modulom. Zadeva kar noče začeti pravilno delovati. Poiskusil sem že vse možne nastavitve, vendar mi še kar povzroča sive lase. Evil or Very Mad
Sedaj pa ne vem ali imam napako v programu ali pa v vezju(ne verjamem). Na žalost pa debugerja nimam, da bi lahko spremljal, kaj se v resnici dogaja.
Na netu sem iskal, pa nisem dobil nič primernega.

LP Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
LoLek
Član
Član



Pridružen-a: Sre 25 Feb 2004 12:46
Prispevkov: 343
Aktiv.: 1.45

PrispevekObjavljeno: Tor Sep 05, 2006 6:56 pm    Naslov sporočila:   Odgovori s citatom

Poiskusi s to kodo, sicer je napisana za 18f458. To sem pobral iz enega mojega projekta, je samo delček kode, ni najbolj urejena. V while zanki sem čital samo zgornjih 8 bitov. Mah saj se vidi. Very Happy


adc.c
 Opis:

Download
 Ime datoteke:  adc.c
 Velikost datoteke:  809 Bytov
 Downloadano:  12 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trully1
Član
Član



Pridružen-a: Pet 14 Nov 2003 20:20
Prispevkov: 216
Aktiv.: 0.91
Kraj: Železniki

PrispevekObjavljeno: Tor Sep 05, 2006 8:23 pm    Naslov sporočila:   Odgovori s citatom

Zdravo
Hvala za kodo. Vidim, da si uporabu knjižnice za ADC. Jaz sem napisal kar kot v asemblerju tako da bom probal še na ta način.
Zanima pa me koliko imaš frekvenco oscilatorja in v programu ni definiranega smeri (I/O) porta. Če se ne motim mora bit deklariran kot vhod. Ali je to nastavljeno že v knjižnici ko izbereš CH0????

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
LoLek
Član
Član



Pridružen-a: Sre 25 Feb 2004 12:46
Prispevkov: 343
Aktiv.: 1.45

PrispevekObjavljeno: Sre Sep 06, 2006 8:22 am    Naslov sporočila:   Odgovori s citatom

Funkcija SetChanADC() je definirana:
Koda:

Function: Select the channel used as input to the A/D converter.
Include: adc.h
Prototype: void SetChanADC( unsigned char channel );
Arguments: channel
One of the following values (defined in adc.h):
ADC_CH0 Channel 0
ADC_CH1 Channel 1
ADC_CH2 Channel 2
ADC_CH3 Channel 3
ADC_CH4 Channel 4
ADC_CH5 Channel 5
ADC_CH6 Channel 6
ADC_CH7 Channel 7
ADC_CH8 Channel 8
ADC_CH9 Channel 9
ADC_CH10 Channel 10
ADC_CH11 Channel 11
Remarks: Selects the pin that will be used as input to the A/D converter.
File Name: adcsetch.c
Code Example: SetChanADC( ADC_CH0 );


Se pravi, da z njo nastaviš vhodni pin za ADC.


To je pa funkcija:

Koda:
/* $Id: adcsetch.c,v 1.2 2004/02/10 21:01:55 sealep Exp $ */
#include <p18cxxx.h>
#include <adc.h>

/********************************************************************
*    Function Name:  SetChanADC                                     *
*    Return Value:   void                                           *
*    Parameters:     channel: channel selection                     *
*    Description:    This routine sets the A/D to the specified     *
*                    channel                                        *
*    Notes:          The bit definitions for channel can be found   *
*                    in the adc.h file.                             *
********************************************************************/
void SetChanADC(unsigned char channel)
{
#ifdef ADC_INTERFACE_OLD
  ADCON0 = (channel & 0b00111000) |
           (ADCON0  & 0b11000111);
#else
  ADCON0 = ((channel >> 1) & 0b00111100) |
           (ADCON0  & 0b11000011);
#endif
}



Mislim, da sem imel 20MHz quartz.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group