-
外部与我50微秒通讯一次,串口时间来不急怎么办 sos
[backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]要求外部与我50微秒通讯一次,串口2.5M,[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]使用485,需要切换方向角[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]我接收用串口空闲中断+DMA接收不定长数据包,[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]发送直接在中断中轮询发送数据,能够正常通讯,但是进行其他操作时间就不充足了,必须要用DMA去发送,[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]但是我用DMA启动时需要时间,然后我发送完数据后就来不及接收数据了,有没有大佬帮忙看看我设置有什么问题吗[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]发送是轮询代码[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void USARTy_IRQHandler(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] uint16_t clear;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] if(USART_GetIntStatus(USARTy, USART_INT_IDLEF)!= RESET )[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* 切换到发送模式 */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_SetBits(CHALF_PORT, CHALF_PIN);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] uint16_t length = RxBufferSize - USARTy_Rx_DMA_Channel->TXNUM;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] TxCounter1 =0;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /*[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] * 数据处理[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] while (TxCounter1 < length)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Send one byte from USARTy to USARTz */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_SendData(USARTy, TxBuffer[TxCounter1++]);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Loop until USARTy DAT register is empty */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] while (USART_GetFlagStatus(USARTy, USART_FLAG_TXDE) == RESET)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] }[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] }[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Rx_DMA_Channel, DISABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] clear = USARTy->STS;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] clear = USARTy->DAT;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_ConfigInt(USARTy, USART_INT_IDLEF, DISABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_ResetBits(CHALF_PORT, CHALF_PIN);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_SetCurrDataCounter(USARTy_Rx_DMA_Channel, 6);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Rx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_ConfigInt(USARTy, USART_INT_IDLEF, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] } [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]发送是DMA代码[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void USARTy_IRQHandler(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] uint16_t clear;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] if(USART_GetIntStatus(USARTy, USART_INT_IDLEF)!= RESET )[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* 切换到发送模式 */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_SetBits(CHALF_PORT, CHALF_PIN);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USARTy_Rx_Done = 1;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] uint16_t length = RxBufferSize - USARTy_Rx_DMA_Channel->TXNUM;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /*[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] * 数据处理[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] clear = USARTy->STS;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] clear = USARTy->DAT;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Tx_DMA_Channel, DISABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_SetCurrDataCounter(USARTy_Tx_DMA_Channel, length);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Tx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] } [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void DMA_Channel3_4_IRQHandler(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] if(DMA_GetIntStatus(USARTy_Tx_DMA_INT, DMA) != RESET)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USARTy_Tx_Done = 1;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_ResetBits(CHALF_PORT, CHALF_PIN);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_ClrIntPendingBit(USARTy_Tx_DMA_INT, DMA);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Rx_DMA_Channel, DISABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_SetCurrDataCounter(USARTy_Rx_DMA_Channel, 6);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Rx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] } [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]其他配置[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void RS485_Init(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] RCC_Configuration();[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_Configuration();[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_Configuration();[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_Configuration();[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.BaudRate = 2500000;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.WordLength = USART_WL_8B;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.StopBits = USART_STPB_1;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.Parity = USART_PE_NO;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_InitStructure.Mode = USART_MODE_RX | USART_MODE_TX;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Configure USARTy and USARTz */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_Init(USARTy, &USART_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_ConfigInt(USARTy, USART_INT_IDLEF, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable USARTy DMA Rx and TX request */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_EnableDMA(USARTy, USART_DMAREQ_RX | USART_DMAREQ_TX, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable USARTy RX DMA1 Channel */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_EnableChannel(USARTy_Rx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable the USARTy and USARTz */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USART_Enable(USARTy, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void RCC_Configuration(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* DMA clock enable */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_DMA, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable GPIO clock */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] RCC_EnableAPB2PeriphClk(USARTy_GPIO_CLK, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable USARTy Clock */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] USARTy_APBxClkCmd(USARTy_CLK, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void GPIO_Configuration(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitType GPIO_InitStructure;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Initialize GPIO_InitStructure */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStruct(&GPIO_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] //dir[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.Pin = CHALF_PIN;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUTPUT_PP;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_HIGH;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitPeripheral(CHALF_PORT, &GPIO_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_ResetBits(CHALF_PORT, CHALF_PIN);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Configure USARTy Tx as alternate function push-pull */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.Pin = USARTy_TxPin; [/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF_PP;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.GPIO_Alternate = USARTy_Tx_GPIO_AF;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitPeripheral(USARTy_GPIO, &GPIO_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Configure USARTx Rx as alternate function push-pull */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.Pin = USARTy_RxPin;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitStructure.GPIO_Alternate = USARTy_Rx_GPIO_AF;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] GPIO_InitPeripheral(USARTy_GPIO, &GPIO_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void NVIC_Configuration(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitType NVIC_InitStructure;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable the USARTy_Rx Interrupt */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannel = USARTy_IRQn;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannelPriority = 0;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_Init(&NVIC_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* Enable the USARTy_Tx DMA Interrupt */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannel = USARTy_Tx_DMA_IRQn;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannelPriority = 1;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] NVIC_Init(&NVIC_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]void DMA_Configuration(void)[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitType DMA_InitStructure;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* USARTy_Tx_DMA_Channel (triggered by USARTy Tx event) Config */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_DeInit(USARTy_Tx_DMA_Channel);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.PeriphAddr = USARTy_DAT_Base;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.MemAddr = (uint32_t)TxBuffer;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.Direction = DMA_DIR_PERIPH_DST;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.BufSize = TxBufferSize;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.PeriphInc = DMA_PERIPH_INC_DISABLE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.DMA_MemoryInc = DMA_MEM_INC_ENABLE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.PeriphDataSize = DMA_PERIPH_DATA_SIZE_BYTE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.MemDataSize = DMA_MemoryDataSize_Byte;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.CircularMode = DMA_MODE_NORMAL;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.Priority = DMA_PRIORITY_VERY_HIGH;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.Mem2Mem = DMA_M2M_DISABLE;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_Init(USARTy_Tx_DMA_Channel, &DMA_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_RequestRemap(USARTy_Tx_DMA_REMAP, DMA, USARTy_Tx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] /* USARTy RX DMA Channel (triggered by USARTy Rx event) Config */[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_DeInit(USARTy_Rx_DMA_Channel);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.PeriphAddr = USARTy_DAT_Base;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.MemAddr = (uint32_t)RxBuffer;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.Direction = DMA_DIR_PERIPH_SRC;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_InitStructure.BufSize = RxBufferSize;[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_Init(USARTy_Rx_DMA_Channel, &DMA_InitStructure);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px] DMA_RequestRemap(USARTy_Rx_DMA_REMAP, DMA, USARTy_Rx_DMA_Channel, ENABLE);[/size][/font][/backcolor] [backcolor=rgb(232, 232, 232)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor]
181浏览量 0回复量 关注量 -
'begin(int, int, int)' is ambiguous Wire.begin(sda, scl, 100000); 赏3000家园币
'begin(int, int, int)' is ambiguous Wire.begin(sda, scl, 100000);这个报错,但是无法初始化iic的。
8459浏览量 1回复量 关注量 -
关于电流峰值控制改变周期的问题
我在反激式的逆变器中使用电流峰值控制模式的时候,在使用comp比较器进行比较的时候,发现我的pwm的周期被改变了,我本来设定的是5us,但实际我在测mos的驱动波形时发现周期已经变成了80us(定时器发波没问题),有没有大佬可以给我解答一下,感谢
762浏览量 1回复量 关注量 -
运算放大器压摆率变小的故障原因
题主在驱动高压芯片PA194过程中,发现该芯片加了砖头大的散热片,依旧发热严重,温枪测得有70多度(可能实际更高?),接近壳温极限85度了。这样工作一段时间后,突然发现输出信号边沿由100ns变成了1us,压摆率变小了很多。 请问运放压摆率变小的可能原因是什么呢?内部什么结构被烧坏了吗?并且目前只发现压摆率下来了,其他电压摆幅还未发现异常。有没有可能恢复呢?
5592浏览量 2回复量 关注量 -
不同周期相同占空比的PWM波形 赏100家园币
[i=s] 本帖最后由 CHAIBIN 于 2024-9-13 20:56 编辑 [/i] 如何让使用HC32L110芯片发一个连续脉宽380us、320us、280us,占空比50%,即380us的3个周期、320us的3个周期、280us的3个周期,一直循环发
4912浏览量 5回复量 关注量 -
存储问题 sos
新加了一个标志位然后就报错,这种报错实际怎么解决呀 报错内容:can't find 0x5 words (0x05withtotal) for psect "swtex7" in class "const"(lagest unused contiguous rang 0x4)(error)。
976浏览量 0回复量 关注量 -
车辆检测电路的分析 sos
[i=s] 本帖最后由 234234234 于 2024-6-29 15:51 编辑 [/i] [attach]2269114[/attach]帮忙叙述下相关电路[img]file:///C:\Users\Administrator\Documents\Tencent Files\1547528653\Image\C2C\01YD}M2JODGZX305(]HKUUG.png[/img]
1267浏览量 0回复量 关注量 -
HC-PM51烧录问题
为什么我在Keil中生产的hex,在ph51中打开显示空无法烧录,在keil中可以仿真烧录。[url=file:///C:/Users/Administrator/Desktop/567a9be4a1de0582c10fe2cc8b4b849.png][img]file:///C:/Users/Administrator/Desktop/567a9be4a1de0582c10fe2cc8b4b849.png[/img][/url][url=file:///C:/Users/Administrator/Desktop/aff6e745058755b8a76d6360f9719dc.png][img]file:///C:/Users/Administrator/Desktop/aff6e745058755b8a76d6360f9719dc.png[/img][/url]
3913浏览量 4回复量 关注量 -
GD32F305奇怪串口问题求助
片子用的是GD32F305,外部8M晶振;原来用的是STM32F105,代码也是基于ST的库写的,一切正常; 现在想用GD的库重写代码,官方推荐的是25M的晶振,和晶振相关的头文件定义和函数也修改了,串口用的是USART2,也是就是ST里的USART3;波特率是921600,ST的库串口正常,换成GD库后串口速度变慢了,请问大家如何解决?
9678浏览量 6回复量 关注量 -
GD32E503VEt6可以进**读写但是无法挂载FATFS
我一开始用的是最新版的0.14文件系统,发现不行,f-mount挂载不了报13错误,然后换了低版本报12错误,总之挂载不了,请问下官方有没有demo。还有个问题,本来打算用GD32E503做USB读卡器这种,发现不支持USBHS和USBFS,有没有解决方案。
1201浏览量 1回复量 关注量