关于stm32f103c8t6串口和定时器中断的问题

2019-08-21 10:19发布

第一为什么串口中断可以这么写file:///C:UserspgfAppDataRoamingTencentUsers1149777206QQWinTempRichOle4PN@(BN(JTIDJS{E6FTHMLA.pngfile:///C:UserspgfAppDataRoamingTencentUsers1149777206QQWinTempRichOle4PN@(BN(JTIDJS{E6FTHMLA.png
//CopeSerialData为串口2中断调用函数,串口每收到一个数据,调用一次这个函数。
void CopeSerial2Data(unsigned char ucData)
{
        static unsigned char ucRxBuffer[15];
        static unsigned char ucRxCnt = 0;       
       
        LED_REVERSE();
        USB_TxWrite(&ucData,1);
        ucRxBuffer[ucRxCnt++]=ucData;
        if (ucRxBuffer[0]!=0x55) //数据头不对,则重新开始寻找0x55数据头
        {
                ucRxCnt=0;
                return;
        }
        if (ucRxCnt<11) {return;}//数据不满11个,则返回
        else
        {
                switch(ucRxBuffer[1])
                {
                       
                        case 0x51:        memcpy(&stcAcc,&ucRxBuffer[2],8);break;
                        case 0x52:        memcpy(&stcGyro,&ucRxBuffer[2],8);break;
                        case 0x53:        memcpy(&stcAngle,&ucRxBuffer[2],8);break;
                }
                ucRxCnt=0;
        }
}

串口中断函数不是叫做void USART2_IRQHandler(void)   

第二 为什么我用原子的工程模板写stm32f103c8t6程序没用
0条回答

一周热门 更多>