ПИК ПИК в связи с использованием Sync USART

G

Guest

Guest
Здравствуйте,

Мне нужна помощь в работе с USART в SYNC режим ПИК 16F870 используется как MASTER и передачи данных, ПОС 16F877A, что в качестве SLAVE и полученных данных.Я поставил на скорости до 62.5Mb /
с
Когда мастер передавать данные через TXREG, и я использую задержкой 200ms, а затем посылает следующий данных работ (раб получает должного данных):
MOVLW адрес, отправить на адрес, младший байт TX
MOVWF TXREG;
CALL DELAY_200MS; призывом безотлагательно 200msec обычных

Но когда я использую статус зарегистрироваться, чтобы убедиться, что TX завершения ее не работает:
MOVLW адрес, отправить на адрес, младший байт TX
MOVWF TXREG;
BTFSS TXSTA, TRMT; ли TX сдвига обл пуста
GOTO $ -1, если не пуста продолжать проверять
GOTO NEXTB, если пусто идти направить следующий байт

Мой вопрос, почему проверка состояния регистра не работает?
и как я могу синхронизировать между хозяином и рабом так каждый раз, когда капитан посылает байт работорговли будет получено это правильно?

Благодаря передовой.
Гедеон.

Магистерская программа начинается с:

ORG 00h
NOP
GOTO ГЛАВНАЯ
ORG 04H; прервать входа адрес
RETFIE

ГЛАВНАЯ
CLRF PORTC
БСФ СТАТУС, RP0; выберите bank1;
CLRF TRISC; установить все PORTC как OUTPUT
MOVLW 0x27; для 10MHz XTAL установить скорость 62.5kb к / с
MOVWF SPBRG
MOVLW 0xB0; Установить USRAT TX Статус Рег ', CSRC bit7 = 1, TXEN bit5 = 1, SYNC bit4 = 1
MOVWF TXSTA; bit1 TRMT (TX статус) 1 = empry
РМДС СТАТУС, RP0; выберите bank0

MOVLW 0x80
MOVWF RCSTA; Установить USART RX Статус Рег ', последовательный порт Включить SPEN bit7 = 1
БСФ INTCON, GIE; позволить целом прервать
БСФ INTCON, PEIE; позволить за прерывание

 
Привет,

Глядя на ваш код, вы можете подумать, что он должен определить TRMT бит.
Кратко запуска кода с нуля, ее трудно понять, фактические ошибки.

Можете ли вы использовать Отладчик и увидеть код и регистрирует работает?

Am немного любопытно, почему вы работаете в режиме синхронизации, когда Async является гораздо более распространенным явлением.

Если вы видите этот учебник охватывает Async, главным программным обеспечением, но последний пример использует аппаратные USART - я использовал этот код, и знаю, она работает, так что можно было бы помочь.
http://www.winpicprog.co.uk/pic_tutorial7.htm

 
Благодаря wp100,

Я выбора режима синхронизации - с момента ее быстрее и я думал, она будет более надежной, но я постараюсь в Async режим, как у вас sugested, mybe свою работу лучше.

Спасибо еще раз.

 

Welcome to EDABoard.com

Sponsor

Back
Top