Свежие обсуждения
Микроконтроллеры

как подружить два pic по rx - tx речь о pic 16f876a

в одном из них уже есть готовая программа rs 232
и pic прекрастно работает на 9600 в асинхронном режиме
его протокол обмена такой в acii передаем #0001cr
он отвечает >+0000cr
вот тут и возникла проблема нужно вторым пиком получить ответ от первого
пробывал стандартные подпрограммы uart асинхроной приема передачи ни чего не получаеться. можно ли их вообще на прямую друг к другу подключать ?
или нужна какая нибудь схемка.
помогите плиз!!!!!!!!

 

Можно, конечно. Правда, я совершенно не знаю PIC-и, но два AVR-a без проблем общались по UART, при условии небольшой ошибки в скорости. М.б. правда, параметры разные? Я все делал на Си, в компиляторе CodeVision. Кстати, никакие преобразователи уровня типа TTL<>RS232 тоже не нужны! С уважением, Николай.

 

vovan112: можно ли их вообще на прямую друг к другу подключать ?

Можно! Как выше Николай уточнил, что б параметры портов только совпадали и ошибка была-бы не более 2%.

И разумеется соединять tx к rx.

 

вот подпрограмма которой я пытаюсь пользоваться
но она не работает
помогите! в чем мои ошибки?

list p=16F876a
#include <p16F876a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC
CBLOCK 0X20
BAYT0 ;
BAYT1 ;
BAYT2 ;
BAYT3 ;ЧИСЛО ИЗ RS232
BAYT4 ;
BAYT5 ;
BAYT6 ;
BAYT7 ;
ENDC

RS232START
CALL INITRS232
RS232START1
CALL STARTrs232

CALL LOADBAYTRS232


GOTO RS232START1
INITRS232
BSF STATUS,RP0
MOVLW d'6'
MOVWF SPBRG
BCF TRISC,6
BCF TRISC,7
MOVLW 0x20
MOVWF TXSTA
BCF STATUS,RP0
MOVLW 0x90
MOVWF RCSTA
RETLW 0
STARTrs232
MOVLW d'35'
CALL RS232
MOVLW d'48'
CALL RS232
MOVLW d'48'
CALL RS232
MOVLW d'48'
CALL RS232
MOVLW d'49'
CALL RS232
MOVLW d'13'
CALL RS232
RETURN
RS232:
BTFSC PIR1,TXIF
GOTO HS02
GOTO RS232
HS02:
MOVWF TXREG
RETURN
;-------------------------------------------------
LOADBAYTRS232
CALL LOADRS232
MOVF BAYT
MOVWF BAYT0
RETLW 0
CALL LOADRS232
MOVWF BAYT1
CALL LOADRS232
MOVWF BAYT2
CALL LOADRS232
MOVWF BAYT3
CALL LOADRS232
MOVWF BAYT4
CALL LOADRS232
MOVWF BAYT5
CALL LOADRS232
MOVWF BAYT6
CALL LOADRS232
MOVWF BAYT7
RETLW 0
;-------------------------------------------------
LOADRS232
BTFSS PIR1,RCIF
GOTO $-1
MOVF RCREG,W
CLRWDT
MOVWF BAYT
RETURN

 

А Вы скоростя приема/передачи подстраивали?