|  | 
 
| 本帖最后由 zhajp 于 2017-8-24 21:56 编辑 
 以查询收发方式使用UART0和UART2是报错,单独运行时可以,两个串口同时使用时出现以下错误:
 
 
 下面是我的配置源码,是哪个地方共用了一个内存呢?
 /****************************************************************************/
 /*                                                                          */
 /*              宏定义                                                      */
 /*                                                                          */
 /****************************************************************************/
 
 #define SYSCLK_1_FREQ     (456000000)         // 时钟
 #define SYSCLK_2_FREQ     (SYSCLK_1_FREQ/2)   // 时钟
 #define UART_2_FREQ       (SYSCLK_2_FREQ)     // 时钟
 
 /****************************************************************************/
 /*                                                                          */
 /*              PSC 初始化                                                  */
 /*                                                                          */
 /****************************************************************************/
 
 Void PSCInit(Void) {
 PSCModuleControl(SOC_PSC_0_REGS,HW_PSC_UART0,PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE); // 使能 UART0 模块
 PSCModuleControl(SOC_PSC_1_REGS,HW_PSC_UART2,PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE); // 使能 UART2 模块
 }
 
 /****************************************************************************/
 /*                                                                          */
 /*              GPIO 管脚复用配置                                           */
 /*                                                                          */
 /****************************************************************************/
 
 Void GPIOBankPinMuxSet(Void) {
 UARTPinMuxSetup(0,FALSE); // UART0 禁用流控
 UARTPinMuxSetup(2,FALSE); // UART2 禁用流控
 }
 
 /****************************************************************************/
 /*                                                                          */
 /*              UART 初始化                                                 */
 /*                                                                          */
 /****************************************************************************/
 
 Void UARTInit(Void)
 {
 // 配置 UART0/UART2 参数: 波特率 115200 数据位 8 停止位 1 无校验位
 UARTConfigSetExpClk(SOC_UART_0_REGS,UART_2_FREQ,BAUD_115200,UART_WORDL_8BITS,UART_OVER_SAMP_RATE_16);
 UARTConfigSetExpClk(SOC_UART_2_REGS,UART_2_FREQ,BAUD_115200,UART_WORDL_8BITS,UART_OVER_SAMP_RATE_16);
 
 // 使能 UART0/UART2
 UARTEnable(SOC_UART_0_REGS);
 UARTEnable(SOC_UART_2_REGS);
 
 // 使能接收/发送 FIFO
 UARTFIFOEnable(SOC_UART_0_REGS);
 UARTFIFOEnable(SOC_UART_2_REGS);
 
 // 设置 FIFO 级别
 UARTFIFOLevelSet(SOC_UART_0_REGS,UART_RX_TRIG_LEVEL_1);
 UARTFIFOLevelSet(SOC_UART_2_REGS,UART_RX_TRIG_LEVEL_1);
 }
 // 初始化
 extern Void PeriphInit(Void)
 {
 PSCInit();            // 外设使能配置
 GPIOBankPinMuxSet(); // 管脚复用配置
 UARTInit();           // UART 初始化
 }
 
 | 
 
x本帖子中包含更多资源您需要 登录 才可以下载或查看,没有帐号?立即注册 
  |