亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sio.c

?? can口驅動程序!包括硬件的基本配置文件
?? C
字號:

#include<ds80c320.h>

#include <string.h>
#include "sio.h"

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
#define TBUF_SIZE	256		/* DO NOT CHANGE */
#define RBUF_SIZE	256		/* DO NOT CHANGE */

#define OSC             11059200L        /* Oscillator Frequency */

static xdata unsigned char tbuf [TBUF_SIZE];
static xdata unsigned char rbuf [RBUF_SIZE];
static xdata unsigned char tbuf1 [TBUF_SIZE];
static xdata unsigned char rbuf1 [RBUF_SIZE];
//unsigned char xdata  t_in = 0;
static xdata unsigned char t_in = 0;
static xdata unsigned char t_out = 0;
static xdata unsigned char t_disabled = 0;

static xdata unsigned char r_in = 0;
static xdata unsigned char r_out = 0;

static xdata unsigned char t_in1 = 0;
static xdata unsigned char t_out1 = 0;
static xdata unsigned char t_disabled1 = 0;

static xdata unsigned char r_in1 = 0;
static xdata unsigned char r_out1 = 0;
/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
static void com_isr (void) interrupt 4 using 2
{
/*------------------------------------------------
Received data interrupt.
------------------------------------------------*/
EA=0;
if (RI != 0)
  {
  RI = 0;

  if ((r_in + 1) != r_out)
    rbuf [r_in++] = SBUF;
  }

/*------------------------------------------------
Transmitted data interrupt.
------------------------------------------------*/
if (TI != 0)
  {
  TI = 0;

  if (t_in != t_out)
    SBUF = tbuf [t_out++];
  else
    t_disabled = 1;
  }

EA=1;
}

static void com_isr1 (void) interrupt 7 using 1
{
/*------------------------------------------------
Received data interrupt.
------------------------------------------------*/
EA=0;
if (RI_1 != 0)
  {
  RI_1 = 0;

  if ((r_in1 + 1) != r_out1)
    rbuf1 [r_in1++] = SBUF1;
  }

/*------------------------------------------------
Transmitted data interrupt.
------------------------------------------------*/
if (TI_1 != 0)
  {
  TI_1 = 0;

  if (t_in1 != t_out1)
    SBUF1 = tbuf1 [t_out1++];
  else
    t_disabled1 = 1;
  }

EA=1;
}
/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
void com_initialize (void)
{
/*------------------------------------------------
Setup TIMER1 to generate the proper baud rate.
------------------------------------------------*/
com_baudrate (19200);

/*------------------------------------------------
Clear com buffer indexes.
------------------------------------------------*/
EA = 0;                         /* Disable Interrupts */

t_in = 0;
t_out = 0;
t_disabled = 1;

r_in = 0;
r_out = 0;

t_in1 = 0;
t_out1 = 0;
t_disabled1 = 1;

r_in1 = 0;
r_out1 = 0;

/*------------------------------------------------
Setup serial port registers.
------------------------------------------------*/
SM0 = 0; SM1 = 1;		/* serial port MODE 1 */
SM2 = 0;
//SM0_1 = 0; SM1_1 = 1;		/* serial port MODE 1 */
//SM2_1 = 0;
REN = 1;			/* enable serial receiver */
//REN_1=1;
TI = 0;				/* clear transmit interrupt */
RI = 0;				/* clear receiver interrupt */

TI_1 = 0;				/* clear transmit interrupt */
RI_1 = 0;				/* clear receiver interrupt */
ES = 1;				/* enable serial interrupts */
PS = 0;				/* set serial interrupts to low priority */
//ES1 = 1;				/* enable serial interrupts */
//PS1 = 1;				/* set serial interrupts to low priority */
EA = 1;                         /* Enable Interrupts */
}

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
void com_baudrate (
  unsigned baudrate)
{
EA = 0;                             /* Disable Interrupts */

/*------------------------------------------------
Clear transmit interrupt and buffer.
------------------------------------------------*/
TI = 0;				    /* clear transmit interrupt */
t_in = 0;			    /* empty transmit buffer */
t_out = 0;
t_disabled = 1;			    /* disable transmitter */

TI_1 = 0;				    /* clear transmit interrupt */
t_in1 = 0;			    /* empty transmit buffer */
t_out1 = 0;
t_disabled1 = 1;			    /* disable transmitter */
/*------------------------------------------------
Set timer 1 up as a baud rate generator.
------------------------------------------------*/
TR1 = 0;			    /* stop timer 1 */
ET1 = 0;			    /* disable timer 1 interrupt */

PCON |= 0x80;			    /* 0x80=SMOD: set serial baudrate doubler */

TMOD &= ~0xF0;			    /* clear timer 1 mode bits */
TMOD |= 0x20;			    /* put timer 1 into MODE 2 */

TH1 = (unsigned char) (256 - (OSC / (16L * 12L * baudrate)));

TR1 = 1;			    /* start timer 1 */

EA = 1;                             /* Enable Interrupts */
}

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
char com_putchar (
  unsigned char c)
{
/*------------------------------------------------
If the buffer is full, return an error value.
------------------------------------------------*/
if ((TBUF_SIZE - com_tbuflen ()) <= 2)
  return (-1);

/*------------------------------------------------
Add the data to the transmit buffer.  If the
transmit interrupt is disabled, then enable it.
------------------------------------------------*/
EA = 0;                         /* Disable Interrupts */

tbuf [t_in++] = c;

if (t_disabled)			/* if transmitter is disabled */
  {
  t_disabled = 0;
  TI = 1;			/* enable it */
  }

EA = 1;                         /* Enable Interrupts */

return (0);
}

char com_putchar1 (
  unsigned char c)
{
/*------------------------------------------------
If the buffer is full, return an error value.
------------------------------------------------*/
if ((TBUF_SIZE - com_tbuflen1 ()) <= 2)
  return (-1);

/*------------------------------------------------
Add the data to the transmit buffer.  If the
transmit interrupt is disabled, then enable it.
------------------------------------------------*/
EA = 0;                         /* Disable Interrupts */

tbuf1 [t_in1++] = c;

if (t_disabled1)			/* if transmitter is disabled */
  {
  t_disabled1 = 0;
  TI_1 = 1;			/* enable it */
  }

EA = 1;                         /* Enable Interrupts */

return (0);
}
/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
char com_getchar (void)
{
char c;

if (com_rbuflen () == 0)
  return (-1);

EA = 0;                      
c = rbuf [r_out++];
EA = 1;                         

return (c);
}   

char com_getchar1 (void)
{
char c;

if (com_rbuflen1 () == 0)
  return (-1);

EA = 0;                      
c = rbuf1 [r_out1++];
EA = 1;                         

return (c);
}   
/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
unsigned char com_rbuflen (void)
{
return (r_in - r_out);
}

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
unsigned char com_tbuflen (void)
{
return (t_in - t_out);
}

unsigned char com_rbuflen1 (void)
{
return (r_in1 - r_out1);
}

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
unsigned char com_tbuflen1 (void)
{
return (t_in1 - t_out1);
}
/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久图片| 同产精品九九九| 亚洲午夜久久久久中文字幕久| 国内精品伊人久久久久av一坑| 色婷婷久久综合| 国产网站一区二区三区| 亚洲成a人片在线观看中文| 风间由美性色一区二区三区| 8x8x8国产精品| 伊人一区二区三区| 国产91精品在线观看| 日韩欧美高清一区| 日本怡春院一区二区| 欧美性大战xxxxx久久久| 国产精品久久福利| 国产精品1区2区| 精品乱人伦小说| 久久99久久久久| 欧美精品日韩精品| 亚洲在线中文字幕| 欧美综合欧美视频| 亚洲精品国产精品乱码不99| 成人app在线观看| 国产精品视频观看| 国产成人精品aa毛片| 国产日韩亚洲欧美综合| 国产一区不卡视频| 久久久影视传媒| 国产一区二区三区日韩| 精品国产麻豆免费人成网站| 美腿丝袜亚洲综合| 日韩欧美一区二区不卡| 久久国产精品72免费观看| 欧美一区二区成人6969| 狠狠色综合播放一区二区| 日韩视频免费观看高清在线视频| 日本伊人精品一区二区三区观看方式| 欧美日本国产视频| 美女高潮久久久| 久久久综合视频| 国产iv一区二区三区| 国产精品家庭影院| 色欧美88888久久久久久影院| 亚洲精品一二三区| 欧美精品免费视频| 久久99在线观看| 国产精品三级久久久久三级| 91麻豆免费在线观看| 一区二区三区日韩欧美精品| 欧美人妇做爰xxxⅹ性高电影| 免费黄网站欧美| 久久久久国产精品麻豆ai换脸| 国产v综合v亚洲欧| 亚洲第一av色| 久久影视一区二区| 91麻豆精东视频| 男女性色大片免费观看一区二区 | 91麻豆免费视频| 午夜精品久久久久久久久| 欧美成人三级电影在线| 成人国产亚洲欧美成人综合网| 亚洲欧美一区二区三区国产精品| 欧美日韩久久一区二区| 国产精品亚洲成人| 夜夜亚洲天天久久| 亚洲精品在线观| 91免费版在线看| 国内精品国产成人国产三级粉色| 中文字幕日韩精品一区| 在线成人小视频| 91亚洲永久精品| 激情都市一区二区| 亚洲影院久久精品| 中文字幕欧美三区| 欧美精品日韩一区| 91免费版在线| 国产精品一区二区91| 亚洲bt欧美bt精品| 日韩毛片在线免费观看| 精品久久久久一区二区国产| 色94色欧美sute亚洲线路一久| 黄色精品一二区| 日韩在线卡一卡二| 亚洲欧美成aⅴ人在线观看| 欧美大片拔萝卜| 欧美日韩一区二区在线观看| 成人做爰69片免费看网站| 蜜乳av一区二区| 亚洲国产va精品久久久不卡综合| 国产欧美日韩在线观看| 精品国一区二区三区| 欧美日韩国产综合一区二区三区| 丁香亚洲综合激情啪啪综合| 免费av网站大全久久| 亚洲国产日韩a在线播放| 国产精品国产三级国产专播品爱网 | 欧美一区日韩一区| 91蜜桃免费观看视频| 成人免费毛片高清视频| 激情综合网av| 激情五月婷婷综合网| 热久久久久久久| 午夜一区二区三区视频| 亚洲一区欧美一区| 亚洲一区二区偷拍精品| 一个色妞综合视频在线观看| 亚洲精品日韩一| 亚洲女人的天堂| 日韩美女啊v在线免费观看| 国产精品卡一卡二卡三| 国产精品亲子伦对白| 国产精品三级视频| 亚洲婷婷在线视频| 亚洲欧美一区二区视频| 中文字幕色av一区二区三区| 国产精品国产三级国产aⅴ入口 | 久久久精品国产99久久精品芒果| 日韩欧美二区三区| 精品精品欲导航| 26uuu精品一区二区| 久久久久久97三级| 国产精品乱码久久久久久 | 欧美大片国产精品| 久久久www免费人成精品| 欧美国产欧美综合| 中文字幕在线观看一区| 亚洲综合视频网| 热久久免费视频| 国产一区二区三区最好精华液| 国产乱人伦偷精品视频不卡| 丰满亚洲少妇av| 日本国产一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 中文字幕成人网| 一区二区三区四区不卡视频 | 亚洲精品成a人| 日韩激情中文字幕| 国产在线播放一区三区四| 丁香婷婷综合五月| 日本高清免费不卡视频| 91精品国产福利在线观看| 国产亚洲精品福利| 中文字幕一区三区| 亚洲高清三级视频| 国产在线看一区| av男人天堂一区| 欧美欧美欧美欧美| 国产欧美日韩麻豆91| 亚洲电影激情视频网站| 国内成人免费视频| 日本韩国一区二区| 精品捆绑美女sm三区| 亚洲欧美电影一区二区| 处破女av一区二区| 91麻豆精品国产| 国产精品成人免费在线| 日韩成人伦理电影在线观看| 大白屁股一区二区视频| 欧美精品在线一区二区三区| 欧美国产精品专区| 午夜精品一区二区三区三上悠亚| 国产精品888| 日韩一区二区在线看片| 依依成人综合视频| 国产成人av影院| 欧美一区二区三区性视频| 亚洲欧美一区二区三区久本道91| 精品一区二区三区在线观看国产| 91国在线观看| 亚洲欧洲成人自拍| 国产一区在线精品| 欧美日韩高清一区二区三区| 国产精品久线在线观看| 国产在线一区观看| 日韩手机在线导航| 午夜久久福利影院| 色呦呦一区二区三区| 国产精品高潮呻吟| 国产精品一区二区免费不卡 | 欧美日韩不卡一区| 亚洲美女在线一区| 成人午夜激情在线| 久久久久久亚洲综合| 蜜臀av性久久久久蜜臀aⅴ流畅| 色婷婷国产精品综合在线观看| 久久久不卡影院| 一本到不卡免费一区二区| 中文字幕不卡在线观看| 国产经典欧美精品| 久久久久亚洲蜜桃| 久久电影网站中文字幕| 5858s免费视频成人| 亚洲国产日日夜夜| 欧美亚男人的天堂| 一区二区三区欧美激情| 色伊人久久综合中文字幕| 亚洲女人的天堂| 欧美午夜理伦三级在线观看| 亚洲国产综合色| 337p亚洲精品色噜噜|