Я разрабатываю свой проект с демонстрационной доской SAM3S-EK. Я использовал USB CDC и MSC Driver с примером кода и ASF, и все работает нормально. Теперь я хочу поместить код в свою пользовательскую карту (с SAM3S1B). Но это моя проблема. Я назначил вывод и изменил конфигурацию часов, но устройство не распознается Windows. Все дескрипторы равны нулю (согласно USBLyser).USB-выпуск SAM3S-EK -> Пользовательская карта
Может кто-нибудь мне помочь?
Это мой конфигурационный файл часов (у меня есть 16MHz кристалл):
// ===== System Clock (MCK) Source Options
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK
// ===== System Clock (MCK) Prescaler Options (Fmck = Fsys/(SYSCLK_PRES))
#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4
// ===== PLL0 (A) Options (Fpll = (Fclk * PLL_mul)/PLL_div)
// Use mul and div effective values here.
#define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL
#define CONFIG_PLL0_MUL 32
#define CONFIG_PLL0_DIV 2
// ===== PLL1 (B) Options (Fpll = (Fclk * PLL_mul)/PLL_div)
// Use mul and div effective values here.
#define CONFIG_PLL1_SOURCE PLL_SRC_MAINCK_12M_RC
#define CONFIG_PLL1_MUL 16
#define CONFIG_PLL1_DIV 2
// ===== USB Clock Source Options (Fusb = FpllX/USB_div)
// Use div effective value here.
//#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 2
// ===== Target frequency (System clock)
// - XTAL frequency: 16MHz
// - System clock source: PLLA
// - System clock prescaler: 4 (divided by 4)
// - PLLA source: XTAL
// - PLLA output: XTAL * 32/3
// - System clock is: 16 * 32/4/2 = 64MHz
// ===== Target frequency (USB Clock)
// - USB clock source: PLLB
// - USB clock divider: 2 (divided by 2)
// - PLLB output: XTAL * 12/2
// - USB clock: 16 * 12/2/2 = 48MHz
Спасибо за ваш ответ. Проблема заключается в том, что карта разработки работает (у меня есть правильный драйвер), но на пользовательской карте она не работает (тот же код работает на эквивалентной архитектуре, поэтому я думаю, что мне не нужен новый драйвер). – bernard