Страница 1 из 1

связать по USART 16f628 c 18f13k50

Добавлено: Вс сен 04, 2016 19:55:14
Vlad_f_p
Помогите связать по usart 18f13k50 c 16f628 в асинхронном режиме. 628-прд. 18f13k50- прм. частота у обоих 4мгц. Если ставлю обе 16f628 все работает нормально с теми же настройками.
_INIT
CLRF TRISA
movlw b'11110000' ;b0.b1.b2.b3-0. b4-in.b5-in.b6-in.b7-in.
movwf TRISB ;НАСТРОЙКА ПОРТОВ
movlw b'01000000' ;c6-in. c0-c5-out.c7-out
movwf TRISC
CLRF ANSELH ;RC4-7 цифровые входы-выходы
CLRF ANSEL
CLRF BAUDCON
clrf RCSTA ;Очистим упр. и статус приемника
bcf TXSTA,BRGH
bcf BAUDCON,BRG16 ; 0=SPBRGH-OFF
movlw .51
movwf SPBRG ; 1200
bsf RCSTA,SPEN ;Включим USART
bsf RCSTA,CREN ;разрешаем прием
bsf RCSTA,RX9 ; 9 бит прием
clrf TXSTA ;Очистим упр. и статус передатчика
bsf TXSTA,TXEN
;****************

ktm
btfss RCSTA,OERR ; переполнение
goto ktm1
bcf RCSTA,4 ; выключаем приемник
bcf PIR1,RCIF
nop
ktm1
movff RCREG,f0
clrf f1
btfss RCSTA,RX9D ;считываем 9-й бит
bcf f1,0
btfsc RCSTA,RX9D ;считываем 9-й бит
bsf f1,0
bsf RCSTA,4 ; включаем приемник
call B2D ; 2-10 преобразов.
call lcd ; вывод на LCD
goto ktm

Re: связать по USART 16f628 c 18f13k50

Добавлено: Вс сен 04, 2016 20:04:25
Albert_V
Вам бы pdf-ы на два контроллера почитать (разделы USART).
Ошибка в Init-е USART.

Re: связать по USART 16f628 c 18f13k50

Добавлено: Пн сен 05, 2016 19:45:50
Vlad_f_p
Связь заработала когда в SPBRG вогнал .207 вместо .51 как установлено в прд. Буду разбираться - почему.

Re: связать по USART 16f628 c 18f13k50

Добавлено: Пн сен 05, 2016 20:00:03
Vlad_f_p
Разобрался. В конфигурации было включено PLL умножение на 4.