Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Обмен данными МК с ПК

Непрочитано 03.10.2012, 10:43  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

Сообщение от Alpout Посмотреть сообщение
чето не могу разобраться. если в микролабе 8 версии пишешь в eeprom русские алфавиты, прога не распознает
Русифицировать Микролаб, в частности добавить поддержку 855-й страницы. Что невозможно
Ну или писать транслитом
Реклама:
niXto вне форума  
Непрочитано 03.10.2012, 12:49  
Gai000login
Прописка
 
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
Gai000login на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

У меня такая же проблема.
По ASII таблице байт для Английских букв начинается с нуля (A=065=01000001,B=066=01000010) а для русских букв начинается с единицы.
В COM порт посылка идёт байтами, но микроконтроллер начнёт приём в SBUF только при переходе (H/L) то есть первые русские единички не принимаются. наверно мой протокол обмена не правильный (самый примитивный - без всяких проверок) то есть послал как есть и принял что пришло. (но с английскими буквами работает без сбоев)
Gai000login вне форума  
Непрочитано 03.10.2012, 13:00  
Gai000login
Прописка
 
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
Gai000login на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

все символы ASII которые с нуля начинаются (в бинарном представлении) попадают в МК без ошибок//// "микроконтроллер начнёт приём в SBUF только при переходе (H/L)"
Gai000login вне форума  
Непрочитано 03.10.2012, 13:48  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

Вы что нить про стартовые и стоповые биты слышали?
Вот тут вроде про сопряжение МК с компьютером через COM-порт. Теория.
http://www.pcports.ru/articles/avr5.php

Для проверки просто в МК сделайте "программную петлю" - принятый байт отправьте обратно.
Boba_spb вне форума  
Непрочитано 03.10.2012, 18:23  
Gai000login
Прописка
 
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
Gai000login на пути к лучшему
По умолчанию 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
Сам пока не могу решить...как по другому ( мож кто поможет на АСМ?)
Gai000login вне форума  
Непрочитано 03.10.2012, 21:06  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию 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
ut1wpr вне форума  
Непрочитано 03.10.2012, 22:06  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

УАРТу абсолютно поровну, что передавать - ASCII или еще чего-нибудь. При 8-ми битной настройке он передает тот байт, который ему дали без всяких перекодировок. Как его воспринимает программа, работающая с COM портом - зависит от программы. Я гоню из контроллера через COM своей программе бинарные данные без проблем. В других случаях бинарные данные гоню в HEX виде для более простой синхронизации в случае сбоев, потерь. Так проще выделить строки команд (да и вообще команда может быть однобайтной - любой нешестнадцатиричный символ)
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 04.10.2012, 14:39  
Alpout
Прописка
 
Аватар для Alpout
 
Регистрация: 13.09.2011
Адрес: Уфа
Сообщений: 253
Сказал спасибо: 20
Сказали Спасибо 19 раз(а) в 14 сообщении(ях)
Alpout на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей? то есть например через MAX232? тут единственнное че не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
Alpout вне форума  
Непрочитано 04.10.2012, 14:52  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

Сообщение от Alpout Посмотреть сообщение
а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей?
эти задачи ищите у микрочипа или гуглом, у атмела точно есть
Сообщение от Alpout Посмотреть сообщение
то есть например через мах232?
да хоть по 485 азбукой морзе
Сообщение от Alpout Посмотреть сообщение
не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
а причем здесь прошивка МК и пересылка данных неопределенного вида, например, от АЦП, состояние портов? не ломайте нам мозг, пишите законченными фразами
jump вне форума  
Непрочитано 04.10.2012, 14:59  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Обмен данными МК с ПК

Сообщение от Alpout Посмотреть сообщение
а если пользоваться ПИКом, у которого нет модуля юсарт?? кто справлялся такой задачей? то есть например через мах232? тут единственнное че не могу сообразить-это когда в моем случае хочу передеать слова с hypertherminal в мк, каким образом реализовать, нужно ведь всю прошивку мк кинуть, не так ли?
В этом случае вам нужен ногодрыг. Ему, собственно, по барабану, что UART, что SPI, что 1-Wire.
Я на некоторых схемах делаю педечу по софтварному UART на ногу PGD в разъем ICSP. У PICKIT2 есть возможность работать с UART. Через тот же разъем программирования можно много полезной информации вытянуть с камня в реалтайме. Например, как прошла инитализация чего-нибудь внешнего или сколько перезапусков было сделано.
Easyrider83 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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, время: 03:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.