powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неуправляемый код
24 сообщений из 24, страница 1 из 1
Неуправляемый код
    #38926375
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!! Возникла необходимость написать приложение для программатора. Для работы с программатором есть библиотека неуправляемого кода,надо импортировать её в C#. Импортировал, но такое чувство что параметры передаются не правильно. Такое предположение я сделал так как некоторые функции работают, но возвращает 0, а некоторые вообще не запускаются приложение завершается по ошибке. Перепробовал всё что мог вот и прошу помощи.

Код: c#
1.
2.
3.
4.
5.
6.
7.
[DllImport("MSP430FPA.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
        [return: MarshalAs(UnmanagedType.I4)]
        public static extern Int32 F_Initialization();

        [DllImport("MSP430FPA.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
        [return: MarshalAs(UnmanagedType.I4)]
        public static extern Int32 F_OpenInstancesAndFPAs([MarshalAs(UnmanagedType.BStr)] string FileName);



Также прикладываю архив с документацией к библиотеке с примерами
https://yadi.sk/d/PTQdx7F9fj25z
...
Рейтинг: 0 / 0
Неуправляемый код
    #38926650
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikus,

посмотрите, какие определения unmanaged-методов вам покажет PInvoke Interop Assistant .
...
Рейтинг: 0 / 0
Неуправляемый код
    #38926983
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я извиняюсь за свою необразованность, но как ей пользоваться? я так понимаю эта прога открывает dll, показывает список функций и соответствие в C#.
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927279
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimasikus,

у TI должны быть dll под NET. сам пользовался. правда под другие камни, под C2000 серию.
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927285
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я на сайте искал не нашёл.
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927723
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашёл обьявление функции
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public partial class NativeMethods {
    
    /// Return Type: int
    ///_Str: char*
    [System.Runtime.InteropServices.DllImportAttribute("ntdll.dll", EntryPoint="atol", CallingConvention=System.Runtime.InteropServices.CallingConvention.Cdecl)]
public static extern  int atol([System.Runtime.InteropServices.InAttribute()] [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string _Str) ;

}



делаю на подобе
Код: c#
1.
2.
3.
4.
[DllImport("MSP430FPA.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
        [return: MarshalAs(UnmanagedType.I4)]
        public static extern Int32 F_OpenInstancesAndFPAs([MarshalAs(UnmanagedType.LPStr)] ref string FileName);
        [DllImport("MSP430FPA.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]


программа завершается ошибкой
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927879
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ура работает! У меня стоит VirtualBox с Win XP х86 там стоит VS2010, на ней создаю проект там всё компилит. А на ноуте стоит Win8 x64, я подозреваю что что-то в настройках проекта я не настроил, сама библиотека х86.
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927908
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем дело в разрядности процессора. В проекте создаю новую конфигурацию х86 но все равно не работает. запустил на х64 проект из х32 тоже не работает. подскажите что делаю не так
...
Рейтинг: 0 / 0
Неуправляемый код
    #38927922
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikusподскажите что делаю не так Не там ищете ответы на свои вопросы? Не сообщаете детали? "Не работает" это как ? С какой ошибкой падает... Может с этой ошибкой стоит пойти в суппорт вендера?
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928050
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа vshost32.exe не работает
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928122
LameUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikusПрограмма vshost32.exe не работает
Я думаю, что коллеги, которые написали выше, на самом деле ожидали от вас увидеть либо скриншот ошибки либо Call Stack
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928130
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928154
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikus

у вас отладчик есть?
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928159
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, есть
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928184
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikus, посмотрите примеры идущие в поставке (там вроде и на дотноте есть)... внимательно перечитайте мануал... попробуйте поиграть с плюсовыми примерами...
Поищите помощи у службы техподдержки... ну или на форумах где дспшники и другие электрики тусят...
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928188
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно спасибо
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928262
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikusпонятно спасибо

Код: c#
1.
2.

[DllImport("MSP430.dll")]
public unsafe static extern int MSP430_Initialize(string port, int* version);

//DLL Version
int DllVersion = 30205004;

ErroNumber = new int();

public const string porta = "TIUSB";

unsafe
{
int* version = &DllVersion;

if (MSP430DLL.MSP430_Initialize(porta, version) == STATUS_ERROR)
{
ErroNumber = MSP430DLL.MSP430_Error_Number();

MessageBox.Show(MSP430DLL.MSP430_Error_String(ErroNumber)
+ Environment.NewLine + "Error: " + ErroNumber);

this.Close();

}
}
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928264
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Неуправляемый код
    #38928863
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Winnipuh,
А где вы нашли описание функций, если не трудно скиньте пожалуйста.
...
Рейтинг: 0 / 0
Неуправляемый код
    #38929527
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikusWinnipuh,
А где вы нашли описание функций, если не трудно скиньте пожалуйста.

По ссылке на гугл, см .выше, в результатах ссылка № 1

http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/251066/912314
...
Рейтинг: 0 / 0
Неуправляемый код
    #38929628
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня ещё вопрос. как узнать какое устройство использует COM порт.
Код: c#
1.
2.
string[] str;
SerialPort port = new SerialPort();


так получаем список доступных COM портов "COM1....COMx", а как узнать какое устройство использует COM1?
...
Рейтинг: 0 / 0
Неуправляемый код
    #38929998
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimasikusу меня ещё вопрос. как узнать какое устройство использует COM порт.
Код: c#
1.
2.
string[] str;
SerialPort port = new SerialPort();


так получаем список доступных COM портов "COM1....COMx", а как узнать какое устройство использует COM1?

это достойно отдельной темы ;-)
...
Рейтинг: 0 / 0
Неуправляемый код
    #38930044
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhэто достойно отдельной темы ;-)
Да ну, ерунда какая. Win32_PnPEntity +
Код: c#
1.
2.
3.
4.
5.
6.
var searcher = new ManagementObjectSearcher("root\\CIMV2",
  "SELECT * FROM Win32_PnPEntity WHERE ClassGuid=\"{4d36e978-e325-11ce-bfc1-08002be10318}\"");
foreach (ManagementObject queryObj in searcher.Get())
{
    // do what you like with the Win32_PnpEntity
}
...
Рейтинг: 0 / 0
Неуправляемый код
    #38930187
dimasikus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неуправляемый код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]