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

Zliva

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

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

  • Посещение

Репутация

0 Обычный

Информация о Zliva

  • Звание
    Частый гость
    Частый гость
  • День рождения 09.12.1984

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Помогите реализовать softstart/softstop для асинхронного однофазного двигателя. Мощность двигателя 300 Ват, 220В, 50Гц. Оператор вводит следующие значения: - номинальная частота вращения двигателя (50-100%, шаг 1 %) - Минимальная частота вращения двигателя (10-20%, шаг 1 %) - Время разгона (0-2сек, шаг 0,1сек) - Время торможения (0-2сек, шаг 0,1сек) Управление двигателем – фазный метод. Программирую на IAR, МК - Atmega8. Zerocross реализовал. Определяю частоту сети. Как быть с softstart/softstop ступор. Знающие люди помогите.
  2. Здесь кое-что нашел. Не охота переходить на Си серьезно, хотя понимаю, без него – НИКУДА.
  3. М-да. Это не СОМ-порт. Все намного сложнее чем я думал. Разобрался с транзакциями и передачей данных. Буду лезть в Delphi (просто я его знаю немного лучше чем Си) и писать софт со стороны хоста. Может кто имеет заготовки для Delphi для работы с USB? Не хочется с нуля вникать. Пример если не жалко.
  4. Что нужно делать? Читаю спецификацию, может я это упустил или не совсем внимательно читаю. Разве здесь не так как у СОМ- порте, инициализировал и пиши туда сюда? Поигрался немного с консолью (CYConsole ). Отправляю пакеты без проблем, но они тоже по два приходят! Странно. К примеру отправляю 0х01 count=10, получаю 0х01 count=10 два раза.
  5. Ничего не делаю. Жду пока не получу значения. Дескриптор производителя - LNTU-2009 – 2 раза Дескриптор продукта - VibroAnalyzer – 2 раза
  6. Не получаться передать данные на хост. Делаю так: AT91C_BASE_UDP->UDP_FDR[0x01] = 255; AT91C_BASE_UDP->UDP_CSR[0x01] |= AT91C_UDP_TXPKTRDY; И еще, анализируя полученные пакеты в процессе энумерации USB с помощью утилиты USBTrace, вижу, что дескриптор строки передается 2 раза, так должно быть?
  7. С инициализацией USB закончил. CyConsole видит мое устройство. Посылаю данные на устройство, и в дебугере вижу их. Как передать на хост один байт данных?
  8. Error[42]: Duplicate label:'typedef' D:\My doc\_DISER\=ARM_Project=\Proba2\at91lib\boards\at91sam7s-ek\board.h 15 Error[40]: Bad instruction D:\My doc\_DISER\=ARM_Project=\Proba2\at91lib\boards\at91sam7s-ek\board.h 15
  9. Подскажите пожалуйста, почему IAR ругается на такую вот запись: typedef unsigned int UINT;
  10. Компилировал с дивайсом AT91SAM7Х256 – работало нормально. Поменял проц на 128 - ошибки. Поменял также - Linker configuration file на AT91SAM7S128_FLASH.icf, и умерла программа.
  11. Народ, что могут означать эти две ошибки? Куда я уже залез? Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total estimated minimum size of 0x9a98 bytes in <[mem:0x200100-mem:0x207fff]> (total uncommitted space 0x7f00) Error[Lp011]: section placement failed: unable to place 0xffffffffffffffc7 initializer bytes in <[mem:0x102bcc-mem:0x11ffff]>
  12. Имелось в виду передача простого байта из контроллера в хост. Или я чтото не так спрашиваю?
  13. Ради прикола оставил только конфигурацию, интерфейс и ендпоинт, заменил DEVICE_PID и USBlyzer увидел все. Странно. Буду разбираться. Нашел проблему. Что-то сильно намудрил с интересами. Буду разбираться Набросайте пожалуйста последовательность чтения и записи в USB.
  14. Прочитал пост с нуля, понял что я тоже нуль. Страшно представить что можно задавать такие глупые вопросы. Огромное СПАСИБО aaarrrr за терпение. И так, дескриптор устройства отправил. Получил 8, передал 8 получил 18, передал 18. С этим понятно. Потом пришел запрос USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE. Обработал и отправил. Все дескрипторы переписываю из примера от Cypress. Затем пришел запрос конфигурации. Спрашивает 9, отвечаю тем же. Потом спрашивает 73, отвечаю. Затем стринг запрос, отвечаю. Но USBVIEW не видит дескриптора конфигурации. Видит только дескриптор устройства. Что делать? Вот привожу объявление дескрипторов: static const USB_DEVICE_DESCRIPTOR f_DeviceDescriptor = { sizeof(USB_DEVICE_DESCRIPTOR), //bLength USB_DEVICE_DESCRIPTOR_TYPE, //bDescriptorType 0x0110, //bcdUSB - 1. 0x00, //bDeviceClass 0x00, //bDeviceSubClass 0x00, //bDeviceProtocol 0x08, //bMaxPacketSize0 - для нулевой точки DEVICE_VID, //idVendor - LCARD DEVICE_PID, //idProduct 1, //bcdDevice 0x01, //iManufacturer 0x02, //iProduct 0x00, //iSerialNumber -- могло бы быть 3 0x01 //bNumConfigurations }; static const USB_DEVICE_QUALIFIER_DESCRIPTOR f_QalifierDescriptor= { sizeof(USB_DEVICE_QUALIFIER_DESCRIPTOR), //bLength USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE, 0x0110, // bcdUSB; 0x00, // bDeviceClass; 0x00, // bDeviceSubClass; 0x00, // bDeviceProtocol; 0x08, // bMaxPacketSize0; 0x01, // bNumConfigurations; 0x00 // bReserved; }; static const FULL_CONFIG_DESCRIPTOR f_ConfigurationDescriptor_Full= { // USB_CONFIGURATION_DESCRIPTOR g_ConfigurationDescriptor = { sizeof(USB_CONFIGURATION_DESCRIPTOR), //bLength USB_CONFIGURATION_DESCRIPTOR_TYPE, //bDescriptorType sizeof(USB_CONFIGURATION_DESCRIPTOR) + sizeof(USB_INTERFACE_DESCRIPTOR) + sizeof(USB_ENDPOINT_DESCRIPTOR) + sizeof(USB_INTERFACE_DESCRIPTOR) + sizeof(USB_ENDPOINT_DESCRIPTOR) + sizeof(USB_INTERFACE_DESCRIPTOR) + sizeof(USB_ENDPOINT_DESCRIPTOR) + sizeof(USB_INTERFACE_DESCRIPTOR) + sizeof(USB_ENDPOINT_DESCRIPTOR), //wTotalLength 0x01, //bNumInterfaces 0x01, //bConfigurationValue 0x00, //iConfiguration /*1*/ USB_CONFIG_BUS_NOWAKEUP, // 0xA0 // attribute : Bus-powered, no wakeup /*1*/ CURRENT_CONSUMPTION_MA/2 // Maximum power consumption (in 2mA unit, so 0x64 =100= 200mA) }, //Interface Descriptor********************************************************** { sizeof(USB_INTERFACE_DESCRIPTOR), //bLength USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType 0x00, //bInterfaceNumber 0x00, //bAlternateSetting 0x01,//ENDPOINT_COUNT, //bNumEndpoints 0xFF, //bInterfaceClass 0x00, //bInterfaceSubClass 0x00, //bInterfaceProtocol нет протокола 0x00 //iInterface }, //Endpoint Descriptor*********************************************************** { sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType, 0x82, //bEndpointAddress - LTR 10 USB_ENDPOINT_TYPE_BULK, //bmAttributes 0x0040, //wMaxPacketSize 0x01 //bInterval }, //Interface Descriptor 1 ******************************************************* { sizeof(USB_INTERFACE_DESCRIPTOR), //bLength USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType 0x00, //bInterfaceNumber 0x01, //bAlternateSetting 0x01, //ENDPOINT_COUNT, //bNumEndpoints 0xFF, //bInterfaceClass 0x00, //bInterfaceSubClass 0x00, //bInterfaceProtocol нет протокола 0x00 //iInterface }, //Endpoint Descriptor 1 ******************************************************** { sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType, 0x02, //bEndpointAddress - LTR 10 USB_ENDPOINT_TYPE_BULK, //bmAttributes 0x0040, //wMaxPacketSize 0x01 //bInterval }, //Interface Descriptor 2 ******************************************************* { sizeof(USB_INTERFACE_DESCRIPTOR), //bLength USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType 0x00, //bInterfaceNumber 0x02, //bAlternateSetting 0x01, //ENDPOINT_COUNT, //bNumEndpoints 0xFF, //bInterfaceClass 0x00, //bInterfaceSubClass 0x00, //bInterfaceProtocol нет протокола 0x00 //iInterface }, //Endpoint Descriptor 2 ******************************************************** { sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType, 0x82, //bEndpointAddress - LTR 10 USB_ENDPOINT_TYPE_ISOCHRONOUS, //bmAttributes 0x0040, //wMaxPacketSize 0x01 //bInterval }, //Interface Descriptor 3 ******************************************************* { sizeof(USB_INTERFACE_DESCRIPTOR), //bLength USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType 0x00, //bInterfaceNumber 0x03, //bAlternateSetting 0x01, //ENDPOINT_COUNT, //bNumEndpoints 0xFF, //bInterfaceClass 0x00, //bInterfaceSubClass 0x00, //bInterfaceProtocol нет протокола 0x00 //iInterface }, //Endpoint Descriptor 3 ******************************************************** { sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType, 0x02, //bEndpointAddress - LTR 10 USB_ENDPOINT_TYPE_ISOCHRONOUS, //bmAttributes 0x0040, //wMaxPacketSize 0x01 //bInterval } };
  15. У меня получается размер запроса не 8, а 64. Как быть?
×
×
  • Создать...