请指教 OMAPL138 DSP端 UART1问题~
帮我看看设置上有什么问题么?
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_UART1,PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE);
// UART1 初始化
UARTInit();
// 使能 DSP 中断
DSPINTCInit();
Tony Tang:
请问你的问题是什么?建议对照一下其它UARTn的代码吧。
bin Wang:
回复 Tony Tang:
按代码的意思应该是从串口发送什么就会返回什么呢?
现在什么反应都没有啊~
Tony Tang:
回复 bin Wang:
Bin,
跟原始代码比较,还有配置PINMUX等,这些也改了吗?同时请进一步查看寄存器,是否相应的值配置到相应的寄存器了,按说只要寄存器配置正确了,不会有什么问题的。
int main(void){ unsigned int intFlags = 0; unsigned int config = 0;
/* Enabling the PSC for UART2.*/ PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_UART2, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
/* Setup PINMUX */ UARTPinMuxSetup(2, FALSE); /* Enabling the transmitter and receiver*/ UARTEnable(SOC_UART_2_REGS);
/* 1 stopbit, 8-bit character, no parity */ config = UART_WORDL_8BITS;
/* Configuring the UART parameters*/ UARTConfigSetExpClk(SOC_UART_2_REGS, SOC_UART_2_MODULE_FREQ, BAUD_115200, config, UART_OVER_SAMP_RATE_16);
/* Enabling the FIFO and flushing the Tx and Rx FIFOs.*/ UARTFIFOEnable(SOC_UART_2_REGS);
/* Setting the UART Receiver Trigger Level*/ UARTFIFOLevelSet(SOC_UART_2_REGS, UART_RX_TRIG_LEVEL_1); /* ** Enable AINTC to handle interrupts. Also enable IRQ interrupt in ARM ** processor. */ SetupInt();
/* Configure AINTC to receive and handle UART interrupts. */ ConfigureIntUART();
/* Preparing the 'intFlags' variable to be passed as an argument.*/ intFlags |= (UART_INT_LINE_STAT | \ UART_INT_TX_EMPTY | \ UART_INT_RXDATA_CTI);
/* Enable the Interrupts in UART.*/ UARTIntEnable(SOC_UART_2_REGS, intFlags);
while(1);}
bin Wang:
回复 Tony Tang:
谢谢~
配置了端口复用了~不
过 我用的是UART1 而且我只配置了RXD和TXD的端口复用,好像还有两个控制线没有配置,不知道有没有影响呢?
Tony Tang:
回复 bin Wang:
没有影响。
#1.TX,RX没有接反吧。
#2,CPU的频率设在多少,也就是说最终分频下来的波特率对不对?
#3. EVM板的BSL里也有UART的测试程序,不是中断模式的,从芯片往外送字符。
#4. 用UART2测试成功吗?