FT232R   otázka

VB.NET, Hardware

Dokážete někdo řídit IO piny obvodu FT232R z Visual Basicu?

Více je zde http://www.ftdichip.com/Projects/CodeExa..., jsou tam bohužel pouze základní funkce. Zde jsou ještě příklady pro C# http://www.ftdichip.com/Projects/CodeExa....

Předem děkuji za rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem s kódem pro VB.NET nepochodil, snažím se s Céčkem:

// BitBang.cpp : main project file.

#include "stdafx.h"
#include <windows.h>
#include "ftd2xx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
	FT_STATUS ftStatus;
	DWORD NumDevs;
	DWORD RCount;
	DWORD count;

	FT_DEVICE_LIST_INFO_NODE *DevInfo;
	FT_DEVICE_LIST_INFO_NODE *RDevsInfo;


	// Get number of devices connected
	ftStatus = FT_CreateDeviceInfoList(&NumDevs);
	// Allocate storage
	DevInfo = (FT_DEVICE_LIST_INFO_NODE*)malloc(sizeof(FT_DEVICE_LIST_INFO_NODE)*NumDevs);
	// Get device list
	ftStatus = FT_GetDeviceInfoList(DevInfo,&NumDevs);
	// Get number of FT232R devices
	RCount = 0;

    Console::WriteLine(L"Hello World");
    return 0;
}

Při překladu hlásí toto. Kde dělám prosím chybu knihovna ftd2xx.h (všechno jako v demonstračním projektu)?

Error	3	error LNK2028: unresolved token (0A000013) "extern "C" unsigned long __stdcall FT_GetDeviceInfoList(struct _ft_device_list_info_node *,unsigned long *)" (?FT_GetDeviceInfoList@@$$J18YGKPAU_ft_device_list_info_node@@PAK@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)	BitBang.obj	BitBang

Error	4	error LNK2028: unresolved token (0A000015) "extern "C" unsigned long __stdcall FT_CreateDeviceInfoList(unsigned long *)" (?FT_CreateDeviceInfoList@@$$J14YGKPAK@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)	BitBang.obj	BitBang

Error	5	error LNK2019: unresolved external symbol "extern "C" unsigned long __stdcall FT_GetDeviceInfoList(struct _ft_device_list_info_node *,unsigned long *)" (?FT_GetDeviceInfoList@@$$J18YGKPAU_ft_device_list_info_node@@PAK@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)	BitBang.obj	BitBang

Error	6	error LNK2019: unresolved external symbol "extern "C" unsigned long __stdcall FT_CreateDeviceInfoList(unsigned long *)" (?FT_CreateDeviceInfoList@@$$J14YGKPAK@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)	BitBang.obj	BitBang
Error	7	fatal error LNK1120: 4 unresolved externals	D:\Dokumenty\Visual Studio 2008\Projects\FTDI\C++\moje\BitBang\Debug\BitBang.exe	1	BitBang

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1. Skúste sa pozrieť na Tools->Options->Začiarknúť "Show all settings"->Projects and Solutions->VC++ Directories->v "Show directories for:" vybrať "Include files"->Skontrolovať, či tam je zložka so súborom "ftd2xx.h".

Prípadne dajte dll, ktoré ten súbor referencuje do "c:\windows\system32\"

2. To xx v názve include súboru by nemalo byť nahradené konkrétnou verziou, ako napr. "ftd210.h" ?

3. A naozaj potrebujete miešať dokopy c++ a .net kód ? Nestačilo by Vám čisté C++ alebno C ? A keď už, no tak by som si spravil wrapper a ten použijem vo VB.NET alebo C#, bolo by to prehľadnejšie.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za rady, ani v originálním projektu není v include files, a stejně je možné ho přeložit. Osobně bych také rád používal .NET knihovnu pod VB ale netuším jak se s ní pracuje, viz předchozí příspěvek. Knihovna se skutečně jmenuje ftd2xx.h (soubor jsem do projektu zkopíroval).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To nastavenie je ak sa nemýlim na úrovni kompilátora a nie projektu, tzn. je spoločné pre všetky projekty, ktoré prekladáte s visual studiom, resp. VC++ express edition na danom počítači. Skúšal ste to tam pridať ?

Inak aj mne robí kompilátor blbosti, otvoril som si projekt z DirectX SDK, dám kompilovať a vždy vypíše, že niečo nevie nájsť.

Pritom tie predkompilované verzie, ktoré sú súčasťou SDK sa dajú spustiť bez problémov. Naposledy dokonca prvý krát riadne skompil oval projekt, potom som program zavrel a jeden riadok zakomentoval a už zrazu malo problém nájsť d3dx9.h .

S tým VB som to myslel tak, že v C++/CLI projekte budete mať vlastný wrapper a ten potom použiť namiesto toho, s ktorým neviete pracovať.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Přidal jsem, ale stejně se nedaří. Dále jsem se také pokoušel o build toho vzorového projektu. Projekt jsem nejprve clearnul a potom znovu přeložil, vše se zkompiluje tak jak má. Vůbec tedy netuším kde je problém.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback