Автор |
Съобщение |
stom1
Ранг: Новодошъл
Регистриран на: Пет Окт 05, 2012 11:04 am Мнения: 111
|
Насоки относно създаване на софтуер за комуникация с MCU
Здравейте, Опитвам се да пиша малки програми,който да комуникират с микроконтролер. Елементарните неща ми се удават,но имам желание да правя по-сложни неща.Разглеждам някои готови приложения с учебна цел, но напоследък някои изпълнения съвсем ме объркаха! Например:
Защо някои Windows GUI предназначени да комуникират с MCU след инсталацията им, в инсталационнта си папка съдържат Header/interface files, като "C header file" и "Additional CPP header file". В други случаи се използува DLL написан на С++ , който пък съдържа всички функции на firmware на устройството. Скоро попаднах на софтуер, който пък включва DLL, "C header file" и "CPP header file". Може ли да ми посочите литература или ликове,които биха ми дали отговор на тези въпроси? Благодаря!
|
Пет Фев 09, 2018 12:29 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
В момента не задаваш правилни въпроси. Дай примери за програми и за микроконтролери. Как се свързват микроконтролерите с PC?
_________________ Warriors of the Night, ASSEMBLER!!!
|
Пет Фев 09, 2018 1:34 pm |
|
|
stom1
Ранг: Новодошъл
Регистриран на: Пет Окт 05, 2012 11:04 am Мнения: 111
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Наистина най-трудното е да задам правилния въпрос! Нека приемем,че програмата е написана на C# или VB.net,без значение е.И двете програми комуникират с PIC24 или PIC18, посредством FT232R, като ползуват сериен порт за комуникация. Когато аз си правя някакво приложение в един "Class" си създавам всичко което ми е необходимо за да комуникирам с FT232R, разбира се като ползувам и драйверите на FTDI. Може би това е най-простия начин,не знам! Бях попаднал на програма с отворен код ,която комуникира с FT232R ,но когато отворих инсталационната и папка вътре видях драйверите на FTDI, един DLL, един .h и един .ccp файл.Тъй като проекта е отворен, можех да разгледам функцийте които се използуват във фърмуера на процесора.Процесорът беше някакъв на Моторола.Оказа се,че като отворя DLL файла с Dependency Walker,се вижда,че вътре са изброени едно към едно само функийте от фърмуера. Не мога да си обясня защо е направено така.Може би още не ми е дошло времето да задавам такива въпроси,но но ако имате идея къде са описани тези неща ще бъда благодарен да го споделите.
|
Пет Фев 09, 2018 2:46 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2593 Местоположение: Велико Търново / София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Този FTDI прави виртуален COM порт. Изтегли си някоя терминална програма, например Docklight 1.9 . С нея ще може да пращаш и четеш от съответния компорт. Ако усвоиш изпращането и приемането към COM порта, ще стане. Драйвера си е драйвер. Като вкараш FTDIто в USBто, windows-а ще ти го поиска. Той няма общо с програмата. А това какво има в папката май не е за това което ти трябва. Теб ти трябва да направиш нещо като терминална програма, която да допишеш за твоите нужди с готови команди.
|
Пет Фев 09, 2018 3:24 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4979 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
За комуникация с FT232R (и подобните му) има два начина - през директния D2XX драйвер или чрез виртуален COM порт (VCP драйвера). Кой от тях ще използваш си е твое решение.
|
Пет Фев 09, 2018 4:11 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
PIC24 и PIC18 си имат USB периферия и не им трябва FTDI. От USB перферията на микроконтролерите можеш да си избереш да симулираш COM порт(CDC) или Клавиатура/Мишка/Джойстик(HID). 1. За COM порт(CDC) просто отваряш порта и четеш и пишеш направо в него: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363194(v=vs.85).aspx2. За HID ползваш http://www.signal11.us/oss/hidapi/ . 3. За FT232R можеш да го ползваш, като COM порт както точка 1. : http://www.ftdichip.com/Drivers/VCP.htm4. За FT232R можеш да го ползваш и с неговите си директни D2XX драйвери, както Desert Leo посочи: http://www.ftdichip.com/Drivers/D2XX.htm
_________________ Warriors of the Night, ASSEMBLER!!!
Последна промяна ike на Пет Фев 09, 2018 6:06 pm, променена общо 1 път
|
Пет Фев 09, 2018 4:26 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4979 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Като се замисля, май най-добре е да се използва директния драйвер. С FT Prog може да се зададат желаните стринг дескриптори (производител, наименование на дивайса и сериен номер) и от страна на PC-то да се търси "своето" устройство сред няколко със същия интерфейсен чип.
|
Пет Фев 09, 2018 4:56 pm |
|
|
stom1
Ранг: Новодошъл
Регистриран на: Пет Окт 05, 2012 11:04 am Мнения: 111
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Много благодаря на всички! Явно ще се наложи да прочета още много материал по темата.
|
Пет Фев 09, 2018 5:17 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Ти правил ли си програма за ползване на директния драйвер на PC (Win или друго)? Може ли някакво примерче да предложиш? Моят опит по темата е с един ужасн нечетлив рапър за CS (C#), предлаган от FTDI. Работи, но гъвкавостта му е ниска - разлчините FTDI чипове имат различна организация на IO.
|
Пет Мар 02, 2018 11:10 am |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4979 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Използвах това http://bleyer.org/pyusb/ с Питоня.
|
Пет Мар 02, 2018 11:38 am |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Да, почти същото е. Моето впечетление - ако се пише за конкретен FTDI чип - става, но ако трябва да се пише за няколко различни чипа е досада. ПП (за пълнота ) има по-нова версия на фреймурка линка по-горе, с по-новте FTDI чипове.
|
Пет Мар 02, 2018 12:36 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4979 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
За кое става въпрос?
|
Пет Мар 02, 2018 1:02 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Управлението на универсалните GPIO - в по-старите чипове става с едни функции, в по-новите - с други. Подробно мога да пиша надвечер
|
Пет Мар 02, 2018 1:12 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Съжалявам за забавянето!
Гледам, че управлнието на GPIO на FTDI през драйвера се прави по два начина а) за сериите FT_DEVICE_232R и FT_DEVICE_X_SERIES - се управлява с SetBitMode(byte Mask, byte BitMode); б) за серията FT_DEVICE_232H се управлява с изпращане на команда с Write(byte[], uint, ref uint); за другите серии не е реализирано в тоя софтуер
|
Пон Мар 05, 2018 1:58 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4979 Местоположение: София
|
Re: Насоки относно създаване на софтуер за комуникация с MCU
Не ми е трябвало управление на GPIO.
|
Вто Мар 06, 2018 9:59 am |
|
|