请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294NCPDT 工具/软件:Code Composer Studio
HII、
我正在使用 uDMA 控制器将数据从存储器传输到 UART。如果我使用(HWREG (UART1_BASE + UART_O_CTL)|= UART_CTL_LBE)启用回路、那么我们能够在 ui8RxBufA、ui8RxBufB 缓冲区中看到数据、但无法在 COM 端口中传输数据。
#define MEM_buffer_size 1024 #define UART_TXBUF_SIZE 256 #define UART_RXBUF_SIZE 256 static uint8_t g_ui8TxBuf[UART_TXBUF_SIZE]; static uint8_t g_ui8BufA[UART_UART32_size = 静态 UART32_UART1uuuuuuuuuuuuuuuuuuuuuut 状态;i32uuuuuuuuuuuuuuuuuuuuuuuuuut 1 u32uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut 1 ut 1 u32uuuuuuuuuuuuuuuuuuuuuuuuut 1 ut 1 uart32uuuuuuuuuut ui32Status); ui32Mode = uDMAChannelModeGet (uDMA_CHANGE_UART1RX | UDMA_PRI_SELECT); if (ui32Mode = uDMA_MODE_STOP) { g_ui32RxBudma++; uDMAChannelTrSet (UART1_UART1_UART+)= u64_UART_UART_UART1AM_MODE+、UART_UART1+ (UART_UART+) UCC_UCC_U64_UCC_U64_U64_UART+(UART+) U64_UART_UART_UART_UART+= u_UCC_U64_U80+(u_UCC_U64_U64_UART+);u_UCC_U64u_UCC_U64u+(u_UART_UART_UART_UART_UART_UART+) U64_U64u_R+(UCC_UCC_ } void InitUART1传输(void) { uint_fast16_t ui16Idx; for (ui16Idx = 0;ui16Idx < UART_TXBUF_SIZE;ui16Idx++) g_ui8TxBuf[ui16Idx ='A';SysART32_Periptl (UART1_USYSCUSpurb )外设1 (UART1_SysClipulk_SysConfigh); 115200、UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE); UARTFIFOLevelSet (UART1_BASE、UART_FIFO_TX4_8、UART_FIFO_RX4_8); UARTEnable (UART1_BASE); UARTDMAEnable (UART1_BASE、UART_DMA_RX | UART_DMA_TX); HWREG (UART1_BASE + UART_O_CTL)|= UART_CTL_LBE; IntEnable (INT_UART1); //// 接收参数 uDMAChannelAttributeDisable (UDMA_CHANNE_UART1RX、UDMA_ATTR_ALTSELECT | UDMA_ATTR_USEBURST | UDMA_ATTR_HIGH_PRIORITY | UDMA_REQMASK); uDMA_ADC_UART1_DMA (UART4_UART8_DR_UART4_SIZE | UART4_UART4_UARTR_AM_RINC_ADC_ADC_1、UART4_T4_ENDADC_ADC_ADC_1 | UART4_T4_ENTR_UART4_ENDANT_T4_T4_TADC_ADC_ADC_1 | UART4_ENDANT_UARTR_UARTR_8 (UARTR_UARTR_8)| UART4_TADC_ADC_ADC_ADC_ADC_ADC_ADC_ADC_ADC_ADC_1、UART_UART_UART_UART_UART_UART4_SIZE | UART_UART_UART_UART void translitting paramter uDMAChannelAttributeDisable (UDMA_CHANNE_UART1TX、UDMA_ATTR_ALTSELECT | UDMA_ATTR_HIGH_PRORY | UDMA_ATTR_REQMASK);uDMA_CHANNEL_Enable (UART1_DMA_UART1_UART1_UARTDA_UART8_UARTDA_TR_UDA_UDA_UDAM_UARTDAM_PRECH);UART1_UART1_UART8_UARTDA_UART1_UARTDA_UART1_UARTDA_UART1_UART1_UARTDA_UARTDA_UARTDA_1 (UARTDA_UART1_UART1_UART1_UARTDA_UARTDA_UARTDA_UART1_UARTDA_UART1_UARTDA_UART1_UARTDA_1、UART1_UART1_U int main (void) { ui32SysClkFreq = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000); SysCtlPeripheralClockGating (tron);SysCtl_USPEL (USYSCT_VCO_480)、SYSCPEDMA_Enable (SYSC_PeripheralkHz ) IntEnable (INT_UDMAERR); uDMAEnable(); uDMAControlBaseSet (pui8ControlTable); InitUART1 Transfer(); }
谢谢、此致、
Anamika
