Picproje Elektronik Sitesi

DERLEYİCİLER => Proton+ => Konuyu başlatan: mustafa_cmbz - 02 Eylül 2014, 20:28:14

Başlık: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: mustafa_cmbz - 02 Eylül 2014, 20:28:14
Merhabalar..


Sahada serout komutları sorun çıkarttığı için donanımsal olarak HSEROUT komutunu kullanmaya karar verdim fakat isiste sıkıntı yaşıyorum realde devre üzerinde denemeler yapmadım fakat isiste iki pic'i birbirine bağladığımda gönderdiğim datayı karşı tarafta alamıyorum pic'İn pinleri data gönderimi esnasında sarı olup duruyor sanırım kısadevre gibi oluyor.

İki pic'in bağlantısını kesip verici kısım'a isisteki virtual terminal bağlayıp dinleme yaptığımda datanın çıkışını okuyabiliyorum fakat iki pc'i birbirine bağladığımda sorun yaşıyorum..

Gözümden kaçan birşeyler mi var bulamadım bir türlü..

Device 16F628A
XTAL 20
'Config FOSC_HS,,MCLRE_OFF,LVP_OFF,WDT_OFF,PWRTE_ON,BODEN_OFF
Config FOSC_HS, WDTE_OFF, PWRTE_ON, MCLRE_OFF, BODEN_ON, LVP_OFF, CPD_ON, CP_ON



'SPBRG=129
'Declare HSERIAL_BAUD=2400    'MAXIBOOST
'Declare HSERIAL_RCSTA=$90    'MAXIBOOST
'Declare HSERIAL_TXSTA=$20   'MAXIBOOST        ' 20MHZ
'Declare HSERIAL_CLEAR=On     'MAXIBOOST
'Declare HSERIAL_SPBRG=129    'MAXIBOOST

SPBRG= 129
Declare Hserial_Baud = 2400        ' Set baud rate to 9600
Declare Hserial_RCSTA = %10010000  ' Enable serial port and continuous receive
Declare Hserial_TXSTA = %00100100  ' Enable transmit and asynchronous mode
Declare Hserial_Clear = On         ' Optionally clear the buffer before receiving
Declare Hserial_SPBRG= 129



CMCON=7 '16F628 de komparatör pinleri iptal hepsi giri? çyky?
'PORTB_PULLUPS = 1
OPTIMISER_LEVEL = 2
WARNINGS = OFF

TRISB=%00000000
TRISB=0
PORTB=0

TRISA=%00000000
TRISA=0
PORTA=0
'------------------------------------------------------------------------------

SYMBOL LED              = PORTB.5
SYMBOL BUZZER           = PORTB.7

SYMBOL INPUT_1          = PORTB.6

SYMBOL CALISMA_MODU     = PORTB.0    ' "1" OLURSA ALICI "0" OLURSA VERICI MODU

SYMBOL RF_TX            = PORTB.2    ' PİC'İN TX UCU
SYMBOL RF_RX            = PORTB.1    ' PİC'İN RX UCU


SYMBOL RELAY_1          = PORTB.3     
SYMBOL RELAY_2          = PORTB.4     


OUTPUT RELAY_1
OUTPUT RELAY_2
OUTPUT BUZZER
OUTPUT LED
OUTPUT RF_TX        ' RF MODÜLÜN TX İNE

INPUT  RF_RX
INPUT  INPUT_1
INPUT  CALISMA_MODU

LOW BUZZER


DIM VERI          AS BYTE
DIM A             as byte


VERI=0




ALICI_MOD_CALIS:
 

IF PORTB.0=1 THEN VERI = 10  : GOSUB RF_DATA_GONDER
DELAYMS 1000


GOTO ALICI_MOD_CALIS


'***************************************************************************************
'***************************/ ALT PROGRAMLAR /******************************************

beep:
High LED
High BUZZER
DelayMS 100
LOW BUZZER
Low LED
DelayMS 89
High LED
HIGH BUZZER
DelayMS 39
Low LED
LOW BUZZER
DelayMS 10
Return


RF_DATA_GONDER:
DELAYMS 10
HSerOut [Rep $AA\5,Rep $00\5,Rep $FF\5]'uyandirma sinyali preambl
HSerOut ["X",Dec VERI]

DELAYMS 10
VERI=0
RETURN








alıcı kısım:

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 02.09.2014                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device 16F628A
XTAL 20
'Config FOSC_HS,,MCLRE_OFF,LVP_OFF,WDT_OFF,PWRTE_ON,BODEN_OFF
Config FOSC_HS, WDTE_OFF, PWRTE_ON, MCLRE_OFF, BODEN_ON, LVP_OFF, CPD_ON, CP_ON

Declare LCD_DTPIN PORTB.4 'DATA giri?i PORTB'nin 4. ucundan ba?layacak
Declare LCD_ENPIN PORTB.3 'LCD'nin ENable ucu
Declare LCD_RSPIN PORTB.0 'LCD'nin Register Select ucu
Declare LCD_INTERFACE 4 'LCD veri yolu 4 bit olacak
Declare LCD_LINES 2 'LCD 2 sat?rdan olu?uyor
Cls

'SPBRG=129
'Declare HSERIAL_BAUD=2400    'MAXIBOOST
'Declare HSERIAL_RCSTA=$90    'MAXIBOOST
'Declare HSERIAL_TXSTA=$20   'MAXIBOOST        ' 20MHZ
'Declare HSERIAL_CLEAR=On     'MAXIBOOST
'Declare HSERIAL_SPBRG=129    'MAXIBOOST

SPBRG= 129
Declare Hserial_Baud = 2400        ' Set baud rate to 9600
Declare Hserial_RCSTA = %10010000  ' Enable serial port and continuous receive
Declare Hserial_TXSTA = %00100100  ' Enable transmit and asynchronous mode
Declare Hserial_Clear = On         ' Optionally clear the buffer before receiving
Declare Hserial_SPBRG= 129


CMCON=7 '16F628 de komparatör pinleri iptal hepsi giri? çyky?
PORTB_PULLUPS = 1
OPTIMISER_LEVEL = 3
WARNINGS = OFF

TRISB=%00000000
TRISB=0
PORTB=0

TRISA=%00000000
TRISA=0
PORTA=0
'------------------------------------------------------------------------------

SYMBOL LED              = PORTB.5
SYMBOL BUZZER           = PORTB.7

SYMBOL INPUT_1          = PORTB.6

SYMBOL CALISMA_MODU     = PORTB.0    ' "1" OLURSA ALICI "0" OLURSA VERICI MODU

'SYMBOL RF_TX            = PORTB.2    ' PİC'İN TX UCU
'SYMBOL RF_RX            = PORTB.1    ' PİC'İN RX UCU


SYMBOL RELAY_1          = PORTB.3     
SYMBOL RELAY_2          = PORTB.4     


OUTPUT RELAY_1
OUTPUT RELAY_2
OUTPUT BUZZER
OUTPUT LED
'OUTPUT RF_TX        ' RF MODÜLÜN TX İNE

INPUT  PORTB.1
INPUT  INPUT_1
INPUT  CALISMA_MODU

LOW BUZZER

'LOW RF_RX
DIM VERI         AS BYTE





VERI=0
PRINT AT 1,1,"VERI= ",DEC4 VERI

ALICI_MOD_CALIS:
hSerIn [WAIT ("X"),DEC VERI ]     
PRINT AT 1,1,"VERI= ",DEC4 VERI 

GOTO ALICI_MOD_CALIS


'***************************************************************************************
'***************************/ ALT PROGRAMLAR /******************************************

beep:
High LED
High BUZZER
DelayMS 100
LOW BUZZER
Low LED
DelayMS 89
High LED
HIGH BUZZER
DelayMS 39
Low LED
LOW BUZZER
DelayMS 10
Return






Bu durum neyden kaynaklı olabilir sizce ?
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: Mucit23 - 02 Eylül 2014, 20:48:59
ilk gözüme ilişen hata Rx pinin giriş yapılaması. İki taraftada Portb.1(Rx) çıkış olarak atanmış.
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: mustafa_cmbz - 02 Eylül 2014, 20:55:53
yok hocam mevcut paylaştığım programda hepsi input olarak atanmış hatta sizden sonra hepsini kaldırıp denedim yine bir değişiklik yok..
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: t2 - 03 Eylül 2014, 00:07:54
Birinin rx i diğerinde txe bağlı değil mi?
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: mustafa_cmbz - 03 Eylül 2014, 02:19:22
aynen hocam...Sorun belki çok saçma bir yerden çıkacak ama kilitlendi kaldım uykusuzlukta bi yandan kafam iyice allak bullak oldu.eve gideyim şema vs. yükleyeceğim.
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: Maxim - 03 Eylül 2014, 10:10:57
isis dosyası ile birlikte verirsen bakmak isterim mustafa
Başlık: Ynt: HSEROUT ile gönderdiğim veriyi alamıyorum ?
Gönderen: mustafa_cmbz - 03 Eylül 2014, 18:44:41
TRISB=%00000000
TRISB=0
PORTB=0


Olan kısmı



PORTB=0
TRISB=%00000010



şeklinde değiştirince olay çözüldü.


Alıntı yapılan: Mucit23 - 02 Eylül 2014, 20:48:59
ilk gözüme ilişen hata Rx pinin giriş yapılaması. İki taraftada Portb.1(Rx) çıkış olarak atanmış.

dediklerin aklıma geldi programdaki trısler hiç dikkatimi çekmedi.


INPUT  RF_RX

yazdığım için hep giriş yaptım  diye düşünüyorum.Sonradan tris yazmaçları gözüme takılınca iş çözüldü.