MPLAB X ve CCS C (delay_ms) sorunu

Başlatan ehliseyf, 07 Temmuz 2015, 11:06:37

ehliseyf

Yazmış olduğum programda bekleme zamanlarının tutmadığını gördüm. Gerekli bir ayarı mı atlıyorum ilk defa mplab x e geçtim. PİCKİT3 ile programlama yapıyorum. Zamanlama dışında program çalışıyor. delay fonksiyonlarında bir sıkıntı mı oluşuyor bilmiyorum. Benzer problemle karşılaşan oldu mu ?


programın bazı bölümleri step motor kontrol için eklenmişti. Zaman sorununu çözmek için basit rutinler deniyorum.

#include <18F2550.h>
#fuses HS,PLL5,USBDIV,PUT,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG   //HS,PLL1,
#use delay(clock=48000000)
#define USB_HID_DEVICE     TRUE           
#define USB_EP1_TX_ENABLE  USB_ENABLE_INTERRUPT //Uçnokta1'de Kesme transferi aktif
#define USB_EP1_RX_ENABLE  USB_ENABLE_INTERRUPT      
#define USB_EP1_TX_SIZE    64                //Uçnokta1 için maksimum al?nacak ve gonderilecek
#define USB_EP1_RX_SIZE    64                //veri boyutu (64 byte)
#include <pic18_usb.h>     
#include <USB_Konfigurasyon.h>                //USB konfigurasyon bilgileri bu dosyadad?r.
#include <usb.c>    
#include <stdlib.h>

//#define PGC   PIN_B6 //Giri?, Devre üzeri programlama pinleri,//ICD2 kullanmak istemezseniz bu sat?r? silin
//#define PGD   PIN_B7 //Ç?k??, Devre üzeri programlama pinleri //ICD2 kullanmak istemezseniz bu sat?r?silin


#define EN      PIN_B7
#define MS1     PIN_B6
#define MS2     PIN_B5
#define MS3     PIN_B4
#define rst     PIN_B3
#define slp     PIN_B2
#define stp     PIN_B1
#define dir     PIN_B0
#define sensor  PIN_C6
#define LED     PIN_C0 
#define UcNokta1       1 
#define usb_nm2        paket[2]
#define usb_nm1        paket[1]
#define komut          paket[0]

int16 i,s;
int16 yeni_nm ;
int16 baslangic;
int16 bitis;
int16 tekrar;
int16 nm = 800;
unsigned int8 paket[65];
unsigned int8 gond_paket[65];
int f,y,j ;


void main()
{
 //  setup_psp(PSP_DISABLED);        // PSP birimi devre d???
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre d???
   setup_timer_1(T1_DISABLED);     // T1 zamanlay?c?s? devre d???
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlay?c?s? devre d???
   setup_adc(ADC_OFF);         // ADC kipi devre d??? b?rak?l?yor.
   setup_adc_ports(NO_ANALOGS);   // ADC portlar? ADC amaçl? kullan?lm?yor.
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre d???
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre d???

   output_high(EN);//!ENABLE
   output_high(MS1);//MS1
   output_high(MS2);//MS2
   output_high(MS3);//MS3
   output_high(rst);//!RESET
   output_high(slp);//!SLEPP
 
 //reset_mot();
   usb_init();                      
   usb_task();                      
   usb_wait_for_enumeration();         //Cihaz, haz?r olana kadar bekle

   while(usb_enumerated())
   {
   for(;;)
   {   usb_put_packet(UcNokta1, gond_paket,3, USB_DTS_TOGGLE);
         if(usb_kbhit(1))             //E?er pc'den yeni bir paket geldiyse
         { usb_get_packet(UcNokta1, paket, 5); //paketi oku 
                  switch(Komut)              // Paketin ilk eleman?ndaki komutu oku ve ilgili göreve git
                  {
                      case 0x05:
                                  output_low(dir);//DIR-(YON)
                                 for(i=0;i<639;i++)
                                 {
                                       output_toggle(LED);//STEP
                                       delay_ms(100);                                             
                                 } output_low(LED);                                                                                                             
break;      
                      case 0x06:
                                 output_high(dir);//DIR-(YON)   
                                 for(i=0;i<639;i++)
                                       {
                                       output_toggle(LED);//STEP
                                       delay_ms(100);
                                 } output_low(LED);
break; 

      default:  ; break;   
                  }
         }                                          
    }
   }         
  }
     
Code'm mu oturturum !

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr