第一为什么串口中断可以这么写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程序没用
一周热门 更多>