Перейти к содержанию
    

HARDStalker

Участник*
  • Постов

    14
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. скачал Программа конечно прикольная но я это должен сделать сам. а вот примеров на делфи я в этой программе не нашел.
  2. и почему я этого не смог найти :crying: ... как всегда "в танке"
  3. Я уже далеко не чуток усилий приложил... и гуглил ... и в магазины за книжками бегал... по данной теме пусто! . Ну или я такой тупой. А то что за меня программу писали... не... это не пойдет... я сам хоть тыщу прог напишу (тем более этого требуют). Просто я обычно читаю книги а там все по полкам разложено... если что непонятно в даташит лезу... а тут :07: :07: :07: ну просто темень какаято... вы же профи!!!... вам ничего не стоит написать пару правильных строчек для примера. А потом я уже по командам буду разбиратся если что непонятно... а то в одном одно написано ... в другом другое... иногда понятно как это все работает но непонятно как это реализуется на практике . а потом перекинте всю инфу в отдельный FAQ и будет всем начинающим прогерам счастье!!! :beer: Xenom0rph за програмки Респект и уважуха!!! Огромнейшее спасибо!!! через пару часиков сяду разбиратся. :a14:
  4. я конечно не сильно крут в программировании но ... синтаксис сльно напоминает Си. Пока что пытаюсь разобратся, спасибо за ссылки... ------------------------------- итак начнем... для того чтобы работать с Ком портом надо его "включить" грубо говоря и выставить настройки. а т.к. передача информации через порт работает как передача файлов (я прав?) мы джолжны включить этот процесс... есть код файловой функции WinAPI: HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); чтобы работать с COM портом №1 нам надо переделать код вот так: HANDLE CreateFile( LPCTSTR COM1, DWORD GENERIC_READ|GENERIC_WRITE, DWORD 0, LPSECURITY_ATTRIBUTES NULL, DWORD OPEN_EXESTING, DWORD FILE_FLAG_OVERLAPPED, HANDLE NULL ); но как я понимаю это все под делфи не катит? для делфи надо использовать: hPort := CreateFile(‘COM1’, GENERIC_READ or GENERIC_WRITE, 0, nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED, 0); if hPort = INVALID_HANDLE_VALUE then raise Exception.Create('Error opening port'); а это закрывает порт? а как это будет на Делфи? BOOL CloseHandle( HANDLE hObject ) З.Ы. кстати... чтоб разобратся во всем я начал вот тут тему писать... http://nstalker.forum24.ru/?1-3-0-00000001-000-0-0
  5. в английском не рублю спасибо - попробую поставить но чувствую разобратся будет проблемма - нет ли каких нибудь книг на русском по этому компоненту? пользуюсь XP и NT меня не волнует ... как и другие операционки. картинок там кроме кода нет. Уточнить задание не могу - препод мифическая личность, появляется раз в 2 недели и если я ему ничего не принесу будет полный армагеддец :twak: что за API системы ? это связано с программированием в Delphi или Паскале? (Первое приоритетней т.к. можно сделать прогу с кравивым и понятным интерфейсом). если это не зарагивает программирование даже и рассматривать не стоит. Короче люди. подскажите как с помощью Delphi (ну или на крайний Pascal) запрограммировать программу для : 1. проверки адресов порта 2. инициальзации порта (установки скоростей , выводов и т.п.) 3. передачи данных (вбил в ячейку - нажал на кнопку - байт полетел) как я понимаю для этого нужно скачать компонент для работы с COM-портом... но вот разобратся в его командах и синтаксисе без знания английского для меня проблемма
  6. а что имел в виду автор в книге говоря что прога под винду? с чего начать?
  7. Дословно? давайте. дз звучит так : научится передавать байты байты по RS232 по книжечке автора Пей Ана (Сопряжение ПК с внешними устройствами). написать программу которая будет проверять сколько портов на компе, их адреса , их инициализация и пересылка байтов. Вот такое задание. для передачи данных использовать "3х проводной" интерфейс. кстати насчет программы - я её немножко переработал , нашел ошибки в синтаксисе и урезал коментарии для наглядности кода: Function RS232(x:integer):integer; export; var number_of_COM, COM1, COM2, COM3, COM4:integer; begin number_of_COM:=mem($40:$11); number_of_COM:=(number_of_COM and (8+4+2)) shr 1; COM1:=0; COM2:=0; COM3:=0; COM4:=0; COM1:=memw($40:$00); COM2:=memw($40:$02); COM3:=memw($40:$04); COM4:=memw($40:$06); Case x of 0: 0: RS232:= number_of_COM; 1: RS232:= COM1; 2: RS232:= COM2; 3: RS232:= COM3; 4: RS232:= COM4; end; end;
  8. значит данные берутся с Биоса? уже хорошо. Забыть я этот бред не могу - у меня такое д.з. правда изучаем мы паскаль... с Win API не знаком значит тогда поставлю вопрос попроще - как это все сделать чтоб оно работало в паскале?
  9. Прошу помощи разобратся. Тут привожу функцию RS232(x) со скана книжки! а значит и ошибок много, написанная на Турбо Паскале для Windows. RS232(0) возвращает количество установленных COM-портов, RS232(1)-базовый адрес COM1, RS232(2) - базовый адрес COM2 и т.п. (*-библиотека ресурсов №A6 (определение базовых адресов COM-портов).-*) (Universal auto detection of COM base address) Function RS232(x:integer).integer; export; (* $0000:$0400 содержит базовый адрес порта COM1, $0000:$0402 содержит базовый адрес порта COM2, $0000:$0404 содержит базовый адрес порта COM3, $0000:$0406 содержит базовый адрес порта COM4, $0000:$0406 содержит количество COM портов в двоичном формате.* ) var Number_of_COM, COM1, COM2, COM3, COM4:integer; begin numer_of_COM:=mem($40:$11); (*Считывает количество COM- портов*) numer_of_COM:=(numer_of_COM and (8+4+2)) shr 1; COM1:=0; COM2:=0; COM3:=0; COM4:=0; COM1:=memw($40:$00); (*Процедура чтения из памяти*) COM2:=memw($40:$02); COM3:=memw($40:$04); COM4:=memw($40:$06); Case x of 0: RS232:= numer_of_COM; 1: RS232:= COM1; 2: RS232:= COM2; 3: RS232:= COM3; 4: RS232:= COM4; end; end; Хочу этот код использовать в Делфи в проекте "управление двигателем" чтоб сначала проверить количество COMпортов на компе и их базовые адреса. Потом задам вопросы по инициализации COM порта. Вопросы: 1. как переделать синтаксис чтобы этот код их Турбо паскаля заработал в Делфи 2. то что (*текст*) - коментарии? я прав? 3. обьясните мне этот участок кода: numer_of_COM:=mem($40:$11); (*Считывает количество COM- портов*) numer_of_COM:=(numer_of_COM and (8+4+2)) shr 1; COM1:=0; COM2:=0; COM3:=0; COM4:=0; COM1:=memw($40:$00); (*Процедура чтения из памяти*) COM2:=memw($40:$02); COM3:=memw($40:$04); COM4:=memw($40:$06); а именно: 3.1 что мы присваиваем переменной numer_of_COM в первой строчке? (имею в виду функцию mem($40:$11)) 3.2 что мы добиваемся второй строчкой? а именно: numer_of_COM and (8+4+2)) shr 1 почему не: numer_of_COM and 14) shr 1 3.3 COM1:=memw($40:$00); - функция memw($40:$00) из чего читает и что она делает а теперь догадки : есть прелположение что функции memw и mem читают из ОЗУ . в инете встречал формулировку: "Mem - это массив памяти. Т.е. с помощью указания номера элемента вы получаете доступ к определенной ячейке. существует 3 вида массива Mem: * сам Mem - каждый компонент такого массива типа byte. * MemW - каждый компонент типа word. * MemL - каждый компонент типа longint." Надеюсь на вашу помощь . хотябы часть обьясните.
  10. еслиб это было на русском - совсем хорошо бы было. :rolleyes:
  11. Огромное спасибо. вроде все понял...на данный момент :beer:
  12. Спасибо большое. Возникли ещё вопросы. это?: http://support.atmel.no/knowledgebase/avrs...n/AVRDragon.htm а поподробней про этот кннструктив можно? невьехал :) к какому выводу на драгоне подключать внешнее питание? и ещё во время программирования на МК необходимо или нет подавать на VCC 5 в (а на GND - минус)? И ещё насчет ISP - так подключается ?
  13. Помогите пожалуйста. Искал на форуме (видимо плохо искал) - нашел только разрозненные и плоховаримые для моего мозга новичка куски информации по данному девайсу (AVRDRAGON). Интересует: 1. Почему до сих пор в этот программатор не включают USB кабель (ведь так он сообщается с компьютером?) и сопроводительную документацию? 2. Есть ли по нему документация в картинках (чтобы понять в какой разьем вставлять tiny2313 20пиновый в dip корпусе т.к. дырок много) 3. Есть ли хотябы краткий мануал понятный новичку на русском языке? 4. Читал что легче всего программатор использовать через ISP заранее заготавливая разъем на плате под него? Тогда возникает вопрос : т.к. в ISP задействованы 6 вывода МК MOSI, MISO, SCK, /RESET , VCC и GND (ничего не пропустил?) как их подключить к программатору ? (на нем 6 штырей подписаны ISPшным портом... только вот какой вывод МК к какому штырю вести?) 5. дополнительные выводы (имею в виду ISP) не повредит нормальному , адекватному функционированию МК? (предпологается на PD1 вывести кнопку а PB0 вывести светодиод (5в) через 270-300Ом, ну и кварц на 4 МГц повесить) 6. питается программатор через USB? 7. Необходимо ли на AVR Studio ставить патч с этой страницы? http://www.chip-dip.ru/product0/9000031456.aspx 8. А другие возможности есть прогаммить МК с помощью программатора кроме ISP ? JTAG ведь тоже вроде поддерживается? а для него как? извините что много вопросов - просто незнаю болше кому задать
×
×
  • Создать...