📄 uart.lst
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -