СХЕМА.RU - Радиолюбительский портал » Другие новости радиолюбителя » Помогите Разобраться В Неработе 485 Протокола

Помогите Разобраться В Неработе 485 Протокола

20-05-2014, 20:09 От: admin Посмотрели: 598
Имеется тестовая программка для отправки строки по 485 протоколу:


Spoiler



.include "m8def.inc"
.DSEG
mem: .byte 6
.CSEG
.equ start = 40
.equ end = 60
.def temp = r16 //temporary data register
.def counter = r17 //counter register
.macro Delay //Macro for delay
ldi r19, 0x01
ldi r20, 0xFF
ldi r21, 0xFF
dd:dec r21
brne dd
dec r20
brne dd
dec r19
brne dd
.endmacro
.macro Setmemstart // set start memory
ldi YH, high(mem)
ldi YL, low(mem)
.endmacro
.org $000 //interrupts enable
rjmp INIT
.org $00c
rjmp USART_UDRE //Interrupt vector UDR empty
INIT: //set stack pointer to memory end
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND)
out SPH,temp
//RS485 register init
ldi temp, 6 //Exchange speed set
out UBRRL, temp
ldi temp, 0
out UBRRH, temp
ldi temp, (1<<TXEN) //Transfer enable
out UCSRB, temp
ldi temp, (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0)|(0<<UDRIE)
out UCSRC, temp // setup data format 8 n 1
ldi counter, start // fill memory with some data
Setmemstart
ldi temp, 0x71
st Y+, temp
st Y+, temp
st Y+, counter
inc temp
st Y+, temp
st Y+, temp
clr temp
st Y+, temp
inc counter
sei
STARTSEND: //start new send cycle
Setmemstart
adiw Y, 0x02
st Y, counter
inc counter
cpi counter, end
brne PC+2
ldi counter, start
Setmemstart
SENDLOOP: //sending loop
ld temp, Y+
USART_TRANSMIT:
sbis UCSRA, UDRE
rjmp USART_TRANSMIT
out UDR, temp
//adiw Y,0x01
cpi temp, 0x00
brne SENDLOOP
Delay
rjmp STARTSEND
USART_UDRE:
reti




Она отправляет через ADM485 на преобразователь RS-485/USB данные, которые я смотрю в терминале.



Исходя из того, что я написал в коде, в терминале я должен видеть нечто типа:

71 71 41 72 72 0 71 71 и так далее



По факту же я получаю вот такое:


F1 74 F2 F2 00 F2 F1 F1 75 F2 F2 00 F1 F1 76 F2
F2 00 F1 F1 77 F2 F2 00 F1 F1 78 F2 F2 00 F1 F1
79 F2 F2 00 F1 F1 7A F2 F2 00 F1 F1 7B F2 F2 00
F1 F1 00 48 F2 F2 F1 F1 F2 F2 00 00 F1 F1 4A F2
F2 00 F1 F1 F2 00 4B F2 F1 F1 4C F2 F2 00 F1 F1
4D F2 F2 00 F1 F1 4E F2 F2 00 F1 F1 4F F2 F2 00
F1 F1 70 F2 F2 00 F1 F1 00 71 F2 F2 F1 F1 F2 00
72 F2 F1 F1 73 F2 F2 00 F1 00 F1 74 F2 F2 F1 F1
75 F2 F2 00 F1 F1 76 F2 F2 00 F1 F1 77 F2 F2 00
F1 F1 78 F2 F2 00 F1 F1 79 F2 F2 00 F1 F1 7A F2
F2 00 F1 F1 7B F2 F2 00 F1 F1 48 F2 F2 00 F1 F1
F2 F2 00 00 F1 F1 4A F2 F2 00 F1 F1 4B F2 F2 00
F1 F1 4C F2 F2 00 F1 F1 4D F2 F2 00 F1 F1 4E F2
F2 00 F1 F1 4F F2



Подскажите в чем может быть проблема.

Скорость приема, как и отправки 9600, 8-N-1.
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Помогите Разобраться В Неработе 485 Протокола все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031