Proton ve PicBasic çalışmasında farklılık

Başlatan agora_meyhanesi42, 21 Şubat 2020, 16:04:30

agora_meyhanesi42

Merhaba Erol beyden aldığım kodları rf modüllerle test ediyorum. Pic BAsic proda kodlar çok güzel çalışıyor butona basınca alıcıdaki ledi kararlı bir sekilde yakıp söndürüyor. Fakat aynı kodları proton ile derlediğimde alıcı yada verici kararsız çalışıyor led kararsız çalışıyor. Acaba sebebi ne olabilir. Buton ve led bağlantıları programda mevcut devre gerçekte denenmiştir.

Saygılarımla

proton verici kodları:

@CONFIG_REQ
@__CONFIG _CONFIG1, CP_OFF & CCP1_RB0 & DEBUG_OFF & WRT_PROTECT_OFF & CPD_OFF & LVP_OFF & BODEN_OFF & MCLR_OFF & PWRTE_OFF & WDT_OFF & INTRC_IO 
@__CONFIG _CONFIG2, IESO_OFF & FCMEN_OFF 


Device = 16F88
OSCCON=%01111000

CMCON=7           '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=0    'Dahili pull-up lar AKTİF yapıldı ayrıca pull-up direncine gerek yok
PORTA=0
TRISA=%00000000
PORTB=0
TRISB=%00000011
'------------------------------------------------------------------------------
Symbol CIKIS=PORTA.0
Symbol TUSA=PORTB.0
Symbol TUSB=PORTB.1
Symbol Preamble = $55
VER    VAR   Byte
'------------------------------------------------------------------------------
DelayMS 200
VER=0
'------------------------------------------------------------------------------
BASLA: VER=0
       If TUSA=0 Then
          VER=88
          GoSub GONDER
          While TUSA=0 
          Wend
       EndIf
          
       If TUSB=0 Then 
           VER=66
           GoSub GONDER
           While TUSB=0
           Wend
        EndIf    
           
       DelayMS 100
       GoTo BASLA
'-------------------------ALT PROGRAMLAR---------------------------------------
GONDER:  
         SerOut CIKIS,396,[Preamble,Preamble,Preamble]


        SerOut CIKIS,396,["E","T","E",ver]
        SerOut CIKIS,396,["E","T","E",ver]
        Return
End

proton alıcı kodları:

@CONFIG_REQ
@__CONFIG _CONFIG1, CP_OFF & CCP1_RB0 & DEBUG_OFF & WRT_PROTECT_OFF & CPD_OFF & LVP_OFF & BODEN_OFF & MCLR_OFF & PWRTE_OFF & WDT_OFF & INTRC_IO 
@__CONFIG _CONFIG2, IESO_OFF & FCMEN_OFF 


Device = 16F88
OSCCON=%01111000



TRISA=%00000000   'A portu A.0 giriş diğerleri çıkış yapıldı.
TRISB=%00000001   'B portu tamamı çıkış yapıldı.



 AL     VAR  Byte
 GIRIS  VAR  PORTB.0
 ROLEA  VAR  PORTA.0
 ROLEB  VAR  PORTB.1
 LEDA   VAR  PORTB.6
 LEDB   VAR  PORTB.7
'-----------------------------B A Ş L A N G I Ç ---------------------------    
CMCON=7

DelayMS 500
PORTB=0  'tüm çıkışlar low seviyesinde
'-------------------------------------------------------------------------------    
BASLA:                
       SerIn GIRIS,396,[Wait ("ETE"),AL]
      
       If AL=88 Then 
          Toggle LEDA
          Toggle ROLEA
       EndIf
           
       If AL=66 Then
          Toggle LEDB
          Toggle ROLEB
       EndIf   
       DelayMS  200
       GoTo BASLA

End


Pic basicpro verici kodları:
Include "modedefs.bas"


@ __CONFIG  _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
@ __CONFIG  _CONFIG2, _IESO_OFF & _FCMEN_OFF

OSCCON=%01111000

CMCON=7           '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=0    'Dahili pull-up lar AKTİF yapıldı ayrıca pull-up direncine gerek yok
PORTA=0
TRISA=%00000000
PORTB=0
TRISB=%00000011
'------------------------------------------------------------------------------
Symbol CIKIS=PORTA.0
Symbol TUSA=PORTB.0
Symbol TUSB=PORTB.1

VER    VAR   Byte
'------------------------------------------------------------------------------
pause 200
VER=0
'------------------------------------------------------------------------------
BASLA: VER=0
       If TUSA=0 Then
          VER=88
          GoSub GONDER
          While TUSA=0 
          Wend
       EndIf
          
       If TUSB=0 Then 
           VER=66
           GoSub GONDER
           While TUSB=0
           Wend
        EndIf    
           
       pause 100
       GoTo BASLA
'-------------------------ALT PROGRAMLAR---------------------------------------
GONDER:

        SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]
        SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]


        SEROUT2 CIKIS,396,["E","T","E",ver]
        SEROUT2 CIKIS,396,["E","T","E",ver]
        Return
End

Pic Basic pro alıcı kodları:

Include "modedefs.bas"
@ __CONFIG  _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
@ __CONFIG  _CONFIG2, _IESO_OFF & _FCMEN_OFF

OSCCON=%01111000



TRISA=%00000000   'A portu A.0 giriş diğerleri çıkış yapıldı.
TRISB=%00000001   'B portu tamamı çıkış yapıldı.



 AL     VAR  Byte
 GIRIS  VAR  PORTB.0
 ROLEA  VAR  PORTA.0
 ROLEB  VAR  PORTB.1
 LEDA   VAR  PORTB.6
 LEDB   VAR  PORTB.7
'-----------------------------B A Ş L A N G I Ç ---------------------------    
CMCON=7

PAUSE 500
PORTB=0  'tüm çıkışlar low seviyesinde
'-------------------------------------------------------------------------------    
BASLA:                
       SerIn2 GIRIS,396,[Wait ("ETE"),AL]
      
       If AL=88 Then 
          Toggle LEDA
          Toggle ROLEA
       EndIf
           
       If AL=66 Then
          Toggle LEDB
          Toggle ROLEB
       EndIf   
       PAUSE  200
       GoTo BASLA

End
Teşekkürler
Yüksel Türk ! Senin için yükselmenin hududu yoktur...

ferit06

Koduna şöyle bir satır ekle OSCON Kaç MHz ise...

Declare Xtal 4  '  4 MHz için

agora_meyhanesi42

#2
Alıntı yapılan: ferit06 - 21 Şubat 2020, 16:57:15Koduna şöyle bir satır ekle OSCON Kaç MHz ise...

Declare Xtal 4  '  4 MHz için

Teşekkürler ama o satır zaten kodlarda var. Dahili osilatör kullanılmaktadır.
Yüksel Türk ! Senin için yükselmenin hududu yoktur...

OG

O satır kodda yok
bahsi geçen deklarasyon proton için, proton time işlemlerini ona göre düzenler
SerOut, Serin, delayms gibi

declare edilmemiş ise, proton default değeri ne ise ona göre kod üretir.

Ayrıca forum içinde kodlar için Code etiketini kullanınız.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

agora_meyhanesi42

Alıntı yapılan: ferit06 - 21 Şubat 2020, 16:57:15Koduna şöyle bir satır ekle OSCON Kaç MHz ise...

Declare Xtal 4  '  4 MHz için
Teşekkürler deneyecegim @ferit06 mesajı yanlış anlamışım.
Yüksel Türk ! Senin için yükselmenin hududu yoktur...