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

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

?? uart.c

?? GSM模塊的AT指令代碼~,了解如何使用AT指令控制GSM模塊收發短信等。
?? C
字號:
#include <mega128.h>
#include "define.h"

#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

//timer1=============================================================
bool rx_time_overflow;  //溢處標志,由TIMER1定時得到。
//定時器定時設置
#define TH 0x00
#define TL 0x00
interrupt [TIM1_OVF] void timer1_ovf_isr(void){
rx_time_overflow=1;
}

//uart0==================================================================
// USART0 Receiver buffer
#define RX_BUFFER_SIZE0 32
char rx_buffer0[RX_BUFFER_SIZE0];
unsigned char rx_wr_index0,rx_rd_index0,rx_counter0;
bool rx_buffer_overflow0;

//==========================================
void uart_on(void);
void uart_off(void);

//==========================================
void uart_on(void){
rx_time_overflow=0;
rx_buffer_overflow0=0;
rx_wr_index0=rx_rd_index0=rx_counter0=0;
TCNT1H=TH;        //溢出計數器清0
TCNT1L=TL;
UCSR0B|=0x80;
TCCR1B=0x04;
}

void uart_off(void){
UCSR0B&=0x7F;
TCCR1B=0x00; 
}

//====================================
// USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
   rx_buffer0[rx_wr_index0]=data;
   if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
   if (++rx_counter0 == RX_BUFFER_SIZE0)
      {
      rx_counter0=0;
      rx_buffer_overflow0=1;
      };
   };
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART0 Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter0==0)
   if (rx_time_overflow) return 0;
data=rx_buffer0[rx_rd_index0];
if (++rx_rd_index0 == RX_BUFFER_SIZE0) rx_rd_index0=0;
cli();
--rx_counter0;
sei();
return data;
}
#pragma used-
#endif

unsigned char gets_OK(char* dst,int max_num){
unsigned char i;
uart_on();
for (i=0;i<(max_num-1);i++)
   {
   TCNT1H=TH;        //溢出計數器清0
   TCNT1L=TL;
   *(dst++)=getchar();
   if (rx_time_overflow) 
      {
      i=0;
      break;
      }
   else if ((i>2)&&(*(dst-4)=='O')&&(*(dst-3)=='K')&&(*(dst-2)=='\r')&&(*(dst-1)=='\n'))
      {
      *dst=0;
      break;
      }
   }
uart_off();
*(dst+max_num-1)=0;
if (rx_buffer_overflow0) i=0;
return i;
}

char gets_dayu(void){
bool flag=0;
uart_on();
while (!rx_time_overflow)
{
   TCNT1H=TH;        //溢出計數器清0
   TCNT1L=TL;
   if (getchar()=='>') 
   {
      flag=1;
      break;
   }
}
uart_off();
return flag;
}

//uart1=================================================================
// USART1 Receiver buffer
#define RX_BUFFER_SIZE1 8
char rx_buffer1[RX_BUFFER_SIZE1];
unsigned char rx_wr_index1,rx_counter1;
//unsigned char rx_rd_index1;
bool rx_buffer_overflow1;

//字幕機損壞,下面兩個函數暫時不用
/*/===============================
void uart1_on(void);
void uart1_off(void);

//==========================
void uart1_on(void){
rx_time_overflow=0;
rx_buffer_overflow1=0;
rx_wr_index1=rx_rd_index1=rx_counter1=0;
TCNT1H=TH;        //溢出計數器清0
TCNT1L=TL;
UCSR1B|=0x80;
TCCR1B=0x04;
}

void uart1_off(void){
UCSR1B&=0x7F;
TCCR1B=0x00;
}
*/

//========================
// USART1 Receiver interrupt service routine
interrupt [USART1_RXC] void usart1_rx_isr(void)
{
char status,data;
status=UCSR1A;
data=UDR1;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
   rx_buffer1[rx_wr_index1]=data;
   if (++rx_wr_index1 == RX_BUFFER_SIZE1) rx_wr_index1=0;
   if (++rx_counter1 == RX_BUFFER_SIZE1)
      {
      rx_counter1=0;
      rx_buffer_overflow1=1;
      };
   };
}

//字幕機損壞,此函數暫時不用。。。
/*/ Get a character from the USART1 Receiver buffer
#pragma used+
char getchar1(void){
char data;
uart1_on();
while (rx_counter1==0)
   if (rx_time_overflow) return 0;
data=rx_buffer1[rx_rd_index1];
if (++rx_rd_index1 == RX_BUFFER_SIZE1) rx_rd_index1=0;
#asm("cli")
--rx_counter1;
#asm("sei")
uart1_off();
return data;
}
#pragma used- 
*/

// Write a character to the USART1 Transmitter
#pragma used+
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
#pragma used-

void put1_tg(void){
unsigned int i;
unsigned char temp=4;
putchar1(0x9A);
putchar1(0x01);   //ID_LENGTH
putchar1(0x00);   //0號字幕機
if (temp>array) temp=array;
for (i=0;i<temp;i++)
{
   putchar1(tg[i]);    //長度統計中出現0x9A發送兩遍
   if (tg[i]==0x9A)
      {
      putchar1(tg[i]);
      tg[array-1]+=0x9A;   //校驗位校正
      }
}
for (i=4;i<array;i++)
{
   putchar1(tg[i]);
}
if ( tg[array-1]==0x9A )    //校驗位為0x9A則發送兩遍
{
   putchar1(0x9A);
}
}

/*
void put1(unsigned char *p, unsigned char num) 
{
  unsigned char i;
  for (i = num; i; i--)
  {
    putchar1(*p++);
  }
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区蜜臀 | 美女看a上一区| 国产精品久久久久aaaa| 欧美成人三级在线| 日韩欧美一级二级三级久久久| 91久久精品午夜一区二区| 91丨九色丨蝌蚪丨老版| 成人综合激情网| 粉嫩高潮美女一区二区三区 | 国产91精品一区二区麻豆亚洲| 人人爽香蕉精品| 日韩在线一区二区三区| 日本中文字幕一区二区视频| 亚洲国产美女搞黄色| 亚洲国产va精品久久久不卡综合| 亚洲高清免费视频| 男男视频亚洲欧美| 国模无码大尺度一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 青青国产91久久久久久| 青青草国产精品97视觉盛宴| 久久99精品国产麻豆婷婷| 极品少妇一区二区三区精品视频 | 国产一区二区三区免费观看| 国产精品系列在线播放| 成人av资源在线| 色婷婷综合久久| 欧美另类videos死尸| 欧美白人最猛性xxxxx69交| 久久久.com| 一区二区三区在线免费观看| 亚洲国产成人av| 轻轻草成人在线| 成人免费视频国产在线观看| 色嗨嗨av一区二区三区| 欧美大片国产精品| 亚洲男人都懂的| 美脚の诱脚舐め脚责91| 成人开心网精品视频| 欧美日韩在线免费视频| 国产欧美日韩亚州综合| 亚洲成a人片综合在线| 久久精品国产一区二区三区免费看 | 国产精品无圣光一区二区| 亚洲永久精品大片| 狠狠色丁香久久婷婷综合_中 | 亚洲成人精品在线观看| 成人黄色av电影| 欧美日本国产视频| 国产精品欧美久久久久一区二区| 亚洲午夜电影在线观看| 国产精品一二三四区| 91久久精品日日躁夜夜躁欧美| 91小视频免费看| 在线视频一区二区三| 国产亚洲人成网站| 午夜精品影院在线观看| 高清成人免费视频| 91精品国产91热久久久做人人| 成人影视亚洲图片在线| 久久婷婷色综合| 99视频有精品| 亚洲va欧美va国产va天堂影院| 欧美疯狂性受xxxxx喷水图片| 日韩精品电影在线| 精品不卡在线视频| 91啪亚洲精品| 日本美女视频一区二区| 欧美韩国日本不卡| 欧美日韩另类一区| 激情小说亚洲一区| 中文字幕一区二区5566日韩| 亚洲欧美日韩国产手机在线| 欧美日韩精品一区二区三区蜜桃 | 91美女在线看| 蜜臀精品一区二区三区在线观看| 久久精品一区八戒影视| 91成人网在线| 国产一区二区三区不卡在线观看| 一区二区三区在线视频观看58| 欧美一区二区三区四区五区| 成人ar影院免费观看视频| 日韩精品免费专区| 国产精品高潮呻吟久久| 日韩一区二区三免费高清| 成人福利视频在线| 麻豆精品国产91久久久久久| 一区二区在线免费| 久久精品亚洲精品国产欧美| 欧美日韩黄色一区二区| 国产很黄免费观看久久| 蜜桃91丨九色丨蝌蚪91桃色| 日韩理论片在线| 久久久www成人免费无遮挡大片| 欧美视频完全免费看| 高清在线成人网| 五月天久久比比资源色| 亚洲精品成a人| 国产欧美一区二区精品性色| 日韩一区二区高清| 欧美性xxxxxxxx| aaa欧美日韩| 另类人妖一区二区av| 亚洲r级在线视频| 曰韩精品一区二区| 亚洲欧美国产77777| 国产亚洲va综合人人澡精品| 精品国产伦理网| 日韩午夜精品电影| 日韩欧美亚洲一区二区| 欧美一级片在线观看| 777午夜精品视频在线播放| 91久久精品国产91性色tv| 99久久精品国产一区二区三区| 国产宾馆实践打屁股91| 激情综合网天天干| 老司机午夜精品| 六月婷婷色综合| 久久精品国产亚洲a| 免费欧美日韩国产三级电影| 天天操天天干天天综合网| 三级亚洲高清视频| 婷婷综合五月天| 亚洲电影视频在线| 香蕉久久夜色精品国产使用方法| 一区二区三区中文字幕电影| 亚洲欧美日韩国产成人精品影院| 国产精品久久久久精k8| 一区二区三区四区在线播放| 亚洲精品国产成人久久av盗摄| 亚洲综合视频在线观看| 亚洲一级不卡视频| 午夜一区二区三区在线观看| 午夜一区二区三区视频| 久久精品二区亚洲w码| 国产精品一区不卡| 91麻豆产精品久久久久久| 在线观看av不卡| 日韩一级大片在线观看| 久久久久88色偷偷免费| 亚洲视频一区二区在线| 亚洲成人av福利| 久久国产人妖系列| www.亚洲激情.com| 在线视频欧美区| 精品奇米国产一区二区三区| 中文字幕不卡三区| 一区二区三区在线免费观看 | 制服丝袜成人动漫| 精品国产一区二区三区忘忧草| 国产丝袜美腿一区二区三区| 亚洲图片另类小说| 久久精品99国产精品| av不卡免费在线观看| 欧美人与z0zoxxxx视频| 久久久www成人免费毛片麻豆| 亚洲精品自拍动漫在线| 久久99精品国产麻豆不卡| 99re这里都是精品| 日韩一区二区影院| 中文字幕一区不卡| 久久精品国产精品亚洲精品| 91无套直看片红桃| 精品乱人伦一区二区三区| 亚洲欧美另类久久久精品| 国产在线视频一区二区| 色噜噜狠狠成人中文综合| www欧美成人18+| 视频一区视频二区在线观看| 国产ts人妖一区二区| 欧美日韩高清在线播放| 中文字幕乱码久久午夜不卡| 婷婷一区二区三区| 99久久综合精品| 欧美精品一区二区蜜臀亚洲| 亚洲最大成人网4388xx| www.亚洲在线| 国产亚洲欧美激情| 日韩成人免费看| 欧美亚洲动漫制服丝袜| 中文字幕国产精品一区二区| 免费看精品久久片| 欧美日本不卡视频| 亚洲精品国产一区二区三区四区在线| 久色婷婷小香蕉久久| 91精品国产一区二区三区 | 国产偷国产偷精品高清尤物 | 在线观看一区二区视频| 欧美极品美女视频| 国产精品一区二区久激情瑜伽| 日韩精品一区二区三区中文不卡| 亚洲一区二区三区不卡国产欧美| www.在线成人| 亚洲欧洲国产日本综合| 国产成人精品亚洲午夜麻豆| 久久久久久久久久久电影| 久久国产精品第一页| 精品少妇一区二区三区视频免付费| 亚洲成人午夜影院| 69堂国产成人免费视频|