kafayı yiyeceğim proton ve seri iletişim konusunda..

Başlatan forumsad, 13 Mart 2011, 17:52:42

forumsad

http://www.sonsivri.com/forum/index.php?topic=25430.0   
sitesinden Download ProtonIDE v2.0.0.5 installer and Compiler V3.4.0.6 and Patch 3.4.0.8  indirerek protonu bilğisayarıma kurdum

sorunsuz yükledim derleme yaptım sorun yok

seri iletişim uygulaması için help'den Hserin örneği buldum ve aynen uyguladım
Device 16F877A ;ENTEGRE TANIMLAMA
Xtal 4 ;KRISTAL FREKANSI 

'------------------------------------------------------------------------
TRISA=%11111111
TRISB=%00000001 'PORTB7 GIRIS DIGERLERI ÇIKIS OLSUN
TRISC=%10000000
TRISD=%11110000
TRISE=%00000000

PORTA=0 
PORTB=0 
PORTC=0 
PORTD=0
PORTE=0


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


'LCD TANITMA BOLÜMÜ.....................................................................................
'-----------------------------------------------------------------------
Declare LCD_DTPin PORTB.4
Declare LCD_ENPin PORTB.3 'LCD "E" pin portb nin hangi bitine baglidir.
Declare LCD_RSPin PORTB.2 'LCD "RS" pin portb nin hangi bitine baglidir.
Declare LCD_Interface 4
Declare LCD_Lines 2
'---------------------------------------------------------------------- 
All_Digital=TRUE 'bütün portlari djital (1-0) yap 
PortB_Pullups=FALSE 'portb nin pull up kapat 




Dim VAR1 As Byte


 
Loop: 

 VAR1 = HRSIn , {1000 , Timeout}  ' Receive a byte serially into VAR1
 Print 2,1,Dec VAR1 , " "       ' Display the byte received
 GoTo Loop                  ' Loop forever
Timeout: 
 Cls
 Print "TIMED OUT"    ' Display an error if HRSIn timed out
 'Stop
 GoTo Loop

'--------------------------------------------------------------------------------------------------------------

End


kodu derleyip proteusda simülasyon yaptıgımda lcd ekranında  hyper terminal ile 0 gönderdiğimde

0 gönderdiğimde:176 3 225
1  gönderdiğimde:177 2 225
2  gönderdiğimde:178 2 225   gibi değerler gözüküyor..

bu sorunu nasıl çözebilriz

denemediğim kalmadı

teşekkürler...





Maxim

tanımların başına declare yazmalısın, ondan olmasın ?

Maxim

tanımlamalarda yanlış

declare Hserial_TXSTA = %00100100

ayrıca spbrg tanımı yok

declare hserial_spbrg=25

forumsad

Declare Hserial_Baud = 9600        ' 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= 25



bu şekilde düzenledikten sonra düzgün çalıştı minnettarım çok teşekkürler
çok saygılar....:):):)

t2


forumsad

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



evet bu şekildede sorunsuz çalıştı çok teşekkürler...