#usb #fft #stm32
#usb #fft #stm32
Вопрос:
Я использую устройство stm32, которое подключено к другому MCU с помощью SWO. Когда я загружаю базу кода на FFT (я полагаю, тяжелый код), MCU не подключается к моему компьютеру. Почему это происходит? и как я могу это решить?
Я не загружал код, потому что код в порядке, может быть, что-то в конфигурации или в том, как работает USB. Но это часть кода, которая вызывает у меня проблемы:
arm_cfft_radix4_init_f32(amp;S, FFT_SIZE, 0, 1);
arm_cfft_radix4_f32(amp;S, input);
arm_cmplx_mag_f32(input, AFFT, FFT_SIZE);
arm_max_f32(AFFT, FFT_SIZE, amp;maxValue, amp;maxIndex);
Я буду благодарен, если вы сможете мне помочь или дать мне подсказку.
Большое вам спасибо.
Редактировать: я заметил, что RO-данные увеличились с 680 до 35 304 байт:
Существует ли какая-либо связь между RO-данными, а не ответом от USB?
Комментарии:
1. извините, но ваш пост не имеет для меня никакого смысла. как 4 строки кода FFT передаются на USB? вы говорите, что код работает, но все же публикуете его, потому что это вас беспокоит? есть ли какие-либо сообщения об ошибках? о каком устройстве STM32 вы говорите? как вы реализуете USB? на этот вопрос нельзя ответить как есть. пожалуйста, улучшите свой пост
2. Код содержит более 4 строк, но когда я добавляю эти строки, у меня возникают проблемы с подключением устройства (STM32L476rg). Нет никаких ошибок или предупреждений. Реализация USB автоматически выполняется CubeMX. Я объясню еще раз. У меня есть устройство MCU. Я пишу для него код, и он работает отлично. Я добавил эти 4 строки, и после компиляции и загрузки кода для устройства STM компьютер не распознает устройство. Я не знаю, почему =/
3. В ваших вопросах упоминаются два микроконтроллера, SWO-соединение, USB-соединение с ПК и т. Д. Можете ли вы как-то изолировать проблему и придумать более простую настройку, которая демонстрирует ту же проблему, например, только один MCU и USB-соединение? Если нет, можете ли вы лучше описать настройку, т. Е. Какой MCU подключен к USB, Какой MCU запускает код FFT и т. Д.? Или вы описываете плату Nucleo со вторым встроенным микроконтроллером, который действует как ST-Link? Если да, то вы говорите, что компьютер больше не обнаруживает ST-Link, подключенный через USB?
4. Привет, Codo, спасибо за ваше терпение. Я рисую схему, чтобы объяснить мою ситуацию: prnt.sc/uqk08z
5. Код, скорее всего, приводит к сбою MCU. Таким образом, он застрял в обработчике ошибок и больше не отвечает на USB-соединение. Компьютер будет считать его мертвым. Похоже, что компьютер его не распознает. Используйте отладчик, чтобы проверить, где застрял код, и что вызвало его сбой. Другая возможность заключается в том, что выполнение кода занимает слишком много времени и задерживает код USB. Он также будет отображаться как мертвый.