prottossвзят из старого проекта Usart-USB 1.0/BasicUSB1.1, файл cdc_enumerate.c
там дескриптор длиный, поэтому прикладываю оригинальный весь проект с диска из папочки Демо-программ...
см путь... AT91SAM7S-BasicUSB/src/cdc_enumerate.c
kovigorшлются сообщения по 14 байт (вместе с /r/n) с частотой от 1 до 4 Гц...
но это не принципиально - если даже 1 раз послать 1 байт - то все... плата
продолжает работать дальше, отправлять... а в порт компьютера ничего не приходит - уже
проверенно на Win7 и ALT Linux 4...
от Keil вряд ли что выйдет - полная несовместимсоть по библиотекам... от IAR 5 даже не удается...
но попробуем...
аппаратного сниффера нет... Bushound попытаюсь тоже изучить-проверить...
Sergey_RevaДело в том что весь этот проект основан на файлах, взятых с официального диска IAR... я допускал,
что там нет никаких противоречий с документацией на то время...
В новых версиях IAR не работает данный программатор впринципе, в старой Вы говорите о глюке макроса (((
Речь идет об обращениях в lib_AT91SAM7S64.h (опять же стандартный в IAR)?:
Код
__inline void AT91F_UDP_EpStall(
AT91PS_UDP pUDP, // \arg pointer to a UDP controller
unsigned char endpoint) // \arg endpoint number
{
pUDP->UDP_CSR[endpoint] |= AT91C_UDP_FORCESTALL;
}
_inline void AT91F_UDP_EpEndOfWr(
AT91PS_UDP pUDP, // \arg pointer to a UDP controller
unsigned char endpoint) // \arg endpoint number
{
pUDP->UDP_CSR[endpoint] |= AT91C_UDP_TXPKTRDY;
}
__inline void AT91F_UDP_EpClear(
AT91PS_UDP pUDP, // \arg pointer to a UDP controller
unsigned char endpoint, // \arg endpoint number
unsigned int flag) // \arg flag to be cleared
{
pUDP->UDP_CSR[endpoint] &= ~(flag);
}
__inline void AT91F_UDP_EpSet(
AT91PS_UDP pUDP, // \arg pointer to a UDP controller
unsigned char endpoint, // \arg endpoint number
unsigned int flag) // \arg flag to be cleared
{
pUDP->UDP_CSR[endpoint] |= flag;
}
__inline unsigned int AT91F_UDP_EpStatus(
AT91PS_UDP pUDP, // \arg pointer to a UDP controller
unsigned char endpoint) // \arg endpoint number
{
return pUDP->UDP_CSR[endpoint];
}
этот файл так же есть в приложенном демо-проекте, папка include
или я и тут ничего не понимаю?
Andrey VasilyevВозможно и глючный, но не один же я с такой проблемой - явно где-то это должно быть описанно, мне кажется вероятнее всего
проблема всетаки в стандартных IARных библиотеках...
собстна пока нашу группу компьютеров от их одного отличает только то, что у нас везде разные варианты Intel, у них тут AMD, интерфейсы у нас есть все - OHCI,UHCI и EHCI - и все работает... ну не xHCI же у них...
p.s. спасибо за ответы
p.s.s фактически не один пример (там их три на работу с USB) с официального диска не заработал на том компьютере, включая тот, что я выкладываю... на наших - все чудесно пашет...
Сообщение отредактировал abit - Sep 19 2011, 12:22