Вс авг 04, 2019 08:24:23
Вс авг 04, 2019 08:39:37
Вс авг 04, 2019 14:06:04
Вс авг 04, 2019 14:28:30
Вс авг 04, 2019 21:02:22
Вс авг 04, 2019 21:21:34
Вс авг 04, 2019 22:32:22
Вс авг 04, 2019 22:52:09
Пн авг 05, 2019 11:19:50
Пн авг 05, 2019 11:26:08
HAL_RCC_MCOConfig(RCC_MCO1,RCC_MCO1SOURCE_PLLCLK,RCC_MCODIV_3);//Config clocks for DCMI ON PA8
/* DMA parameter configuration*/
hdcmi_dma.Instance = DMA2_Stream1;
hdcmi_dma.Init.Channel = DMA_CHANNEL_1;
hdcmi_dma.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdcmi_dma.Init.PeriphInc = DMA_PINC_DISABLE;
hdcmi_dma.Init.MemInc = DMA_MINC_ENABLE;
hdcmi_dma.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
hdcmi_dma.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdcmi_dma.Init.Mode = DMA_NORMAL;
hdcmi_dma.Init.Priority = DMA_PRIORITY_VERY_HIGH;
hdcmi_dma.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
HAL_DMA_Init(&hdcmi_dma);
// DCMI parameter configuration//
hdcmi.Instance = DCMI;
hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE;
hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING;
hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW;
hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW;
hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME;
hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_8B;
hdcmi.Init.JPEGMode = DCMI_JPEG_DISABLE;
hdcmi.Init.ByteSelectMode = DCMI_BSM_ALL;
HAL_DCMI_Init(&hdcmi);
void DCMI_StartCapture(uint32_t buff_addr, uint32_t count){
DMA2->LIFCR = DMA_LIFCR_CFEIF1 | DMA_LIFCR_CDMEIF1 | DMA_LIFCR_CTEIF1 | DMA_LIFCR_CHTIF1 | DMA_LIFCR_CTCIF1;// Clear all interrupt flags on DMA2->Stream1
hdcmi_dma.Instance->CR &= ~DMA_SxCR_EN;//Disable DCMI_DMA
hdcmi.Instance->CR &= ~(DCMI_CR_ENABLE | DCMI_CR_CAPTURE);//DCMI_CR_ENABLE//Disable DCMI
hdcmi_dma.Instance->M0AR = buff_addr;
hdcmi_dma.Instance->PAR = (uint32_t)(&hdcmi.Instance->DR);
hdcmi_dma.Instance->NDTR = count;
hdcmi.Instance->CR |= DCMI_CR_ENABLE | DCMI_CR_CAPTURE;//DCMI_CR_ENABLE//Enable DCMI
hdcmi_dma.Instance->CR |= DMA_SxCR_EN;//Enable DCMI_DMA
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET);//Нога для дрыгания HSYNC и VSYNC
}
Пн авг 05, 2019 12:11:30
PB7 dcmi_vsynk(PinMode::AF_PullUp, 13);
PA4 dcmi_hsynk(PinMode::AF_PullUp, 13);
PA7 dcmi_ctrv(PinMode::PushPull);
PA6 dcmi_pixclk(PinMode::AF_PullDown, 13);
dcmi_ctrv.set();
DCMI->CR = 0; // 8 bits
Dma2Stream7<1> stream;
stream.initPeriphToMem(&DCMI->DR, DmaSrc::_32b, buf, DmaDst::_32b_Inc, 10000, DmaPrio::VeryHigh);
DCMI->CR = DCMI_CR_CAPTURE | DCMI_CR_ENABLE;
stream.enable();
dcmi_ctrv.clear();
__NOP();
__NOP();
dcmi_ctrv.set();
Вт авг 06, 2019 10:17:56
PB7 dcmi_vsynk(PinMode::AF_PullUp, 13);
PA4 dcmi_hsynk(PinMode::AF_PullUp, 13);
PA7 dcmi_ctrv(PinMode::PushPull);
PA6 dcmi_pixclk(PinMode::AF_PullDown, 13);
dcmi_ctrv.set();
DCMI->CR = 0; // 8 bits
Dma2Stream7<1> stream;
stream.initPeriphToMem(&DCMI->DR, DmaSrc::_32b, buf, DmaDst::_32b_Inc, 10000, DmaPrio::VeryHigh);
DCMI->CR = DCMI_CR_CAPTURE | DCMI_CR_ENABLE;
stream.enable();
dcmi_ctrv.clear();
__NOP();
__NOP();
dcmi_ctrv.set();
Вт авг 06, 2019 10:26:13
Вт авг 06, 2019 10:47:43
Вт авг 06, 2019 10:57:48
Вт авг 06, 2019 11:09:05
Вт авг 06, 2019 11:12:25