dosikus
Я читал в том числе и это. Вопрос не в том, что я не уделяю достаточного времени и усилий. Вопрос в том, что я, видимо, упускаю при изучении что-то очень важное.
Вот например
включаем тактирование порта B и альтернативных функций
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN;
это из ваших ссылолк, которые я , кстати, читал.
Я понимаю, что IOPB и AFIO сидят на APB2
Я понимаю, указателем RCC переменной в структуре RCC_TypeDef присваевается значение APB2ENR |= RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN;
Но почему это делается операцией ИЛИ. Почему не сложение?
Ну это к слову.... Решил отдохнуть от этого всего пару дней...
Добавлено after 1 minute 34 seconds:
... И кстати, что там делает AFIO, когда в структуре
Код: Выделить всё
typedef struct
{
__IO uint32_t CR;
__IO uint32_t CFGR;
__IO uint32_t CIR;
__IO uint32_t APB2RSTR;
__IO uint32_t APB1RSTR;
__IO uint32_t AHBENR;
__IO uint32_t APB2ENR;
__IO uint32_t APB1ENR;
__IO uint32_t BDCR;
__IO uint32_t CSR;
} RCC_TypeDef;
нет этого AFIO
Добавлено after 5 minutes 15 seconds:
мне не понятно то, что pRxBuffPtr - это буфер,куда пересылаются данные, но он не привязан к адресу. Хотя как ни читаю, везде говорят, что к адресу должно быть привязано. Тут сказали, что что контроллер сам решает куда писать. контроллер или компилятор?
И не смог найти механизм, по которому DMA переправляет данные и располагает их в выделенном массиве друг за другом....
короче масса вопросов.
А где читать (за редким приятным исключением) - так все показывают уже известные места.