selam ben pic basic kullanıyorum bu konuda tam olarak ne yapacaksın biraz bahsetsen daha iyi olacaktır.
aşağıda 628a nın uart portlarından kesme ile gelen bilgiyi alırsın ve keseme etiketinde yapmak istediğin işlemleri gerçekleştirebilirsin
program başlangıcı.
include "modedefs.bas"
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25 ' 9600 Baud @ 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
SYMBOL GIE =INTCON.7 'genel interruptları açıyor
SYMBOL PEIE =INTCON.6 'peripheralinterruptları açıyor
SYMBOL RCIE =PIE1.5 'USART Recive interrupt enable bit
SYMBOL RCIF =PIR1.5 'USART Receive interrupt flag bit
cmcon = 7
RCIE=1
PEIE=1
GIE=1
'*
'trisb=%00000010 *yukarıdaki kodlar ile 9600 baud da portu ayarlıyorsun
portb=%00000010
'*
ON INTERRUPT GOTO INT '"dışarıdan bilgi gelirse INT etiketine kesme olur"
gelen var byte
'*
basla:
pause 100 '*burada normal program kodların yer alacak
goto basla
'*
DISABLE 'kesme gerçekleştiği andan itibaren tekrar kesmenin oluşmaması için kesmeler iptal edilir
INT:
GIE=0
hserin [gelen] 'rx bacağından alınan veri gelen değişkenine alınır.
pause 2
hserout [gelen] 'tx pininden gelen veri tekrar geri gönderilir.
'*
'* buraya veri geldiğinde yapmak istediğin diğer kodları yazabilirsin
'*
RCIF=0
GIE=1
Resume
enable 'kesmeler aktif
bu kodlar ile rx e gelen veri tx den gönderilerek deneme yapabilirsin