|
|
|
@ -2,6 +2,8 @@ |
|
|
|
#include "uart0.h" |
|
|
|
#include "uartx.h" |
|
|
|
|
|
|
|
#define Self_Define_ISP_Download_Command 0x3D //用户自定义下载(实现不停电下载)
|
|
|
|
|
|
|
|
|
|
|
|
void L0_uart0_init(void) |
|
|
|
{ |
|
|
|
@ -51,14 +53,24 @@ UART 中断 |
|
|
|
*************************************************/ |
|
|
|
void INTERRUPT_UART(void) D_SERVE_UART |
|
|
|
{ |
|
|
|
u16 a,b; |
|
|
|
// NOP(); NOP(); NOP();
|
|
|
|
if (L0_uart0_IntRI()) //如果是U0接收中断
|
|
|
|
{ |
|
|
|
L0_uart0_IntRIClear(); //清除接收中断标志
|
|
|
|
ts_uart[uNum0].r.reg = SBUF; //获取当前数据
|
|
|
|
|
|
|
|
//用户自定义下载,实现不停电下载(第一次烧录程序仍需断电,后续不再需要,使用STC-ISP软件)
|
|
|
|
if (SBUF == Self_Define_ISP_Download_Command) |
|
|
|
{ |
|
|
|
for(a = 1000;a > 0;a--) |
|
|
|
for(b = 100;b > 0;b--); |
|
|
|
IAP_CONTR = 0x60; |
|
|
|
} |
|
|
|
|
|
|
|
L0_uartN_s2b(uNum0); //接收数据至缓冲区
|
|
|
|
} |
|
|
|
if (L0_uart0_IntTI()) //如果是U0发送中断
|
|
|
|
if (L0_uart0_IntTI()) //如果是U0发送中断
|
|
|
|
{ |
|
|
|
L0_uart0_IntTIClear(); //清除发送中断标志
|
|
|
|
if (ts_uart[uNum0].s.max > ts_uart[uNum0].s.now) |
|
|
|
|