03.10.2012, 10:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Обмен данными МК с ПК
Сообщение от Alpout
|
чето не могу разобраться. если в микролабе 8 версии пишешь в eeprom русские алфавиты, прога не распознает
|
Русифицировать Микролаб, в частности добавить поддержку 855-й страницы. Что невозможно
Ну или писать транслитом
|
|
|
|
03.10.2012, 12:49
|
|
Прописка
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
|
Re: Обмен данными МК с ПК
У меня такая же проблема.
По ASII таблице байт для Английских букв начинается с нуля (A=065=01000001,B=066=01000010) а для русских букв начинается с единицы.
В COM порт посылка идёт байтами, но микроконтроллер начнёт приём в SBUF только при переходе (H/L) то есть первые русские единички не принимаются. наверно мой протокол обмена не правильный (самый примитивный - без всяких проверок) то есть послал как есть и принял что пришло. (но с английскими буквами работает без сбоев)
|
|
|
|
03.10.2012, 13:00
|
|
Прописка
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
|
Re: Обмен данными МК с ПК
все символы ASII которые с нуля начинаются (в бинарном представлении) попадают в МК без ошибок//// "микроконтроллер начнёт приём в SBUF только при переходе (H/L)"
|
|
|
|
03.10.2012, 13:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Обмен данными МК с ПК
Вы что нить про стартовые и стоповые биты слышали?
Вот тут вроде про сопряжение МК с компьютером через COM-порт. Теория.
http://www.pcports.ru/articles/avr5.php
Для проверки просто в МК сделайте "программную петлю" - принятый байт отправьте обратно.
|
|
|
|
03.10.2012, 18:23
|
|
Прописка
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
|
Re: Обмен данными МК с ПК
Да слышали... Только вот в книжке "Микроконтроллеры -это же просто!" этот метод обошли стороной и предложили вот это:
;;; инициализация передатчика
MOV IE, #0 ;;;
MOV TMOD, #20H ;;;
MOV TH1, #REL96 ;;;
MOV TL1, #REL96 ;;;
ANL PCON, #7FH
CLR ET1 ;;;
MOV SCON, #50H ;;;
SETB TR1 ;;;
;
JNB RI,$
MOV A, SBUF ; прием символа в аккумулятор
CLR RI
;
PUTCH: ;Посылка в порт
MOV SBUF,A
SEND:
JNB TI, SEND
CLR TI
Сам пока не могу решить...как по другому ( мож кто поможет на АСМ?)
|
|
|
|
03.10.2012, 21:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Обмен данными МК с ПК
Сообщение от Gai000login
|
Да слышали... Только вот в книжке "Микроконтроллеры -это же просто!" этот метод обошли стороной и предложили вот это:
;;; инициализация передатчика
MOV IE, #0 ;;;
MOV TMOD, #20H ;;;
MOV TH1, #REL96 ;;;
MOV TL1, #REL96 ;;;
ANL PCON, #7FH
CLR ET1 ;;;
MOV SCON, #50H ;;;
SETB TR1 ;;;
;
JNB RI,$
MOV A, SBUF ; прием символа в аккумулятор
CLR RI
;
PUTCH: ;Посылка в порт
MOV SBUF,A
SEND:
JNB TI, SEND
CLR TI
Сам пока не могу решить...как по другому ( мож кто поможет на АСМ?)
|
Код:
|
;;; инициализация передатчика
MOV IE, #0 ;;;
MOV TMOD, #20H ;;;
MOV TH1, #REL96 ;;;
MOV TL1, #REL96 ;;;
ANL PCON, #7FH
CLR ET1 ;;;
MOV SCON, #50H ;;;
SETB TR1 ;;;
;
LOOP:
JNB RI,$ ; Ожидание принятого символа
MOV A, SBUF ; перенос принятого символа в аккумулятор из регистра сдвига
CLR RI ; Сброс флага готовности символа (прерывания)
;
PUTCH: ;Посылка в порт
MOV SBUF,A ; Поместит символ в сдвиговый регистр. Начинается его передача.
JNB TI, $ $ ; Ждем окончания передачи символа
CLR TI ; Сброс флага завершения передачи
JMP LOOP |
У вас одноразовый прием-передача был приведен в примере. Замкните в петлю.
В остальном я не видел обрезки старшего бита. Модуль должен передавать и принимать 8-битовые символы. Как их будет обрабатывать терминал, будет зависеть от его настроек.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
03.10.2012, 22:06
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,944 раз(а) в 5,991 сообщении(ях)
|
Re: Обмен данными МК с ПК
УАРТу абсолютно поровну, что передавать - ASCII или еще чего-нибудь. При 8-ми битной настройке он передает тот байт, который ему дали без всяких перекодировок. Как его воспринимает программа, работающая с COM портом - зависит от программы. Я гоню из контроллера через COM своей программе бинарные данные без проблем. В других случаях бинарные данные гоню в HEX виде для более простой синхронизации в случае сбоев, потерь. Так проще выделить строки команд (да и вообще команда может быть однобайтной - любой нешестнадцатиричный символ)
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
04.10.2012, 14:39
|
|
Прописка
Регистрация: 13.09.2011
Адрес: Уфа
Сообщений: 253
Сказал спасибо: 20
Сказали Спасибо 19 раз(а) в 14 сообщении(ях)
|
Re: Обмен данными МК с ПК
а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей? то есть например через MAX232? тут единственнное че не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
|
|
|
|
04.10.2012, 14:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,016
Сказал спасибо: 0
Сказали Спасибо 4,954 раз(а) в 2,378 сообщении(ях)
|
Re: Обмен данными МК с ПК
Сообщение от Alpout
|
а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей?
|
эти задачи ищите у микрочипа или гуглом, у атмела точно есть
Сообщение от Alpout
|
то есть например через мах232?
|
да хоть по 485 азбукой морзе
Сообщение от Alpout
|
не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
|
а причем здесь прошивка МК и пересылка данных неопределенного вида, например, от АЦП, состояние портов? не ломайте нам мозг, пишите законченными фразами
|
|
|
|
04.10.2012, 14:59
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Обмен данными МК с ПК
Сообщение от Alpout
|
а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей? то есть например через мах232? тут единственнное че не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
|
В этом случае вам нужен ногодрыг. Ему, собственно, по барабану, что UART, что SPI, что 1-Wire.
Я на некоторых схемах делаю педечу по софтварному UART на ногу PGD в разъем ICSP. У PICKIT2 есть возможность работать с UART. Через тот же разъем программирования можно много полезной информации вытянуть с камня в реалтайме. Например, как прошла инитализация чего-нибудь внешнего или сколько перезапусков было сделано.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Обмен данными по uart
|
Vector_N3 |
Микроконтроллеры, АЦП, память и т.д |
2 |
26.06.2011 23:56 |
Обмен данными с пк
|
melkij |
Микроконтроллеры, АЦП, память и т.д |
0 |
16.03.2010 18:36 |
Быстрый обмен данными.
|
kos_ua |
Микроконтроллеры, АЦП, память и т.д |
4 |
05.10.2009 14:38 |
С++ обмен данными через USB
|
Boris_Britva |
Микроконтроллеры, АЦП, память и т.д |
8 |
24.06.2008 11:58 |
Обмен данными ПИКа с внешней флэш
|
Boris_Britva |
Микроконтроллеры, АЦП, память и т.д |
2 |
18.06.2008 11:19 |
Часовой пояс GMT +4, время: 22:18.
|
|