⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.c

📁 自己写的无线sinffer,可以通过串口查看空间内所有无线数据
💻 C
字号:
#include "serial.h"
#include "board.h"
#include "ap.h"

extern AP_ATTRIBUTE apAttribute;
extern BYTE WifiCommand[MAXUARTBYTE];
void InitUART(void)
{
   IO_PER_LOC_UART1_AT_PORT0_PIN2345();
   SET_MAIN_CLOCK_SOURCE(CRYSTAL);
   UART_SETUP(1, 115200, HIGH_STOP);
   //URX1IE=1;//接收中断开启
   U1CSR=U1CSR|0x80;//串型口为UART而不是SPI,同时UART接收使能
  // U0UCR=U0UCR&~0X80;//initUART改变了一些东西,改回来
   UTX1IF=1;
}
/*
BYTE putchar (BYTE c)  {
   while (!UTX0IF);
   UTX0IF = 0;
   return (U0DBUF =c);
}
*/

/*
#pragma vector=URX0_VECTOR
__interrupt void URX0_IRQ(void){
}*/
#pragma vector=URX1_VECTOR
__interrupt void URX1_IRQ(void){
  P1_0=0;
  GLOBAL_INT_ENABLE(INT_OFF);

   if(apAttribute.uartCnt==0x00&&U1DBUF==0x01)//起始字节
   {
   WifiCommand[apAttribute.uartCnt]=U1DBUF;
   apAttribute.uartCnt++;
   }
   else
   {
     if(apAttribute.uartCnt>=MAXUARTBYTE)
     {
       apAttribute.flags.bit.uartOverFlow=TRUE;
       apAttribute.uartCnt--;  //用来存结束标志
     }
     if(U1DBUF==0x55)
     {
       apAttribute.flags.bit.uartGet55=TRUE;
       WifiCommand[apAttribute.uartCnt]=U1DBUF;
       apAttribute.uartCnt++;
     }
     else
     {
      if(apAttribute.flags.bit.uartGet55==TRUE&&U1DBUF==0xD5)
      {
       WifiCommand[apAttribute.uartCnt]=U1DBUF;
       apAttribute.flags.bit.uartRecPacket=TRUE;
      }
      else
      {
       WifiCommand[apAttribute.uartCnt]=U1DBUF;
       apAttribute.uartCnt++;
      }
      apAttribute.flags.bit.uartGet55=FALSE;
     }
   }
   URX1IF=0;
  GLOBAL_INT_ENABLE(INT_ON);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -