您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DMA_GetFlagStatus函数代码示例

51自学网 2021-06-01 20:22:27
  C++
这篇教程C++ DMA_GetFlagStatus函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DMA_GetFlagStatus函数的典型用法代码示例。如果您正苦于以下问题:C++ DMA_GetFlagStatus函数的具体用法?C++ DMA_GetFlagStatus怎么用?C++ DMA_GetFlagStatus使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DMA_GetFlagStatus函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DMA1_Stream4_IRQHandler

void DMA1_Stream4_IRQHandler(void) {	if(DMA_GetFlagStatus(DMA1_Stream4, DMA_FLAG_TCIF4) == SET) {		interruptDmaI2c_Tx();		DMA_ClearFlag(DMA1_Stream4, DMA_FLAG_TCIF4);	}	return;}
开发者ID:korrav,项目名称:master_emmiter,代码行数:7,


示例2: DMA1_Stream5_IRQHandler

void DMA1_Stream5_IRQHandler(void) {	if(DMA_GetFlagStatus(DMA1_Stream5, DMA_FLAG_TCIF5) == SET) {		interruptDmaSpi();		DMA_ClearFlag(DMA1_Stream5, DMA_FLAG_TCIF5);	}	return;}
开发者ID:korrav,项目名称:master_emmiter,代码行数:7,


示例3: WS2812_send2

/* This function sends data bytes out to a string of WS2812s * The first argument is a pointer to the first RGB triplet to be sent * The seconds argument is the number of LEDs in the chain * * This will result in the RGB triplet passed by argument 1 being sent to * the LED that is the furthest away from the controller (the point where * data is injected into the chain) */void WS2812_send2(const uint8_t (*color)[3], const uint16_t _len){	int i, j;	uint8_t led;	uint16_t memaddr;	uint16_t buffersize;	uint16_t len = _len;	// Byte order mapping. 0 is red, 1 is green, 2 is blue	const uint8_t pix_map[3] = {0, 2, 1};	buffersize = (len*24);	// number of bytes needed is #LEDs * 24 bytes + 42 trailing bytes	memaddr = 0;				// reset buffer memory index	led = 0;					// reset led index	// fill transmit buffer with correct compare values to achieve	// correct pulse widths according to color values	while (len)	{		for (i = 0; i < 3; i++)		{			for (j = 0; j < 8; j++)					// GREEN data			{				if ( (color[led][pix_map[i]]<<j) & 0x80 )	// data sent MSB first, j = 0 is MSB j = 7 is LSB				{					LED_BYTE_Buffer[memaddr] = TIM_COMPARE_LOGIC_1;	// compare value for logical 1				}				else				{					LED_BYTE_Buffer[memaddr] = TIM_COMPARE_LOGIC_0;		// compare value for logical 0				}				memaddr++;			}		}		led++;		len--;	}	LED_BYTE_Buffer[memaddr++] = 0;	LED_BYTE_Buffer[memaddr++] = 0;	DMA_SetCurrDataCounter(DMA_STREAM, buffersize + 2); 	// load number of bytes to be transferred	// PAP: Clear the timer's counter and set the compare value to 0. This	// sets the output low on start and gives us a full cycle to set up DMA.	TIM_SetCounter(PWM_TIMER, 0);	TIM_SetCompare1(PWM_TIMER, 0);	TIM_Cmd(PWM_TIMER, ENABLE); 						// enable Timer 3	// PAP: Start DMA transfer after starting the timer. This prevents the	// DMA/PWM from dropping the first bit.	DMA_Cmd(DMA_STREAM, ENABLE); 			// enable DMA channel 6	while(!DMA_GetFlagStatus(DMA_STREAM, DMA_TCIF)); 	// wait until transfer complete	TIM_Cmd(PWM_TIMER, DISABLE); 					// disable Timer 3	DMA_Cmd(DMA_STREAM, DISABLE); 			// disable DMA channel 6	DMA_ClearFlag(DMA_STREAM, DMA_TCIF); 				// clear DMA1 Channel 6 transfer complete flag}
开发者ID:pculot,项目名称:WS2812-STM32F4-timer-dma,代码行数:67,


示例4: DMAx_R1_M2_IRQHandler

/**  * @brief  This function handles second motor DMAx TC interrupt request.   *         Required only for R1 with rep rate > 1  * @param  None  * @retval None  */void DMAx_R1_M2_IRQHandler(void){  if (DMA_GetFlagStatus(DMAx_R1_M2_Stream,DMAx_R1_M2_Flag) == SET)  {    DMA_ClearFlag(DMAx_R1_M2_Stream,DMAx_R1_M2_Flag);    Exec_IRQ_Handler(MC_IRQ_PWMNCURRFDBK_2,2);  } }
开发者ID:KHIEM2812,项目名称:auto_quad_fc,代码行数:14,


示例5: ws2811DMAHandler

void ws2811DMAHandler(DMA_Channel_TypeDef *channel){    if (DMA_GetFlagStatus(WS2811_DMA_TC_FLAG)) {        ws2811LedDataTransferInProgress = 0;        DMA_Cmd(channel, DISABLE);        DMA_ClearFlag(WS2811_DMA_TC_FLAG);    }}
开发者ID:180jacob,项目名称:cleanflight,代码行数:8,


示例6: DMA1_USART1_SEND

//DMA---USART1传输void DMA1_USART1_SEND(u32 SendBuff,u16 len){		MYDMA_Config(DMA1_Channel4,(u32)&USART1->DR,(u32)SendBuff,len);//DMA1通道4,外设为串口1,存储器为SendBuff,长度len.	USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);	MYDMA_Enable(DMA1_Channel4);		while(DMA_GetFlagStatus(DMA1_FLAG_TC4) != SET);	DMA_ClearFlag(DMA1_FLAG_TC4);  //清除发送完成标志}
开发者ID:RichardWei,项目名称:weizhou_flight_v2.3,代码行数:9,


示例7: DMA1_Channel3_IRQHandler

void DMA1_Channel3_IRQHandler(void){    if (DMA_GetFlagStatus(DMA1_FLAG_TC3)) {        ws2811LedDataTransferInProgress = 0;        DMA_Cmd(DMA1_Channel3, DISABLE);            // disable DMA channel 6        DMA_ClearFlag(DMA1_FLAG_TC3);               // clear DMA1 Channel 6 transfer complete flag    }}
开发者ID:nico-dh,项目名称:cleanflight,代码行数:8,


示例8: oled_wait_dma

// Waits for DMA transfer to completestatic void oled_wait_dma(void) {  while(!DMA_GetFlagStatus(DMA2_Stream3, DMA_FLAG_TCIF3)) {    if(!DMA2_Stream3->NDTR) break;  }  DMA_ClearITPendingBit(DMA2_Stream3, DMA_IT_TCIF3);  DMA_Cmd(DMA2_Stream3, DISABLE);  SPI_I2S_DMACmd(OLED_SPI, SPI_I2S_DMAReq_Tx, DISABLE);}
开发者ID:KryoStoffer,项目名称:SmartWatch_Toolchain,代码行数:9,


示例9: transponderDMAHandler

void transponderDMAHandler(DMA_Channel_TypeDef *channel){    if (DMA_GetFlagStatus(TRANSPONDER_DMA_TC_FLAG)) {        transponderIrDataTransferInProgress = 0;        DMA_Cmd(channel, DISABLE);        DMA_ClearFlag(TRANSPONDER_DMA_TC_FLAG);    }}
开发者ID:henn1001,项目名称:cleanflight,代码行数:8,


示例10: USART_DMA_send

void USART_DMA_send(USART_TypeDef* USARTx, DMA_Channel_TypeDef* DMAy_Channelx, char *buf, uint8_t len){	//	DMA_InitTypeDef DMA_InitStructure;		// DMA на запись	DMA_DeInit(DMAy_Channelx); //DMA1_Channel4	DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t) &(USARTx->DR);	DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t) buf;	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;	DMA_InitStructure.DMA_BufferSize = len;	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;	DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;	DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;	DMA_InitStructure.DMA_Priority = DMA_Priority_Low;	DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	DMA_Init(DMA1_Channel4, &DMA_InitStructure);	// старт цикла отправки	USART_ClearFlag(USARTx, USART_FLAG_TC | USART_FLAG_TXE);	USART_DMACmd(USARTx, USART_DMAReq_Tx, ENABLE);		DMA_Cmd(DMAy_Channelx, ENABLE);		// wait until transmission complite from dma 	if (DMAy_Channelx == DMA1_Channel1) { 			while (DMA_GetFlagStatus(DMA1_FLAG_TC1) == RESET) {		}	}	if (DMAy_Channelx == DMA1_Channel2) { 			while (DMA_GetFlagStatus(DMA1_FLAG_TC2) == RESET) {		}	}	if (DMAy_Channelx == DMA1_Channel3) { 			while (DMA_GetFlagStatus(DMA1_FLAG_TC3) == RESET) {		}	}	if (DMAy_Channelx == DMA1_Channel4) { 			while (DMA_GetFlagStatus(DMA1_FLAG_TC4) == RESET) {		}	}		DMA_Cmd(DMAy_Channelx, DISABLE);	USART_DMACmd(USARTx, USART_DMAReq_Tx, DISABLE);}
开发者ID:tarasii,项目名称:Humidity,代码行数:45,


示例11:

uint8_t i2cMgr_t::CheckManyWriting() {    // Check if DMA transfer ended    if (DMA_GetFlagStatus(I2C_DMA_FLAG_TC_TX) == SET)        if (I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY) == RESET)            return I2C_OK;    if (Delay.Elapsed(&Timer, I2C_TIMEOUT_MS)) return I2C_ERR_TIMEOUT;    return I2C_WAITING;}
开发者ID:Kreyl,项目名称:nute,代码行数:9,


示例12: dmaRcvBytes

// READ (done)int dmaRcvBytes(SPI_TypeDef *SPIx, void *rbuf, unsigned count, int half) {  DMA_InitTypeDef DMA_InitStructure;  uint16_t dummy[] = {0xffff};  DMA_DeInit(DMA1_Channel4);  DMA_DeInit(DMA1_Channel5);  // Common to both channels  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&(SPIx->DR));  DMA_InitStructure.DMA_PeripheralDataSize = (half) ? DMA_PeripheralDataSize_HalfWord : DMA_PeripheralDataSize_Byte;    DMA_InitStructure.DMA_MemoryDataSize = (half) ? DMA_MemoryDataSize_HalfWord : DMA_MemoryDataSize_Byte;  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;  DMA_InitStructure.DMA_BufferSize = count;  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;  DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;  // Rx Channel  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)rbuf;  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;  DMA_Init(DMA1_Channel4, &DMA_InitStructure);  // Tx channel  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t) dummy;  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;  DMA_Init(DMA1_Channel5, &DMA_InitStructure);  // Enable channels  DMA_Cmd(DMA1_Channel4, ENABLE);  DMA_Cmd(DMA1_Channel5, ENABLE);  // Enable SPI TX/RX request  SPI_I2S_DMACmd(SPIx, SPI_I2S_DMAReq_Rx | SPI_I2S_DMAReq_Tx, ENABLE);  // Wait for completion  while (DMA_GetFlagStatus(DMA1_FLAG_TC4) == RESET);  // Disable channels  DMA_Cmd(DMA1_Channel4, DISABLE);  DMA_Cmd(DMA1_Channel5, DISABLE);  SPI_I2S_DMACmd(SPIx, SPI_I2S_DMAReq_Rx | SPI_I2S_DMAReq_Tx, DISABLE);  return count;}
开发者ID:smarth55,项目名称:Examples,代码行数:58,


示例13: I2C_RX_DMA_IRQ

/*=====================================================================================================*/void I2C_RX_DMA_IRQ(void){	if (DMA_GetFlagStatus(DMAx_RX_STREAM, DMAx_RX_FLAG_TCIF) != RESET) {		I2C_GenerateSTOP(I2Cx, ENABLE);		DMA_Cmd(DMAx_RX_STREAM, DISABLE);		DMA_ClearFlag(DMAx_RX_STREAM, DMAx_RX_FLAG_TCIF);		*I2C_ReadPtr = 0;	}}
开发者ID:ElEHsiang,项目名称:QuadrotorFlightControl,代码行数:10,


示例14: DMA1_Stream5_IRQHandler

void DMA1_Stream5_IRQHandler (void){    if (DMA_GetITStatus(DMA1_Stream5, DMA_IT_TCIF5)            && DMA_GetFlagStatus(DMA1_Stream5, DMA_FLAG_TCIF5)) {        DMA_ClearITPendingBit(DMA1_Stream5, DMA_IT_TCIF5);        DMA_ClearFlag(DMA1_Stream5, DMA_FLAG_TCIF5);    }    NVIC_ClearPendingIRQ(DMA1_Stream5_IRQn);}
开发者ID:mondaugen,项目名称:eval-daugther-card-14-a,代码行数:9,


示例15: halSPI1_Interrupt_RX_Handler

/** * Функция обработки прерываний RX */void halSPI1_Interrupt_RX_Handler(void){	if (DMA_GetFlagStatus(channel, SPI1_MASTER_Rx_DMA_FLAG_TC) == SET)	{		SPI_error = SPI_TRANSFER_COMPLETE;		DMA_ClearFlag (channel, SPI1_MASTER_Rx_DMA_FLAG_TC);		DMA_ClearITPendingBit(channel, SPI1_MASTER_Rx_DMA_FLAG_TC);		halSPI1_SS_off();	}	if (DMA_GetFlagStatus(channel, SPI1_MASTER_Rx_DMA_FLAG_TE) == SET)	{		SPI_error = SPI_TRANSFER_ERROR_FAIL;		DMA_ClearFlag (channel, SPI1_MASTER_Rx_DMA_FLAG_TE);		DMA_ClearITPendingBit(channel, SPI1_MASTER_Rx_DMA_FLAG_TE);		halSPI1_SS_off();	}}
开发者ID:smart2home,项目名称:smarthome,代码行数:21,


示例16: OV7670_capture_image

uint8_t * OV7670_capture_image(){	DCMI_InitTypeDef DCMI_InitStructure;	DMA_InitTypeDef  DMA_InitStructure;	/* DMA2 Stream1 Configuration */	DMA_DeInit(DMA2_Stream1);	DMA_InitStructure.DMA_Channel = DMA_Channel_1;	DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&DCMI->DR);	DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t) image_buffer;	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;	DMA_InitStructure.DMA_BufferSize = (IMG_SIZE/sizeof(uint32_t));	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	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_High;	DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;	DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;	DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;	DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;  /* DMA2 IRQ channel Configuration */  DMA_Init(DMA2_Stream1, &DMA_InitStructure);  DMA_Cmd(DMA2_Stream1, ENABLE);  DCMI_Cmd(ENABLE);  DCMI_CaptureCmd(ENABLE);  int temp;  // Wait until DCMI DMA Rx transfer is complete  while (DMA_GetFlagStatus(DMA2_Stream1, DMA_FLAG_TCIF1) == RESET)  {    temp = DMA_GetCurrDataCounter(DMA2_Stream1);    temp = DCMI->CR;    temp = DCMI->RISR;  }  /* Clear all DMA Streams flags */  DMA_ClearFlag(DMA2_Stream1, DMA_FLAG_HTIF1 | DMA_FLAG_TCIF1);  /* Disable the DMA Rx Stream */  DMA_Cmd(DMA2_Stream1, DISABLE);  //Do not disable DCMI peripheral untill DMA disable command gets through  while(DMA_GetCmdStatus(DMA2_Stream1) == ENABLE)  {}  DCMI_Cmd(DISABLE);  return  (uint8_t*) image_buffer;}
开发者ID:EmbeddedHub,项目名称:OV7670-Driver-Experimental,代码行数:56,


示例17: PIOS_INTERNAL_ADC_DMA_Handler

/** * @brief Interrupt for half and full buffer transfer *  * This interrupt handler swaps between the two halfs of the double buffer to make * sure the ahrs uses the most recent data.  Only swaps data when AHRS is idle, but * really this is a pretense of a sanity check since the DMA engine is consantly  * running in the background.  Keep an eye on the ekf_too_slow variable to make sure * it's keeping up. */void PIOS_INTERNAL_ADC_DMA_Handler(){	if(!PIOS_INTERNAL_ADC_validate(static_adc_dev))		return;	if (DMA_GetFlagStatus(static_adc_dev->cfg->full_flag /*DMA1_IT_TC1*/)) {	// whole double buffer filled		static_adc_dev->valid_data_buffer = &static_adc_dev->raw_data_buffer[static_adc_dev->dma_half_buffer_size];		DMA_ClearFlag(static_adc_dev->cfg->full_flag);		PIOS_INTERNAL_ADC_downsample_data((uint32_t)static_adc_dev);	}	else if (DMA_GetFlagStatus(static_adc_dev->cfg->half_flag /*DMA1_IT_HT1*/)) {		static_adc_dev->valid_data_buffer = &static_adc_dev->raw_data_buffer[0];		DMA_ClearFlag(static_adc_dev->cfg->half_flag);		PIOS_INTERNAL_ADC_downsample_data((uint32_t)static_adc_dev);	}	else {		// This should not happen, probably due to transfer errors		DMA_ClearFlag(static_adc_dev->cfg->dma.irq.flags /*DMA1_FLAG_GL1*/);	}}
开发者ID:CheBuzz,项目名称:TauLabs,代码行数:28,


示例18: DMA1_Channel1_IRQHandler

void DMA1_Channel1_IRQHandler(void){   if (DMA_GetFlagStatus(DMA1_FLAG_TC1) == SET) {        DMA_ClearFlag(DMA1_FLAG_TC1);        if(adcfinish==false){          //every 0.5s          everydiffdo(long long,__adctime,timerTick05ms/1000){                memcpy(adcbufbak,adcbuf+2,sizeof(adcbufbak));                adcfinish = true;          }       }
开发者ID:layeka,项目名称:sw_stm_can,代码行数:10,


示例19: DMA1_Stream0_IRQHandler

void DMA1_Stream0_IRQHandler (void){    if (DMA_GetITStatus(DMA1_Stream0, DMA_IT_TCIF0)            && DMA_GetFlagStatus(DMA1_Stream0, DMA_FLAG_TCIF0)) {        LEDs_greenToggle();        DMA_ClearITPendingBit(DMA1_Stream0, DMA_IT_TCIF0);        DMA_ClearFlag(DMA1_Stream0, DMA_FLAG_TCIF0);    }    NVIC_ClearPendingIRQ(DMA1_Stream0_IRQn);}
开发者ID:mondaugen,项目名称:stm32-dac-midi-mmdsp-test,代码行数:10,


示例20: sys_usartSendData

/*USARTx使用DMA方式发送数据*/void sys_usartSendData(uint8_t *Data, uint32_t SendSize){    while(DMA_GetCurrDataCounter(DMA1_Channel4));    while(!DMA_GetFlagStatus(DMA1_FLAG_TC4));    DMA_ClearFlag(DMA1_FLAG_TC4);    DMA1_Channel4->CCR &= 0xffffffe;    DMA1_Channel4->CMAR = (uint32_t)Data;    DMA1_Channel4->CNDTR = SendSize;    DMA1_Channel4->CCR |= 0x00000001;}
开发者ID:LiuHuiGitHub,项目名称:STM32F103C8,代码行数:11,


示例21: nRF24L01_WriteRegister

uint8_t nRF24L01_WriteRegister(uint8_t cmd, uint8_t* pdata, uint8_t len){	uint8_t i, status;	uint8_t txbuf[33] = {0xFF};	for(i = 0; i < len; i++)		txbuf[i+1] = *(pdata+i);	txbuf[0] = cmd;    SPI_I2S_DMACmd(NRF24L01_SPI, SPI_I2S_DMAReq_Tx, ENABLE);	SPI_I2S_DMACmd(NRF24L01_SPI, SPI_I2S_DMAReq_Rx, ENABLE);	GPIO_ResetBits(NRF24L01_SPI_GPIO, NRF24L01_GPIO_CSN);	nRF24L01_Delay(5);	nRF24L01_TxDMAInit((uint8_t*)&txbuf, len+1);	nRF24L01_RxDMAInit(&status, 1);	DMA_Cmd(SPIx_TX_DMA_STREAM, ENABLE);	DMA_Cmd(SPIx_RX_DMA_STREAM, ENABLE);	while (DMA_GetFlagStatus(SPIx_TX_DMA_STREAM,SPIx_TX_DMA_TCIF)==RESET);    while (DMA_GetFlagStatus(SPIx_RX_DMA_STREAM,SPIx_RX_DMA_TCIF)==RESET);      /* Clear DMA Transfer Complete Flags */    DMA_ClearFlag(SPIx_TX_DMA_STREAM, SPIx_TX_DMA_TCIF);    DMA_ClearFlag(SPIx_RX_DMA_STREAM, SPIx_RX_DMA_TCIF);	DMA_Cmd(SPIx_RX_DMA_STREAM, DISABLE);	DMA_Cmd(SPIx_TX_DMA_STREAM, DISABLE);    SPI_I2S_DMACmd(NRF24L01_SPI, SPI_I2S_DMAReq_Tx, DISABLE);	SPI_I2S_DMACmd(NRF24L01_SPI, SPI_I2S_DMAReq_Rx, DISABLE);	nRF24L01_Delay(5);	GPIO_SetBits(NRF24L01_SPI_GPIO, NRF24L01_GPIO_CSN);	return status;}
开发者ID:ATmega8,项目名称:wireless_audio_transmission,代码行数:42,


示例22: SPI2_RxDmaHandler

/************************************************************************* * Function Name: SPI2_DmaHandler * Parameters: none * Return: none * * Description: Interrupt handler of the SPI2 DMA. * *************************************************************************/void SPI2_RxDmaHandler(void){  if (DMA_GetFlagStatus(DMA_FLAG_TE4) == SET)  {    DMA_ClearITPendingBit(DMA_IT_GL5);    DMA_Cmd(DMA_Channel5,DISABLE);    DMA_Cmd(DMA_Channel4,DISABLE);  }  DMA_ClearITPendingBit(DMA_IT_GL4);  TransferStatus = FALSE;}
开发者ID:Forvater,项目名称:STM32-P103,代码行数:19,


示例23: DMAcheckStatus

/**********************************************************************************************************函数信息 :DMAcheckStatus(uint32_t DMA_FLAG)     **功能描述 : 查询DMA的标志位**输入参数 :uint32_t DMA_FLAG,DMA的状态标志位**输出参数 :无********************************************************************************************************/void DMAcheckStatus(uint32_t DMA_FLAG){	while(1)	{		if(DMA_GetFlagStatus(DMA_FLAG))		{			DMA_ClearFlag(DMA_FLAG);			break;		}	}}
开发者ID:CherishFan,项目名称:MT02_MCO,代码行数:17,


示例24: HASH_MD5_DMA

/**  * @brief  HASH MD5 Digest computation (using DMA for data transfer)   * @note   DMA2 stream7 channel2 is used to transfer data from memory  *         (MessageToHash[] array) to HASH Peripheral (the INPUT data register).  * @param  None  * @retval None  */static void HASH_MD5_DMA(void){  HASH_InitTypeDef HASH_InitStructure;  DMA_InitTypeDef DMA_InitStructure;  /* HASH Configuration */  HASH_InitStructure.HASH_AlgoSelection = HASH_AlgoSelection_MD5;  HASH_InitStructure.HASH_AlgoMode = HASH_AlgoMode_HASH;  HASH_InitStructure.HASH_DataType = HASH_DataType_8b;  HASH_InitStructure.HASH_HMACKeyType = HASH_HMACKeyType_ShortKey;  HASH_Init(&HASH_InitStructure);  /*DMA Configuration*/  DMA_DeInit(DMA2_Stream7);  DMA_InitStructure.DMA_Channel = DMA_Channel_2;  DMA_InitStructure.DMA_PeripheralBaseAddr = HASH_DIN_REG_ADDR;  DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)MessageToHash;  DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;  DMA_InitStructure.DMA_BufferSize = SIZE_MSG_TO_HASH_IN_WORDS;  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;  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_High;  DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;  DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;  DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;  DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;  /* Configure the DMA Stream */  DMA_Init(DMA2_Stream7, &DMA_InitStructure);  /* Enable HASH DMA */  HASH_DMACmd(ENABLE);  /* Enable DMA2 Transfer */  DMA_Cmd(DMA2_Stream7, ENABLE);  /* Note :  When the DMA is enabled, it provides the information to the hash              processor when it is transferring the last data word. Then the              padding and digest computation are performed automatically as if              DCAL had been written to 1.*/  /* wait until DMA Transfer completed */  while (DMA_GetFlagStatus(DMA2_Stream7, DMA_FLAG_TCIF7) == RESET);  /* wait until the Busy flag is RESET */  while (HASH_GetFlagStatus(HASH_FLAG_BUSY) != RESET);  /* Get the MD5 Digest */  HASH_GetDigest(&MsgDigest);}
开发者ID:xrecord,项目名称:pocker,代码行数:60,


示例25: DMA1_Stream6_IRQHandler

/* I2C1_DMA_TX_IRQHandler */void DMA1_Stream6_IRQHandler(){     NVIC_ClearPendingIRQ(DMA1_Stream6_IRQn);    if(DMA_GetFlagStatus(I2C1_DMA_STREAM_TX, I2C1_DMA_TX_FLAG_TCIF) != RESET)    {        I2C_GenerateSTOP(I2C1, ENABLE);        DMA_Cmd(I2C1_DMA_STREAM_TX, DISABLE);        DMA_ClearFlag(I2C1_DMA_STREAM_TX, I2C1_DMA_TX_FLAG_TCIF);                I2C1_DMA_TX_Semaphore = 1;    }}
开发者ID:drahosj,项目名称:avionics-software,代码行数:13,


示例26: CheckVoltage

void CheckVoltage(){    /* Check the voltage*/          ADC_SoftwareStartConvCmd(ADC1, ENABLE);        /*wait for the TC14 to be 1*/    while(DMA_GetFlagStatus(DMA1_FLAG_TC1)==0);    DMA_ClearFlag(DMA1_FLAG_TC1);             /*The value is in ADC1ConvertedValue*/    ADC1ConvertedValue = ADC1ConvertedValue;    }
开发者ID:neirons,项目名称:pythondatalogger,代码行数:13,


示例27: DMA1_Channel4_IRQHandler

void DMA1_Channel4_IRQHandler(void){	//判断是否为DMA发送完成中断   if(DMA_GetFlagStatus(DMA1_FLAG_TC4)==SET)    {     //LED关闭  		LEDG_INVERSE();		 		DMA_Cmd(DMA1_Channel4,DISABLE);    //关闭DMA通道		DMA_ClearFlag(DMA1_FLAG_TC4|DMA1_FLAG_GL4); 		//清除DMA标志位		send_flag = 0;	}	}
开发者ID:yoy52012,项目名称:LoraSignalSlaveTest,代码行数:13,


示例28: spi_transfer

// Blocking SPI transferstatic void spi_transfer() {	// Enable NSS output for master mode	SPI_SSOutputCmd(SPI1, ENABLE);	// Enable DMA1 Channel1 Transfer Complete interrupt	//DMA_ITConfig(SPI1_TX_DMA_CHANNEL, DMA_IT_TC, ENABLE);	// Enable the DMA channels	SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Rx, ENABLE);	SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Tx, ENABLE);	DMA_Cmd(SPI1_RX_DMA_CHANNEL, ENABLE);	DMA_Cmd(SPI1_TX_DMA_CHANNEL, ENABLE);	// Wait for everything to finish	//TODO: Implement timeout so we don't get stuck	//uint32_t TimeOut = USER_TIMEOUT;	while ((DMA_GetFlagStatus(SPI1_RX_DMA_FLAG_TC) == RESET));	while ((DMA_GetFlagStatus(SPI1_TX_DMA_FLAG_TC) == RESET));	/* The BSY flag can be monitored to ensure that the SPI communication is complete.	This is required to avoid corrupting the last transmission before disabling	the SPI or entering the Stop mode. The software must first wait until TXE=1	and then until BSY=0.*/	while ((SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET));	while ((SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET));	// End the SPI transaction and DMA	// Clear DMA1 global flags	DMA_ClearFlag(SPI1_TX_DMA_FLAG_GL);	DMA_ClearFlag(SPI1_RX_DMA_FLAG_GL);	// Disable the DMA channels	DMA_Cmd(SPI1_RX_DMA_CHANNEL, DISABLE);	DMA_Cmd(SPI1_TX_DMA_CHANNEL, DISABLE);	// Disable the SPI Rx and Tx DMA requests	SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Rx, DISABLE);	SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Tx, DISABLE);}
开发者ID:Ethan--Xu,项目名称:polypoint,代码行数:40,


示例29: BT_Usart2_Config

/**  * @brief  To set and config blutooth then send data to the register.	* @param  rate, baudrate has setted on AT mode; addr,  the memory base address; leng, the length of data you want to send.  * @retval None.  */void BT_Usart2_Config(uint32_t rate, uint32_t addr, uint8_t leng)		{			USART_InitTypeDef USART_InitStructure;			GPIO_InitTypeDef GPIO_InitStructure;			DMA_InitTypeDef DMA_InitStructure;				RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);			RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);				GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_2/*TX, PA2*/ | GPIO_Pin_3/*RX, PA3*/);			GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;       			GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;			GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;			GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;			GPIO_Init(GPIOA, &GPIO_InitStructure);			GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_7);			GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_7);				USART_InitStructure.USART_BaudRate = rate;			USART_InitStructure.USART_WordLength = USART_WordLength_8b;			USART_InitStructure.USART_StopBits = USART_StopBits_1;			USART_InitStructure.USART_Parity = USART_Parity_No;			USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;			USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;			USART_DeInit(USART2);			USART_Init(USART2, &USART_InitStructure);			USART_Cmd(USART2, ENABLE);			RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);			DMA_StructInit(&DMA_InitStructure);			DMA_DeInit(DMA1_Channel7); 			DMA_InitStructure.DMA_PeripheralBaseAddr =  (uint32_t)USART2 + 0x28;		//////			DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&addr;			DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;			DMA_InitStructure.DMA_BufferSize = leng;			DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;		//address register is incremented or not			DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;			DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord ;			DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord ;			DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;			DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;			DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;			DMA_Init(DMA1_Channel7,&DMA_InitStructure);			USART_ClearFlag(USART2,USART_FLAG_TC);			DMA_ClearFlag(DMA1_FLAG_TC7);			USART_DMACmd(USART2,USART_DMAReq_Tx,ENABLE);			DMA_Cmd(DMA1_Channel7,ENABLE);			sig_lam(2,1); 			while (!DMA_GetFlagStatus(USART_FLAG_TC)){};		}
开发者ID:tsymiar,项目名称:4AxisFlying,代码行数:56,


示例30: PIOS_VIDEO_DMA_Handler

void PIOS_VIDEO_DMA_Handler(void){	if (DMA_GetFlagStatus(DMA1_Stream7,DMA_FLAG_TCIF7)) {	// transfer completed load next line		DMA_ClearFlag(DMA1_Stream7,DMA_FLAG_TCIF7);		//PIOS_LED_Off(LED2);		/*if(gLineType == LINE_TYPE_GRAPHICS)		{			// Load new line			DMA_Cmd(dev_cfg->mask.dma.tx.channel, DISABLE);			DMA_Cmd(dev_cfg->level.dma.tx.channel, DISABLE);			DMA_MemoryTargetConfig(dev_cfg->level.dma.tx.channel,(uint32_t)&disp_buffer_level[line],DMA_Memory_0);			DMA_MemoryTargetConfig(dev_cfg->mask.dma.tx.channel,(uint32_t)&disp_buffer_mask[line],DMA_Memory_0);			//DMA_ClearFlag(dev_cfg->mask.dma.tx.channel,DMA_FLAG_TCIF5); // <-- TODO: HARDCODED			//DMA_ClearFlag(dev_cfg->level.dma.tx.channel,DMA_FLAG_TCIF5); // <-- TODO: HARDCODED			DMA_SetCurrDataCounter(dev_cfg->level.dma.tx.channel,BUFFER_LINE_LENGTH);			DMA_SetCurrDataCounter(dev_cfg->mask.dma.tx.channel,BUFFER_LINE_LENGTH);		}*/		//PIOS_LED_Toggle(LED2);	}	else if (DMA_GetFlagStatus(DMA1_Stream7,DMA_FLAG_HTIF7)) {		DMA_ClearFlag(DMA1_Stream7,DMA_FLAG_HTIF7);	}	else {	}	if (DMA_GetFlagStatus(DMA2_Stream5,DMA_FLAG_TCIF5)) {	// whole double buffer filled		DMA_ClearFlag(DMA2_Stream5,DMA_FLAG_TCIF5);		//PIOS_LED_Toggle(LED3);	}	else if (DMA_GetFlagStatus(DMA2_Stream5,DMA_FLAG_HTIF5)) {		DMA_ClearFlag(DMA2_Stream5,DMA_FLAG_HTIF5);	}	else {	}}
开发者ID:auuuux,项目名称:raspberrypilot,代码行数:38,



注:本文中的DMA_GetFlagStatus函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DMA_GetITStatus函数代码示例
C++ DMA_Cmd函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。