STM32F103C8T6串口程序编译错误,,求解,急!!!

2019-08-14 02:35发布

程序如下:void UsartIoInit2(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
        GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2;
        GPIO_InitStructure.GPIO_Speed =GPIO_Speed_10MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING ;
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
         
}

void UsartInit2(void)
{
        USART_InitTypeDef  USART_InitStructure;
        NVIC_InitTypeDef   NVIC_InitStructure;
         USART_DeInit(USART2);//¸′λ′®¿ú
        USART_InitStructure.USART_BaudRate =9600;
        USART_InitStructure.USART_HardwareFlowControl =USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode =USART_Mode_Tx|USART_Mode_Rx;
        USART_InitStructure.USART_WordLength =USART_WordLength_8b;
        USART_InitStructure.USART_StopBits =USART_StopBits_1 ;
        USART_InitStructure.USART_Parity =USART_Parity_No;
        USART_Init(USART2,&USART_InitStructure);
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART2,ENABLE);
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
        NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE ;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;
        NVIC_Init(&NVIC_InitStructure);   
       
}

void USART2_IRQHandler(void)
{
  if(USART_GetITStatus(USART2, USART_IT_RXNE)==SET)
        {
           combuf[comnum]=USART_ReceiveData(USART2);
                 comnum++;
                if(comnum>1)
                {
                  comnum=0;
                        flag=0;
                }                                        
        }
}


新手程序的结构不太完善,大神可以帮帮我,具体程序在附件里
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
许恒博
1楼-- · 2019-08-14 03:07
把co.c中的串口2中断函数直接注释掉!
丶大海
2楼-- · 2019-08-14 04:59
新手求大神帮忙..
旺仔奶豆
3楼-- · 2019-08-14 07:18
重复定义了 在uart.c里面已经有串口2中断处理函数了  你又重新定义了一个 冲突了
丶大海
4楼-- · 2019-08-14 09:18
 精彩回答 2  元偷偷看……
丶大海
5楼-- · 2019-08-14 09:34
旺仔奶豆 发表于 2017-9-8 14:15
重复定义了 在uart.c里面已经有串口2中断处理函数了  你又重新定义了一个 冲突了

那我该怎么解决这个问题那?
旺仔奶豆
6楼-- · 2019-08-14 12:01
两种办法:1、把你自己写的代码删掉,直接用uart.c里面的 2、从工程中把Uart.c移除,main.c里包含的UART.H也删掉,代码用你自己写的

一周热门 更多>