2 Stop Bit

Başlatan oyhan, 25 Eylül 2006, 17:53:06

oyhan

Merhabalar
Pic'in donanımsal usartı kullanılırken 2 stop bit kullanımı nasıl seçilecek. CCS de...
BİRLİKTEN KUVVET DOĞAR:

mmengi

DMX512 ile haberleşme içinmi kullanacaksınız 2 stop bitini?

oyhan

Evet. O standardı yakalamak için. sizin daha önce bu konu ile ilgili yazdıklarınızı gördüm. Kısmen 2 stop bitini o protokol için kullanacağım..
BİRLİKTEN KUVVET DOĞAR:

mmengi

Gerekli usart ayarları şu şekilde olmalı 20Mhz. için, diğer gerekli usart interrupt larını kendin istediğin gibi kurabilirsin yada int. kullanmayabilirsinde.

RX configuration
                       MOVLW   H'4'
                       MOVWF   SPBRG
                       BSF     TXSTA,BRGH
                       BCF     TXSTA,SYNC
                       BSF     PIE1,RCIE
                       BCF     STATUS,RP0
                       BSF     RCSTA,RX9
                       BSF     RCSTA,CREN
                       BSF     RCSTA,SPEN


TX configuration
                       MOVLW   H'4'                         ; Set baud rate 
                       MOVWF   SPBRG                        ; 
                       BSF     TXSTA,BRGH                   ; Enable high speed transmission 
                       BCF     TXSTA,SYNC                   ; Async transmission 
                       BCF     STATUS,RP0                   ; 
                       BSF     RCSTA,SPEN                   ; Turn on UART 
                       BSF     STATUS,RP0                   ; 
                       BSF     TXSTA,TX9                    ; Enable 9 bit data transmission 
                       BSF     TXSTA,TXEN                   ; Enable transmitter 
                       BCF     STATUS,RP0                   ;

oyhan

Merhaba Mengi

SPBRG=4   hız 250kbit;
BRGH  =1   yüksek hız;
SYNC  =0   asenkron;
SPEN   =1  usart pinleri aktifleniyor (Tx, Rx);
TX9     =1  gönderilen datanın 9'uncu biti buraya yazılıyor;
TXEN   =1  gönderme açık;
anlamlarına geliyor. Biz burda iki stop biti için 9 uncu bitimi kullanacağız. yani parity none iken bu bit kullanılırsa stop bitimiz 2 mi olacak. Bunu biraz açıklarmısınız mengi...Sanırım Usart başlangıç biti ile birlikte stop bitinide (1 stop biti) otomatik veriyor. bizde 9 uncu bite 2 nci stop bitini ekleyeceğiz..??
BİRLİKTEN KUVVET DOĞAR:

mmengi

9. bit 1. stop biti oluyor 2. stop biti zaten usart ın stop biti olmuş oluyor, sonuçta eline 8 bit data kalıyor RCREG te. Tabi başlangıçta break time ve diğer protokol başlangıç bilgilerini manual olarak alıyorsun data akmaya başlayınca usart ı kullanıyorsun.