Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: karakaleli - 23 Ocak 2015, 17:28:24

Başlık: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: karakaleli - 23 Ocak 2015, 17:28:24
Merhaba, timer1 registerlarına erişip timer1 kesmesini sıfırlamam gerekmekte.Acaba bunu nasıl yapabilirim?
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: Salih - 23 Ocak 2015, 18:06:30
Set_Timer1(0);
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: Okan AKÇA - 23 Ocak 2015, 20:28:54
Her kesmede sifirliyor  0  yapmanin bir anlamı olmaz
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: Salih - 23 Ocak 2015, 20:55:58
Belki harici sayıcı olarak kullanıyordur.
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: yldzelektronik - 24 Ocak 2015, 14:55:05
Kesmeyi sifirlamaktan kasit kesme olusmasini engellemek mi kesme istegini sifirlamak m i soz ediyoruz? Amac ne?
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: ziyaretci - 24 Ocak 2015, 23:21:09
Kastın bayrak kaldırma ise;

#int_timer1
void kesme(){
disable_interrupts(int_timer1);   /* kesme programının başında timer1 kesmesini deaktif edersen kesme programından çıktığında timer1 kesmesi tekrar dinlenmeye başlar.*/
/*
komutlar.
*/
}
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: karakaleli - 26 Ocak 2015, 09:16:08
timer kesmesini sıfırlamakta ki amacım bilgisayarla veya çevresel elemanlarla iletişim kurarken gürültüyü önlemek.belirlenen buffer size dışında gelen  verileri okumasını engellemekdi.bende SET_TIMER1(0) şeklinde yapmıştım fakat farklı yolu olabilir mi diye düşündüm.yardımlarınız için teşekkürler.
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: esensoy - 26 Ocak 2015, 10:07:50
timer ile gürültüyü nasıl engelliyorsunuz?
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: karakaleli - 26 Ocak 2015, 10:31:48
Alıntı yapılan: esensoy - 26 Ocak 2015, 10:07:50
timer ile gürültüyü nasıl engelliyorsunuz?

mesela projemde 8 bit şeklinde alıyorum  örneğin dataya eğer gürültü veya herhangi birşey 1 bitlik gelirse 1+7 den benim tüm datalarım yanlış gelmeye başlayacak.onun önüne geçmiştim böylece.
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: Salih - 26 Ocak 2015, 11:10:17
Alıntı yapılan: karakaleli - 26 Ocak 2015, 10:31:48
mesela projemde 8 bit şeklinde alıyorum  örneğin dataya eğer gürültü veya herhangi birşey 1 bitlik gelirse 1+7 den benim tüm datalarım yanlış gelmeye başlayacak.onun önüne geçmiştim böylece.

Bende anlayamadın yaptığın işlemi.
Mümkünse kodlarla örnek verirmisin.
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: karakaleli - 26 Ocak 2015, 11:43:06
Alıntı yapılan: salih - 26 Ocak 2015, 11:10:17
Bende anlayamadın yaptığın işlemi.
Mümkünse kodlarla örnek verirmisin.

#int_TIMER1
void  TIMER1_isr(void)
{
i=0;
}








#INT_RDA

void IntRDA_isr(void)
{
SET_TIMER1(0);
unsigned char counter = 0;
data=getch();
array[i]=data;
i++;

if(i==RX_BUFFER_SIZE)
{
for(counter = 0; counter< RX_BUFFER_SIZE; counter++)
{
putchar(array[counter]);
}
i=0;
}
}





void main()
{
// SETUP_SPI(SPI_MASTER |SPI_L_TO_H  | SPI_CLK_DIV_16 )

ENABLE_INTERRUPTS(INT_RDA);
ENABLE_INTERRUPTS(GLOBAL);   
SET_TIMER1(65535);
ENABLE_INTERRUPTS(INT_TIMER1);
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_8 );

putchar(0x55);
    delay_ms(100);
while(1){};

}
Başlık: Ynt: CCS C Derleyicisinde Timer1 kesmesini sıfırlamak
Gönderen: esensoy - 26 Ocak 2015, 15:32:54
Yaptım dediğiniz şey gereksiz koddan başka birşey değil, böyle bir yöntem de hiç bir yerde görmedim, varsa teknik bir alt yapısı anlat da öğrenelim,

RS232 de data nın bozuk olup olmadığını parity ile anlamak daha doğrudur, yalnız parity de de çift sayıda bit gürültüden dolayı değişmişse yakalayamazsınız, yöntem değiştirmek gerekir,