Size: a a a

2021 May 24

АГ

Андрей Горностаев... in STM32
#pragma once

#include "Color.h"
#include "Font.h"

class Display {
источник

АГ

Андрей Горностаев... in STM32
все файлы лежат в одном каталоге
источник

ГГ

Гаджи Гасанов... in STM32
Не могу сказать точно, сам пользуюсь Makefile и Emacs а не родным IDE. Но здесь точно видно, что проблема с путями.
источник

АГ

Андрей Горностаев... in STM32
а где смотреть пути? подскажите направление
источник

ГГ

Гаджи Гасанов... in STM32
В файле описывающий проект
источник

ГГ

Гаджи Гасанов... in STM32
Он обычно находится в корне каталога проекта.
источник

АГ

Андрей Горностаев... in STM32
решено: Tools->Update CMake project with STM32CubeMX.
источник

ГГ

Гаджи Гасанов... in STM32
Логично. 👍🏻
источник

ИС

Иван Соловьев... in STM32
По моему это вопрос не про STM, а про язык. Так что вам не сюда
источник

АГ

Андрей Горностаев... in STM32
точно
источник

ИС

Иван Соловьев... in STM32
Вот сюда
источник

A

Andrew in STM32
Всем привет.
Кто-нибудь работал плотно с периф. USB_OTG_FS/HS?
А если конкретно - со стримингом аудио с F4xx камня на хост через изохронные КТ?
Реализую сейчас USB-шный микрофон. Использую библиотеку STSW-STM32046. Так вот, мб сталкивался кто-нибудь по-своему опыту?  
Не удается настроить поток данных
источник

GZ

Genadi Zawidowski in STM32
Я работал... но классы что предоставляет st не использую.
источник

GZ

Genadi Zawidowski in STM32
Core да использую
источник

GZ

Genadi Zawidowski in STM32
Первое куда смотреть это как инициализируется память fifo
источник

GZ

Genadi Zawidowski in STM32
Скачать usblyzer и посмотреть что происходит у вас
источник

A

Andrew in STM32
Ну там проблема такая...
Энумерация проходит нормально, но вот на этапе изохронной передачи девайса хватает только на два пакета по 24 байт (?), и то все с нулями и статусом -75 (-EOVERFLOW). Дальше все пакеты идут с кодом ошибки OPERATION NOT PERMITTED (-1). Всё это дело смотрел в wiresharke из под линукса (малинки).  Скрины прилагаю

Что насчет внутренностей...
Гоняю звук частотой 8000 Гц, ширина сэмпла 16 бит.
КТ инициализирована как изохронная, макс. размер пакета 32 байта.
В общем, все конфиги как в оф. спецификации по USB Audio Class, за исключением того, что я увеличил максимальный размер пакета в дескрипторе КТ.
FIFO у меня инициализирован размером 128 байт. Конкретно использую TxFIFO1.

Теперь насчет отправки данных. Использую функцию DCD_EP_Tx(), отправляю по 16 байт. И то не звук, а просто массив с синусоидой.
В принципе я куда только её не пихал, но история почти все та же - идет отправка какого-то левого пакета (если верить wireshark), а потом - практически постоянное срабатывание прерывания IsoIncomplete.
В инете находил всякие примеры, например, с инвертирование бита четности в регистре КТ в прерывании IsoIncomplete, но это всё не то, как по мне. Даже без инвертирования данные хоть какие-то данные тоже должны идти.
На данный момент вызываю DCD_EP_Tx() в двух местах:
Первое - сразу после инициализации КТ. Идея была такая, чтобы сразу начать передачу, т.к. линукс после инициализации сразу посылает SET_INTERFACE на интерфейс с изохронной КТ.
Второе - в коллбеке прерывания TransferComplete (или XFRC).
В итоге функция и вызывается всего 2 раза , первое - это в инициализации, а второе - это в прерывании. Дальше затык в виде того, что сверху написал.

Проблема осложняется тем, что я пока не понял, как правильно дебажить фифо-буффер - по адресу напрямую не заглянешь. Читал, что выделено специальное место для дебага по адресу типа 0x50020000 для фифо буфферов, но я там ничего путного не нашел.
Регистры типа DIEPTXF1 проверял (где указано смещение и размер буфера), все ок.
Смущает несоответствие отправленного и принятого на Wireshark, мол я взывал функцию два раза по 16 байт, в итоге 32 байта, а на выходе Wiresharka 48 байт.

В общем, спасибо заранее спасибо за помощь, если кто чем поможет в этом деле)
источник

A

Andrew in STM32
источник

GZ

Genadi Zawidowski in STM32
источник

ГК

Геннадий Ковалёв... in STM32
Подскажите, пожалуйста, где почитать про режимы работы GPIO, теорию так сказать? Всякие Push-Pull, Floating и т.д...
источник