|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.10.2012, 13:26 | #1 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Управление игрушечной машинкой с компьютера
Приветствую, дорогие друзья! До управления, собственно долековато. Проблема: не открывается COM-port. На WinAPI и Си - открывается.
По ходу разработки этого проекта на C# будут возникать вопросы. Я буду здесь отписываться. Я бы хотел, чтобы форумчане мне помогали в продвижению к целе. На ошибки, недочёты и на правильные подходы к разработке ПО. Начало такое: - управление через COM-port - в качестве машинки, для теста, выступает микроконтроллер AT89S52 из семейства MCS-51 (8052). Микроконтроллер отображает данные, принятые от ПК через COM-port, на LCD мониторчик. В роли данных, на данный момент, это байт-команды: вперёд, назад, влево, вправо. Контроллер программирую в среде Keil c51 uVision 4. Можно программировать в бесплатной демо-версии. В ней ограничение по величине секции кода микроконтроллера. Вроде 2 или 4 КБайта. А можно программировать в версии адаптированной под российские экономические условия: http://avaxhome.ws/software/ke901.html - прошиваю с помощью программатора "Хамелеон" Источники: - Магда Ю.С. "Микроконтроллеры серии 8051. Практический подход" - www.8052.com - встроенная справка среды Keil: Complete User's Guide Selection Ещё бы следующие книги бы где-нибудь найти (особенно хочется по usb): http://avaxhome.ws/software/ke901.html Можно, конечно, купить. P.S. Если кому интересно, то я могу написать подробную инструкцию, как собрать программатор и начать программировать этот микроконтроллер на С и ассемблере. Если кратко, то: - купить, к примеру, этот микроконтроллер: AT89S52 (рублей 80 стоит, или около 100) - подключить к нему питание (к примеру, от USB), землю, кварцевый резонатор согласно Datasheet на микроконтроллер (обязательно вывод EA микроконтроллера AT89S52 нужно подсоединить к питанию +5; это в случае, если не используется микросхема внешней памяти) - скачать и запустить программу "Хамелеон". В google: программатор хамелеон - при нажатии на кнопку "Выбор" на панели "Микросхемы (модуль)", появится окно "Выбор микросхемы". Там есть вкладка "Схема". Это схема подключения микроконтроллера AT89S52 к LPT порту (эх... сейчас не у всех старые компьтеры сохранились...) - установить Keil c51 uVision 4 - написать программу (для теста, к примеру, мигание диодом) - установить в опциях проекта Keil, "генерировать hex файл" и откопилировать проект - в программе "Хамелеон" нажимаем "Открыть файл" и нажимаем "Программирование FLASH" P.S. Вот хороший ресурс, где можно картинки для меню, кнопок и т.д. брать: http://www.iconfinder.com/search/?q=arrow |
26.10.2012, 13:27 | #2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Архив с проектом VC# 2010 Express приложил к этому сообщению.
Код:
Код:
|
26.10.2012, 13:28 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Сдедующая программа (на WinAPI и Си) работает нормально. Программу взял из книги: Магда Ю.С. "Микроконтроллеры серии 8051. Практический подход"
Код:
|
26.10.2012, 13:35 | #4 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Под C# тоже никто не запрещает вызывать WinAPI функции напрямую, без оберток типа SerialPort.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
26.10.2012, 14:00 | #5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
raxp, вы меня огоришили этой новостью! Я думал, что С# этого не позволит. Это хорошая новость. Это расширяет свободу!
Но всё-таки я бы хотел, чтобы мне подсказали, как сделать, чтобы программа заработала? |
26.10.2012, 14:04 | #6 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
SmallMachine.Properties.Settings.De fault.PortName чему равно? "СOM5" как и в последнем примере или регистр символов какой другой?
Что показывает сниффер COM-портов? Цитата:
http://www.pinvoke.net/default.aspx/kernel32.createfile
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation Последний раз редактировалось raxp; 26.10.2012 в 14:07. |
|
26.10.2012, 14:05 | #7 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Вы неправильно перевели на с#.
Цитата:
Сначала настраиваете порт а потом открываете методом Open. И только потом проверять опенед или нет. |
|
26.10.2012, 14:09 | #8 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Зачем мудохаться с pinvoke, если уже это сделали? незачем.
|
26.10.2012, 14:13 | #9 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
маршаллинг, варианты есть ...в QT тоже помню обертку делали и баг с управлением битами
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
26.10.2012, 16:08 | #10 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
У меня как-то была такая ошибка, забыл переменные инициализировать. Но сейчас:
Я проверил. Регистр неважен. То есть в comboBox можно написать: com5 сниффером ещё не пользовался, но подозреваю, что это очень полезная штука. Посоветуйте, пожалуйста, какой-нибудь, которым сами пользовались и вам понравился. В google ничего привлекательного не нашёл. Цитата:
Код:
Последний раз редактировалось 8Observer8; 26.10.2012 в 16:35. Причина: орфография; приложил проект и картинки (иконку, руль и стрелочки) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод конфигурации компьютера и управление клавиатурой, компилятор gcc | Enchance | Общие вопросы C/C++ | 0 | 04.11.2010 21:26 |
Управление питанием компьютера | Blade | Общие вопросы C/C++ | 1 | 09.01.2009 17:57 |
Управление устройствами компьютера | ilmar | Помощь студентам | 5 | 22.07.2008 16:04 |
Управление механизмами с компьютера. Что изучать? | Ivanushka | Помощь студентам | 2 | 20.07.2008 07:52 |
Управление настройками компьютера из приложения Delphi | Saili | Общие вопросы Delphi | 2 | 05.12.2006 11:41 |