Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

И примеры фирмвари для ARM там-же (IAR)... Чего уж проще-то? :

Отправлено Гудвин 17 сентября 2008 г. 23:55
В ответ на: Даже и называется "USB-Bulk-Driver for embedded application"... Дока там в комплекте. отправлено Гудвин 17 сентября 2008 г. 23:47


/*
**********************************************************************
* Micrium, Inc.
* 949 Crestview Circle
* Weston, FL 33327-1848
*
* uC/USB-Bulk
*
* (c) Copyright 2003 - 2004, Micrium, Inc.
* All rights reserved.
*
***********************************************************************

----------------------------------------------------------------------
File : SampleApp.c
Purpose : USB BULK Sample Application
---------------------------END-OF-HEADER------------------------------
*/

#include <stdio.h>
#include <windows.h>
#include "USBBULK.h"

typedef BOOL (WINAPI* TTT) (WORD);

TTT _CancelIo; external;






/*********************************************************************
*
* _MessageBox
*
*/
static void _MessageBox(const char * s) {
MessageBox(NULL, s, "USB Bulk sample application", MB_OK);
}


/*********************************************************************
*
* _SendReceive1
*
*/
static int _SendReceive1(unsigned char DataTx) {
unsigned char DataRx[100];
int r;
printf("Writing one byte\n");
r = USBBULK_Write(&DataTx, 63);
if (r == 0) {
_MessageBox("Could not write to device");
}

printf("Reading one byte\n");
r = USBBULK_Read (&DataRx, 63);
if (r == 0) {
_MessageBox("Could not read from device (time out)");
}
if (DataRx != (DataTx + 1)) {
// _MessageBox("Wrong data read");
return 1;
}
printf("Operation succesful!\n\n");
return 0;
}


/*********************************************************************
*
* _Test
*
*/
int Test(void) {
int r;
r = _SendReceive1(0x12);
if (r) {
return r;
}
r = _SendReceive1(0x13);
return r;
}

/*********************************************************************
*
* main
*
* Function description
*/
int main(int argc, char* argv[]) {
int r;
HANDLE h;

h = LoadLibrary("KERNEL32.DLL");
_CancelIo = (TTT)GetProcAddress(GetModuleHandle("KERNEL32.DLL"),"CancelIo");


if (USBBULK_Open() == NULL) {
_MessageBox("Unable to connect to USB BULK device");
return 1;
}


while(1) r = Test();


USBBULK_Close();
if (r == 0) {
// _MessageBox("Communication with USB BULK device succesful!");
}
return r;
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 234:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru