Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Random olarak dakika üretmek

Başlatan adiga, 15 Ağustos 2015, 20:55:12

cosine

Aynı işlemi diğer fonksiyonada uygulamak lazım.

DO
   {
      deger = rand ();
   } WHILE (!(deger >= 5 &&deger <= 15)) ;

adiga

#16
Alıntı yapılan: cosine - 09 Eylül 2015, 17:17:48
Aynı işlemi diğer fonksiyonada uygulamak lazım.

DO
   {
      deger = rand ();
   } WHILE (!(deger >= 5 &&deger <= 15)) ;

hocam kodu uyguladım yine istenilen zaman aralığında çalışmıyor maalesef.

Çalışma zamanı aşağıdadır.



revize edilen kod;
#include <main.h>
#include <stdlib.h>

int16 adc_value;

int deger,deger2;
boolean dgr=true;
boolean dgr2=false;

int16 enerji_var()
{
   DO
   {
      deger = rand ();
   } WHILE (!(deger >= 5 &&deger <= 15)) ;

   dgr = true;
   RETURN deger;
}

int16 enerji_yok()
{
   DO
   {
      deger2 = rand ();
   } WHILE (!(deger2 >= 30 &&deger2 <= 90)) ;

   dgr2 = true;
   RETURN deger2;
}

void main()
{
   setup_adc_ports (NO_ANALOGS|VSS_VDD); //ANALOG girdi yok
   setup_adc (ADC_OFF); //  ADC birimi devre dışı
   setup_timer_0 (RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1 (T1_DISABLED); // Timer1 devre dışı
   setup_comparator (NC_NC); 
   setup_vref (FALSE);

   WHILE (1)
   {
      
      IF (dgr == true)
      {
         output_high (pin_A0);
         deger = enerji_var ();
         delay_ms (1000 * 60 * deger);
         dgr = false;
         dgr2 = true;
      }

      IF (dgr2 == true)
      {
         output_low (pin_A0);
         deger2 = enerji_yok ();
         delay_ms (1000 * 60 * deger2);
         dgr2 = false;
         dgr = true;
      }
   }
}

mufitsozen

Alıntı Yap#include <stdlib.h>
#include <stdio.h>

#define ALT_LIMIT 5
#define UST_LIMIT 15

int random(){
    return( ALT_LIMIT + rand() / (RAND_MAX / (UST_LIMIT - ALT_LIMIT + 1) + 1));
}

int main(void)
{
    int ndx=0;
    int rdeger;

    printf("\n ");
    while(ndx++<200){
        printf(" %d",random());
    }

    printf("\n -O-");

    return 0;
}

Alıntı Yap
  5 11 7 13 11 10 8 14 14 13 6 14 12 10 8 5 6 9 6 6 15 9 6 5 5 9 10 11 11 11 6 1
2 9 8 5 11 13 13 10 8 14 12 15 15 10 6 10 7 14 7 13 14 15 15 11 9 7 8 14 5 9 6 1
2 5 5 15 8 8 11 12 14 12 10 7 13 10 10 15 13 6 11 9 13 11 11 8 6 7 9 13 10 15 13
8 6 12 10 5 12 10 6 15 6 14 12 8 9 5 15 12 6 14 14 11 7 6 13 10 6 10 13 9 8 11
12 13 12 10 6 9 14 5 10 12 9 6 15 15 11 8 10 9 14 8 10 7 15 8 13 11 7 13 14 9 10
14 5 15 11 5 10 7 14 11 12 7 14 6 6 13 8 15 8 8 6 13 14 12 11 13 7 6 5 5 13 14
7 6 11 5 6 9 13 12 10 5 9 7 12 8
-O-
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

adiga

#18
Alıntı yapılan: mufitsozen - 10 Eylül 2015, 11:10:14
#include <stdlib.h>
#include <stdio.h>

#define ALT_LIMIT 5
#define UST_LIMIT 15

int random(){
    return( ALT_LIMIT + rand() / (RAND_MAX / (UST_LIMIT - ALT_LIMIT + 1) + 1));
}

int main(void)
{
    int ndx=0;
    int rdeger;

    printf("\n ");
    while(ndx++<200){
        printf(" %d",random());
    }

    printf("\n -O-");

    return 0;
}
ustadlar bu kodu kendi koduma uyarlayamadım. Yardımcı olabilir misiniz?

mufitsozen

Alıntı yapılan: adiga - 11 Eylül 2015, 13:44:38
ustadlar bu kodu kendi koduma uyarlayamadım. Yardımcı olabilir misiniz?

hemde cuma gunu kim vakit bulup yapabilecek. Biraz sabir. Ben bugun gece/yarin uyarlar ozelden yollarim.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.