uart.lst
来自「p89lpc915程序」· LST 代码 · 共 96 行
LST
96 行
C51 COMPILER V8.08 UART 07/26/2007 15:52:32 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN .\obj\UART.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\UART.C BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\UART.lst) OBJECT(.\obj\UAR
-T.obj)
line level source
1 #ifdef PH_932
#include <reg915.h>
#include "comm.h"
#include "message.h"
#include "uart.h"
char sbuf_value = 0;
char rs232_command[6] = {0,0,0,0,0,0};
char rs232_state = UART_IDLE;
char rs232_cnt = 0;
uchar last_sbuf_value = 0;
bit rs232_flag = 0;
void uart_isr() interrupt 4 using 2
{
if(RI)
{
sbuf_value = SBUF;
RI = 0;
if(rs232_state == UART_IDLE)
{
if(sbuf_value == STX) /*start*/
{
rs232_state = UART_RECEIVE;
}
rs232_cnt = 0;
last_sbuf_value = 0xFF;
}
else if(rs232_state == UART_RECEIVE)
{
if(rs232_cnt >= 6)
{
rs232_state = UART_IDLE;
}
else
{
if(last_sbuf_value == DLE)
{
if(sbuf_value == DLE)
{
rs232_command[rs232_cnt ++] = sbuf_value;
last_sbuf_value = 0xFF;
}
else if(sbuf_value == ETX)
{
rs232_state = UART_RECEIVE_OK;
last_sbuf_value = 0xFF;
rs232_cnt = 0;
}
else
C51 COMPILER V8.08 UART 07/26/2007 15:52:32 PAGE 2
{
rs232_state = UART_IDLE;
}
}
else
{
if(sbuf_value != DLE)
rs232_command[rs232_cnt++] = sbuf_value;
last_sbuf_value = sbuf_value;
}
}
}
}
}
#endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?