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
Koduna şöyle bir satır ekle OSCON Kaç MHz ise...
Declare Xtal 4 ' 4 MHz için
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.
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.
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.