dimka76 42 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Исходники тут ( схемы нет ) http://www.fourwalledcubicle.com/files/MyU...FA%20091223.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Я так понимаю, в качестве железяки используется AT90USB1287 (или чего-там), которая стоит на плате XPlain. Это судя по define'ам в исходнике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dx! 0 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Железка - любая USB AVR. http://www.fourwalledcubicle.com/AVRISP.php Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Гыгы... For device pinout information, build the Doxygen documentation from the source by executing "make doxygen". The resulting documentation will be located in the /Documentation/html/ directory of the source folder. У кого под рукой есть подходящий тулчейн? Соберите под AT90USB162, а? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dx! 0 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Оно под WinAVR, да и схемка платы нужна же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Оно под WinAVR Если быть точным, то собирается гнутым тулчейном. Я не держу таких, потому и прошу. да и схемка платы нужна же... make doxygen создаст .html-файл с документацией. Там будет написано назначение пинов. Выкапывать их из мейкфайла мне лень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dx! 0 11 января, 2010 Опубликовано 11 января, 2010 (изменено) · Жалоба Нихрена там не написано 8) main.html Изменено 11 января, 2010 пользователем Dx! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Нихрена там не написано 8) Все понятно (ибо все написано). Конфиги таки надо править. Ладно, выпадет свободный вечер, соберу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба В режиме PDI обмен похоже по USART осуществляется void PDITarget_SendByte(const uint8_t Byte) { #if defined(PDI_VIA_HARDWARE_USART) /* Switch to Tx mode if currently in Rx mode */ if (!(IsSending)) { PORTD |= (1 << 3); DDRD |= (1 << 3); UCSR1B |= (1 << TXEN1); UCSR1B &= ~(1 << RXEN1); IsSending = true; } /* Wait until there is space in the hardware Tx buffer before writing */ while (!(UCSR1A & (1 << UDRE1))); UCSR1A |= (1 << TXC1); UDR1 = Byte; #else .................... а в режиме ISP аппаратный SPI, в качестве выходной ножки ресет - ножка PB4 файл LUFA 091223\Projects\AVRISP\makefile # Place -D or -U options here for C sources CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS += -DRESET_LINE_PORT=PORTB CDEFS += -DRESET_LINE_PIN=PINB CDEFS += -DRESET_LINE_DDR=DDRB CDEFS += -DRESET_LINE_MASK="(1 << 4)" CDEFS += -DVTARGET_ADC_CHANNEL=2 CDEFS += -DENABLE_ISP_PROTOCOL CDEFS += -DENABLE_PDI_PROTOCOL в этом же файле и контроллер прописан # MCU name MCU = at90usb1287 А в файле LUFA 091223\LUFA\Drivers\USB\LowLevel\LowLevel.h целый букет поддерживаемых контроллеров /* Preprocessor Checks and Defines: */ #if !defined(F_CLOCK) #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile. #endif #if (F_CLOCK == 8000000) #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \ defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__)) #define USB_PLL_PSC 0 #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) #define USB_PLL_PSC 0 #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__)) #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0)) #elif (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__)) #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0)) #endif #elif (F_CLOCK == 16000000) #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \ defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__)) #define USB_PLL_PSC (1 << PLLP0) #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) #define USB_PLL_PSC (1 << PINDIV) #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__)) #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP1)) #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)) #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP0)) #endif #endif #if !defined(USB_PLL_PSC) #error No PLL prescale value available for chosen F_CPU value and AVR model. #endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Да это все понятно. Контроллер - заменить на 90USB162, порт выбрать подходящий и все, зашибись :) В режиме PDI обмен похоже по USART осуществляется Ну видимо есть и второй способ, судя по #ifdef. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Ну видимо есть и второй способ, судя по #ifdef. А второй способ это программный ногодрыг UARTовскими ногами ))). На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode. Мне - пофиг. Абы работало :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Мне - пофиг. Абы работало :) И путаться в двух разъемах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба И путаться в двух разъемах Не поверите :) В одном разъеме 5 ножек, в другом - 3 :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января, 2010 Опубликовано 11 января, 2010 · Жалоба Не поверите :) В одном разъеме 5 ножек, в другом - 3 :) Один разъем лучше двух Так оставьте ненужные споры! Я себе уже все доказал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться