完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
工程使用UART0 UART1 PWM0CH_0功能模块,串口波特率250000K..
代码如下,在软件串口中断函数什么都不变化的情况下,使用UART0就完全正常,,使用UART123就错误 void PWM_Init(void){ // PWM进行初始化 CLK_EnableModuleClock(PWM0_MODULE); //允许PWM1模块时钟 CLK_SetModuleClock(PWM0_MODULE, CLK_CLKSEL2_PWM0SEL_PLL, 0); //设置PWM1时钟为PCLK SYS_ResetModule(PWM0_RST); /* Set PC multi-function pins for PWM0 Channel0~5 */ SYS->GPC_MFPL = (SYS->GPC_MFPL (~SYS_GPC_MFPL_PC0MFP_Msk)); SYS->GPC_MFPL |= SYS_GPC_MFPL_PC0MFP_PWM0_CH0; PWM_ConfigOutputChannel(PWM0, 0, 18000, 50); PWM_EnableOutput(PWM0, PWM_CH_0_MASK ); } void UART1_Init(void) //串口1初始化 { SYS->GPB_MFPL = ~(SYS_GPB_MFPL_PB2MFP_Msk | SYS_GPB_MFPL_PB3MFP_Msk); SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB2MFP_UART1_RXD | SYS_GPB_MFPL_PB3MFP_UART1_TXD); SYS_ResetModule(UART1_RST); //复位串口1 CLK_EnableModuleClock(UART1_MODULE); //允许串口1模块时钟 CLK_SetModuleClock(UART1_MODULE, CLK_CLKSEL1_UARTSEL_PLL, CLK_CLKDIV0_UART(1)); //设置串口1时钟为PCLK UART_EnableInt(UART1, (UART_INTEN_RDAIEN_Msk | UART_INTEN_RLSIEN_Msk )); //允许接收中断 允许线中断 UART1->FIFO |= UART_FIFO_RFITL_14BYTES;//;; UART_FIFO_RFITL_1BYTE UART_SetLine_Config(UART1,250000,UART_WORD_LEN_8,UART_PARITY_NONE,UART_STOP_BIT_2); NVIC_EnableIRQ(UART1_IRQn); NVIC_SetPriority(UART1_IRQn, 0); //中断优先级 } void UART1_IRQHandler(void) { static uint8_t UART1data=0; static u32 RX1data; if ((UART1->INTSTS UART_INTSTS_RLSIF_Msk) ) // 帧错误 { UART1->FIFOSTS |= (UART_FIFOSTS_FEF_Msk | UART_FIFOSTS_PEF_Msk | UART_FIFOSTS_BIF_Msk); // 清除中断标志 uart1_receive_point = 0; UART1data = (uint8_t)UART1->DAT; } else //if(UART1->INTSTS UART_INTSTS_RDAINT_Msk) { while ((UART1->FIFOSTS UART_FIFOSTS_RXEMPTY_Msk) == 0) // 将FIFO 内数据读取完 { UART1data = (uint8_t)UART1->DAT; if(uart1_receive_point < 60) { uart1_Internal.uart1_buf[uart1_receive_point] = UART1data; //数据保存到数组里 uart1_receive_point++; } } } } int32_t main(void) { SYS_UnlockReg(); //解锁,准备修改芯片内部寄存器 SYS_Init(); //芯片初始化,主要是对时钟寄存器的修改 SYS_LockReg(); Uart_Init(); UART1_Init(); //串口1初始化 //PWM_Init(); // PWM进行初始化 +++++++++++++++++只要开这个PMW初始化 UART1/2/3接收数据就出错+++++++但是UART0是正确的 while(1); } |
|
|
|
只有小组成员才能发言,加入小组>>
642浏览 3评论
532浏览 2评论
375浏览 1评论
395浏览 1评论
354浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:34 , Processed in 0.575185 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号