saniyeler kayıyor yardım

tersoll

Üye
Katılım
25 Nis 2010
Mesajlar
142
Puanları
1
Yaş
39
böyle yapıyorum olmuyor

#include "C:\Users\server\Desktop\aaaaa\main.h"



void main()
{
int i=0;

int16 a;



setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
while(1)
{

for(a=0;a<10;a++)
delay_ms(1000);
{
output_toggle(pin_b0);
}

if(a<=10)
i=0;
}
}


böyle yapıyorum olmuyor

#include "C:\Users\server\Desktop\aaaaa\main.h"







void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

// TODO: USER CODE!!

basla:
output_high(PIN_b0);
output_high(pin_b2);
delay_ms(10000);
output_low(pin_b0);
output_low(pin_b2);
output_high(PIN_b1);
output_high(pin_b3);
delay_ms(10000);
output_low(pin_b1);
output_low(pin_b3);

goto basla;



}

ya çokmu şey istiyorum 1 çıkış 10sn çalışıp durucak saniyelerde değişmicek benim saniyeler sürekli ileriye doğru atlıyo yardım edin lütfen
 
saniyeleri plc de olduğu gibi zamanı saydıktan sonra nasıl sıfırlıcam ki hata vermesin her 10 sn de başa dönsün yani sorun buysa siz daha iyi bilirsiniz
 
hocam saniyeler kayar zaten hiçbir zaman 10 saniye olmaz.ama çok kayma varsa osiilatörünüzü kontrol edin. timer ları kullanın kesme lerle istediğiniz zaman aralığını elde etmeye çalışın.
 
Forumumuzda interrupt ile ilgili tonlarca mesaj var. Bir baksanız olayı çözüceksiniz.
 
Disardan bir displayle 0 dan 9a kadar saydiriyorum 9 da benim picim cikis verirken 3 turdan sonra 0 dan 0 kayiyo sonra 1 den 1 e sorun olurmu

KontrolKalemi Mobile ile gönderildi.
 
Kesmelerle halledebilecegim dogru bir ornek verirseniz uzerinde caba gostericem armut pis agzima dus degil niyetim kapiyi acmaniz

KontrolKalemi Mobile ile gönderildi.
 
kristalinizi 4.096mhz olarak seçerseniz timer0'ı da 50'msn ye göre kurarsanız her 20 kesmede tam bir saniyelik gecikme elde edersiniz. frekansta kayma da yaşamazsınız.
 
#include "C:\Users\server\Desktop\aaaaa\main.h"
#int_RTCC
void RTCC_isr(void)
{

}

#int_TIMER0
int i=0;
void TIMER0_isr(void)
{
set_timer0(60);
i++;
if (i==20){
output_high(pin_b0);
}

}


void main()
{
output_b(0x00);
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); // Timer0 ayarlar? yap?l?yor
set_timer0(60); // TMR0 deg(eri belirleniyor
enable_interrupts(INT_RTCC);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);

// TODO: USER CODE!!

}


bu şekilde yapıyorum çıkış alamıyorum
 
hocam cıdırıcam ya şu örneği verin bana
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…