Заголовок сообщения: ATmega32 вывод информации через COM порт
Добавлено: Ср апр 01, 2009 19:53:40
Встал на лапы
Зарегистрирован: Вс мар 22, 2009 15:10:13 Сообщений: 128
Рейтинг сообщения:0
Помогите пожалуйста сделать простенькую программу на Delphi.
С тремя светодиодами.Есть микроконтроллер ATmega32 я его прошил,он у меня измеряет напряжение.
Пример:
----------
Напряжение: от 0 Вольт до 1.5 - Минимальный режим
(В Программе горит желтая лампочка и пишется Минимальный режим)
----------
----------
Напряжение: от 1.5 Вольт до 2.5 - Нормальный режим
(В Программе горит зеленая лампочка и пишется Нормальный режим)
----------
----------
Напряжение: от 3 Вольт до 5 - Максимальный режим
(В Программе горит зеленая лампочка и пишется Максимальный режим)
----------
В микроконтроллере ATmega32 есть Com порт,хочу чтоб от туда поступала вся информация по Com порту на Компьютер.как это сделать помоги пожалуйста!
В общем так , Коты - программисты : нужен человек, который напишет простенькую программу под XP, которая принимает данные из COM порта компьютера (как терминал) и обрабатывает их по простому алгоритму :
(данные -1 байт информации, по-сути, даже байта не надо
в контроллере все обрабатывается и без этого, но для простоты возьмем байт.)
_____
|__данные:___|_____информация на форме:_____|
|_____$01____|_____"Минимальный режим", горит желтый примитив__|
|_____$02____|_____"Номинальный режим", горит зеленый примитив__|
|_____$04____|_____"Максимальный режим", горит красный примитив_|
вот и все что нужно. три условия и прием данных.
кто может помочь? не сложно ведь?! ....
procedure TForm1.RecivBytes(var Msg : TMessage); var Ch : char; p : pointer; begin p := Pointer(Msg.WParam); S := ''; While Byte(p^)<>0 do begin Ch := Chr(Byte(p^)); inc(integer(p)); end; case Ch of 'y': ProcedureYellow(); 'g': ProcedureGreen(); 'r': ProcedureRed(); end;
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Программа в архиве.
Она написана на языке PureBasic Версия компилятора - 4.30
Она считывает данные из порта каждые 100 мс., так что чаще слать инфу не следует.
Контроллер должет слать инфу со скоростью 9600 бод, числом бит - 8, и одним стоповым битом.
Работать будет с любым портом (с виртуальный тоже) и в любой ОСи из семейства Windows.
Программа не требует инсталяции не нуждается ни в каких внешних файлах, кроме имеющихся в системе.
При необходимости можно что-то изменить и заново перекомпилировать. Для этого подойдёт даже ,бесплатная демо-верся PureBasic 4.30
Вложения:
Комментарий к файлу: Исходник и скомпилированый файл. CON_IN.rar [14.38 KiB]
Скачиваний: 382
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Да. Точно. Но и по Borland C++ тоже будет работать. А вот еще программа для доступа к микроконтроллерным устройствам http://revich.lib.ru/comcom.zip там же есть и хелп. Устанавливать ничего не надо. Принятые данные отображаются тремя различными способами hex, dec , text. Ну вобщем разберетесь...
А можно узнать у господ чем им так нравятся бэйсики и паскали?)))
Есть например C#. Очень простой. Полностью объектный. Главное что на нем можно делать программы любой сложности и намного более качественные.
Это не в упрек кому-либо - просто мне интересно, что так нравится людям в этих пакетах?
А можно узнать у господ чем им так нравятся бэйсики и паскали?))) Есть например C#.
вы говорите о программировании для AVR или под XP?))))
те библиотеки (о котрых я говорил выше) используются для программирования Win приложений. в СИ также будет какая то библиотека для обращения к КОМ порту, либо то, о чем вы говорите "очень простой.полностью объектный" сводится на нет.
в XP как многие знают, обращение к портам ввода/вывода стало проблематичной задачей.
ibiza11 понимаете в чем дело... С# работает на .net framework... А там есть классы на все случаи жизни. Для работы с ком-портом SerialPort например. И не надо искать никаких библиотек.
Плюс я говорил про Си не из-за библиотек - а из-за того, что в этом языке, в его синтаксисе есть куча удобнейших инструментов, да и просто синтаксис удобный.
А я заметил, что среди радиолюбителей оч. популярны продукты от Borland и бэйсик.
Вот и не могу понять почему. Да и чем так нравится тот же кривой C++Builder?
все это дело вкуса. кого как учили, кому как понятнее, то и будет использовать. меня учили только VB и Basic.... и еще в универе.... стыдно говорить - Fortran. я понимаю что есть куча книжек по программированию на разных языках программирования, но пока не было особой необходимости.
лично я при программировании МК использую только Асм. Люблю делать качественно и для себя, с пониманием процесса. Изучение СИ конечно есть в планах в будущем, т.к. это быстро и удобно (хотя я понятия не имею что такое "классы" ).
в данном случае в теме стоит вопрос о конкретном действии, которое необходимо получить от программы, которое понадобится сейчас, скоро. Сейчас не важно на каком языке написан исходник, лишь бы работал с COM портом.
хотя во многом я согласен с вашим мнением. СИ универсален и доступен для понимания.
А я вот давно не пишу на асме (: только маленькие участи кода, где это короче чем на Си. Просто я понял что результат тот же, только секаса с асмом больше.
Объясню почему я так критично отношусь к другим языкам программирования. Дело в том, что в школе я учил паскаль. Потом неприятно было переучиваться снова на Си. Поэтому считаю
Насчет классов - в Си нет ни классов ни объектов. Он процедурный.
Объектное программирование появилось в c++, c#. Также нет объектов в обычном паскале и в обычном бэйсике.
Все дело в том насколько это все нужно. Мне вот приходится писать приложения для Win32, и никакого прикола в написании на бэйсике нет )
Хотя у M$ есть Visual Basic .NET. Многие пользуют. Мне не нравится.
А вообще учите С - пригодится. И C# тоже учите. Для win32 будете писать приложения очень быстро
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Как сказал ibiza11 - на asm писать, значит понимать процесс. И многие книги по МК написаны для Ассемблера - типа для новичков. Тому кто не хочет влезать в мозговые дебри МК можно смело приступать к Си.
Я когда пришел на свою работу мог только на Бейсике что-то написать, но мне вручили чей-то проект на Turbo Pascal и хочешь не хочешь пришлось его изучать - тем более окружение коллег было сопутствующем. Всегда кто-то подскажет, поможет. Думаю у многих такое было. Каждый выбирает именно тот язык по которому есть либо хорошая книга или хороший консультант. Со временем с Turbo прешел на Delphi, стало намного проще, приложения писались быстро.
В МК все обстоит все гораздо сложнее. На Си не могу писать так как после паскаля он мне глаза режет своим синтаксисом. И мне не так важно написать саму программу как понять что же происходит внутри МК. Но и Асм пока для меня сложноват, но зато он не пересекается с Паскалем и путаницы в голове меньше. Может когда нибудь я начну писать для МК и на Си. Согласен - CAVR своим генератором кода намного экономит время - но за кадром остается очень многое ( а для новичка это важно) К примеру та же работа с LCD. На Си - раз плюнуть. А на Асм придется немного попариться - но процесс открытие и понятнее.
Так что пишите на чем хотите и можете. Цель все равно одна! Это как ездить на разных машинах, с левым или правым рулем, на легковых или грузовых. Идея то одна а способов много.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения