16f688 ADC yardım

derorhan

Üye
Katılım
7 Ara 2010
Mesajlar
33
Puanları
1
Yaş
36
iyi günler arkadaşlar.
9vluk bir pilin doluluk oranını göstermek için 16f688 pic kullanıyorum.sıkıntım şu;
PIC C Compiler'de programı yazdım ve debug tuşuna bastıktan birkaç saniye sonra acces violation at adress .... şeklinde bir uyarı geldi. Hex dosyası oluştumu oluşmadımı bilmiyorum.?
asıl sorum şu 16f688'de RA4 bacagından analog giriş oldugunu ifade etmek için parantez içlerine ne yazmalıyım.
setup_adc_ports(?)
set_adc_channel(?)
 
an3 olarak tanımlanması gerekir:
Kod:
#device ADC=8

...
...
   setup_adc_ports(an3);
   setup_adc(adc_clock_internal);

...
...
   set_adc_channel(3);

...
 
dedigin gibi yaptım ama program şu haliyle hata veriyor;
"underfined identifier an3"
acaba benmi bir yerde yanlışlık yapıyorum....
Kod:
#include <16f688.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

#device ADC=10  // 10 bitlik ADC kullanılacağı belirtiliyor.
#use delay (clock=4000000)
#use fast_io(c) //Port yönlendirme komutları C portu için geçerli
#use fast_io(a) //Port yönlendirme komutları A portu için geçerli


unsigned long int giris=0 ; // İşaretsiz 16 bitlik tam sayı tipinde değişken tanımlanıyor
float voltaj=0 ;            // ondalıklı tipte voltaj isminde değişken tanıtılıyor


void main ()
{
   set_tris_c(0x00);  // C portu komple çıkış
   set_tris_a(0x10);  // RA4 giriş diger portlar çıkış
   output_c(0x00);    // C portu çıkışını sıfırla
   
   setup_adc_ports(an3);
   setup_adc(adc_clock_internal);
  
  basla:
   set_adc_channel(3);    // RA4 bacagından analog giriş var.
   delay_ms(500) ;
   giris=read_adc();      // okunan deger giris degişkenine aktarılıyor
....
 
Son düzenleme:
henüz dikkatimi çekti
#device ADC=8
demişsin. o zaman programdaki voltaj hesabıda degişmez mi?
 
dedigin gibi yaptım ama program şu haliyle hata veriyor;
"underfined identifier an3"
acaba benmi bir yerde yanlışlık yapıyorum...


"an3" yerine "sAN3" yazarsanız hata vermez, ben de gözden kaçırmışım, bu gibi ayrıntılar için mcu'nun header dosyasına bakabilirsiniz.

henüz dikkatimi çekti
#device ADC=8
demişsin. o zaman programdaki voltaj hesabıda degişmez mi?

Tabii ki değişir, o satırı adc çözünürlüğünün de belirtilmesi gerektiğini vurgulamak için yazmıştım, siz kaç bit kullanacaksanız ona göre tanımlayabilirsiniz.
 

Yeni mesajlar

Forum istatistikleri

Konular
128,740
Mesajlar
920,111
Kullanıcılar
450,808
Son üye
Efeclk00

Yeni konular

Geri
Üst