Перейти к содержанию
    

AnV22

Участник*
  • Постов

    24
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о AnV22

  • Звание
    Участник
    Участник
  • День рождения 13.06.1984

Контакты

  • Сайт
    Array

Информация

  • Город
    Array
  1. Инициализация DMA DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); /* Enable DMA1 clock */ DMA_DeInit(DMA1_Channel7); extern uint32_t tmp; tmp=0x0080; DMA_InitStructure.DMA_PeripheralBaseAddr =(uint32_t)&tmp; DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)0x40011010; //запись в ячейку памяти по этому адресу DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize = 1; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; DMA_InitStructure.DMA_M2M = DMA_M2M_Enable; DMA_Init(DMA1_Channel7, &DMA_InitStructure); DMA_Cmd(DMA1_Channel7, ENABLE); /* Enable DMA1 channel7 */ Инициализация Таймера RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);// включаем тактирование TIM_Cmd(TIM2, DISABLE); // останавливаем таймер TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Prescaler = 0x01; /* TIM1CLK = 72 MHz/(1+1) */ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // TIM_TimeBaseStructure.TIM_Period = _60mks; /* настраиваем на 60 мкс */ TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //настраиваем прерывания TIM_ITConfig(TIM2, TIM_IT_CC2, ENABLE); // прерывание по первому каналу по сравнению NVIC_InitTypeDef NVIC_InitStructure; /* Enable TIM2 Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_SetAutoreload(TIM2,_500mks); //время импульса сброса TIM_SetCompare2(TIM2,_500mks); //время импульса сброса TIM_SetCounter(TIM2,0); TIM_SelectCCDMA(TIM2, ENABLE); //вот здесь настраиваю DMA (привязываю таймер к каналу ДМА) TIM_DMACmd(TIM2,TIM_DMA_CC2, ENABLE); //вот здесь настраиваю DMA TIM_Cmd(TIM2, ENABLE);
  2. Здравствуйте. Подскажите по такой проблеме в мк STM32F103. Мне нужно, чтобы по сравнению таймера (использую канал 2 таймера 2) посредством DMA было передан 1 байт из памяти в память. С настройками DMA проблем нет - выбираю DMA1 канал 7 (он настроен на TIM2 Channel2), данные копируются из памяти в память. Вопрос - какие настройки таймера произвести. Делаю так: в регистре TIM2_DIER выставляю CC2DE бит и в регистре TIMx_CR2 выставляю CCDS бит. Однако по сравнению таймера 2 канала 2 не происходит запрос DMA. Подскажите, что делаю не так?
  3. Только, пожалуйста, не идите инженером работать. Идите в Дворники или менеджеры какие нибудь
  4. А общались как? На английском или русском? Или китайском?
  5. :bb-offtopic: В двух словах можете рассказать процесс покупки осцилла, а особенно доставки?
  6. Вы не ошиблись со значением скважности? Может быть со скважностью 2?
  7. :bb-offtopic: "У вас есть двухмерный аррей пойнтеров на стринги, сами стринги вы правильно аллокируете - " - Задорнов отдыхает
  8. плата на 9260

    И мне тоже хочется эту отладочную плату.
  9. А можно какой-нибудь примерчик такого makefile?
  10. плата на 9260

    Выкладывать результаты вашей разводки платы не планируете?
  11. При токе светодиода оптопары 10 мА получаем более 2 Вт рассеиваемой мощности. В модуле на 8 входов будет рассеиваться 2Вт х 8 каналов=16 Вт. А нет ли более экономичных решений?
  12. Цель - определение наличия фазного напряжения на вводе (цифровой ввод).
  13. Кто может подсказать, какая схемотехника у модулей ввода переменного напряжения 230В? Интересует входная часть схемы (та, что со стороны переменного напряжения ).
  14. Использовали в свое время MCP100 или MCP101. Отличаются уровнем сброса.
×
×
  • Создать...