//
// Enable the uDMA controller at the system level. Enable it to continue
// to run while the processor is in sleep.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_UDMA);
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_UDMA);
//
// Enable the uDMA controller error interrupt. This interrupt will occur
// if there is a bus error during a transfer.
//
IntEnable(INT_UDMAERR);//
// Enable the uDMA controller.
//
uDMAEnable();
//
// Point at the control table to use for channel control structures.
//
uDMAControlBaseSet(ucControlTable);}//---------------------------------------------------------------------------------------------
//功 能:RS232通信初始化
//输入参数:无
//输出参数:无
//---------------------------------------------------------------------------------------------
void Uart1_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1); // 使能UART模块
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_UART1); //休眠时启用uart1
GPIOPinTypeUART(GPIO_PORTD_BASE, // 配置RX/TX所在管脚为
GPIO_PIN_0 | GPIO_PIN_1); // UART收发功能GPIOPinConfigure(GPIO_PD0_U1RX);
GPIOPinConfigure(GPIO_PD1_U1TX);UARTConfigSet(UART1_BASE, // 配置UART端口
19200, // 波特率:9600
UART_CONFIG_WLEN_8 | // 数据位:8
UART_CONFIG_STOP_ONE | // 停止位:1
UART_CONFIG_PAR_NONE); // 校验位:无
UARTFIFOLevelSet(UART1_BASE, UART_FIFO_TX4_8, UART_FIFO_RX4_8);IntEnable(INT_UART1);
UARTEnable(UART1_BASE);
UARTDMAEnable(UART1_BASE, UART_DMA_TX);
UARTIntEnable(UART1_BASE, UART_INT_RX|UART_INT_RT); // 接收中断和接收超时中断uDMAChannelAttributeDisable(UDMA_CHANNEL_UART1TX,
UDMA_ATTR_ALTSELECT |
UDMA_ATTR_HIGH_PRIORITY | UDMA_ATTR_REQMASK);
uDMAChannelAttributeEnable(UDMA_CHANNEL_UART1TX, UDMA_ATTR_USEBURST);
uDMAChannelControlSet(UDMA_CHANNEL_UART1TX | UDMA_PRI_SELECT,
UDMA_SIZE_8 | UDMA_SRC_INC_8 | UDMA_DST_INC_NONE |
UDMA_ARB_4);
}//---------------------------------------------------------------------------------------------
//功 能:串口1 DMA方式发送
//输入参数:无
//输出参数:是否成功启动发送, 1 成功 0 失败
//---------------------------------------------------------------------------------------------
int Uart1DMASendStr(char *pBuf,unsigned int nNum)
{ if(!uDMAChannelIsEnabled(UDMA_CHANNEL_UART1TX))
{
g_ch232SendReady=0;
一周热门 更多>