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

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

?? serio.c

?? PROFIBUS SLAVE PROGRAMS PRO FIBUS SLAVE PROGRAMS
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****************************  Filename: serio.c ****************************/
/* ========================================================================= */
/*                                                                           */
/* 0000  000   000  00000 0  000  0   0 0 0000                               */
/* 0   0 0  0 0   0 0     0 0   0 0   0 0 0   0                              */
/* 0   0 0  0 0   0 0     0 0     0   0 0 0   0      Einsteinstra遝 6        */
/* 0000  000  0   0 000   0 0     00000 0 0000       91074 Herzogenaurach    */
/* 0     00   0   0 0     0 0     0   0 0 0                                  */
/* 0     0 0  0   0 0     0 0   0 0   0 0 0          Tel: ++49-9132-744-200  */
/* 0     0  0  000  0     0  000  0   0 0 0    GmbH  Fax: ++49-9132-744-204  */
/*                                                                           */
/* ========================================================================= */
/*                                                                           */
/* Function:       serial function                                           */
/*                                                                           */
/* ------------------------------------------------------------------------- */
/*                                                                           */
/* Technical support:       P. Fredehorst                                    */
/*                          Tel. : ++49-9132/744-214                         */
/*                          Fax. :              -204                         */
/*                          eMail: pfredehorst@profichip.com                 */
/*                                                                           */
/*****************************************************************************/


/*****************************************************************************/
/* contents:

  - function prototypes
  - data structures
  - internal functions

*/
/*****************************************************************************/
/* include hierarchy */

#include "..\..\dp_inc\platform.h"
#include "..\..\dp_inc\dp_inc.h"

#ifdef RS232_SERIO

/*---------------------------------------------------------------------------*/
/* local function prototypes                                                 */
/*---------------------------------------------------------------------------*/
void start_serial_communication ( void );
void set_baud                   ( UWORD baudrate );

/*---------------------------------------------------------------------------*/
/* global data definitions                                                   */
/*---------------------------------------------------------------------------*/
UBYTE       snd_buff [256]; // for RS232 sending
UBYTE       rec_buff [256]; // for RS232 receiving

UBYTE data  write_rec_ptr;  // Writepointer into receive buffer
UBYTE data  read_rec_ptr;   // Readpointer  from receive buffer
UBYTE data  rec_counter;    // Counter of byte in receive buffer
UBYTE data  write_snd_ptr;  // Writepointer into send buffer
UBYTE data  read_snd_ptr;   // Readpointer  from send buffer
UBYTE data  snd_counter;    // Counter of byte in send buffer
UBYTE       serial_state;   // shows state of serial line
bit         thr_empty;      // Transmitter reg. empty

/*---------------------------------------------------------------------------*/
/* local data definitions                                                    */
/*---------------------------------------------------------------------------*/
//static const UBYTE asccii[16] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
UBYTE asccii[16];

bit         parity;         // Save parity bit received

sbit CTS    = 0x93;
sbit RTS    = 0x94;


/*---------------------------------------------------------------------------*/
/* functions                                                                 */
/*---------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   void print_string__(UBYTE *p)                                           */
/*                                                                           */
/*   function:     print string                                              */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void print_string__( UBYTE *p )
{
    while ( *p )
    {
        snd_buff [write_snd_ptr++] = *p++;
        snd_counter++;
    }
    start_serial_communication();
}//void print_string__( UBYTE *p )


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   UBYTE print_hexbyte__(UBYTE b)                                          */
/*                                                                           */
/*   function:     konverts integer to asccii                                */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void print_hexbyte__(UBYTE b)
{
    snd_buff [write_snd_ptr++] = asccii[(b >> 4)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(b & 0x0F)];
    snd_counter++;
    start_serial_communication();
}//void print_hexbyte__(UBYTE b)


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   UBYTE print_hexword__(UWORD w)                                          */
/*                                                                           */
/*   function:     konverts integer to asccii                                */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void print_hexword__(UWORD w)
{
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((w >> 12) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((w >> 8) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((w >> 4) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)(w & 0x000F)];
    snd_counter++;
    start_serial_communication();
}//void print_hexword__(UWORD w)


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   UBYTE print_hexlong__(ULONG dw)                                          */
/*                                                                           */
/*   function:     konverts integer to asccii                                */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void print_hexlong__(ULONG dw)
{
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 28) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 24) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 20) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 16) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 12) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 8) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)((dw >> 4) & 0x000F)];
    snd_counter++;
    snd_buff [write_snd_ptr++] = asccii[(UBYTE)(dw & 0x000F)];
    snd_counter++;
    start_serial_communication();
}//void print_hexlong__(ULONG dw)


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   void start_serial_communication(void)                                   */
/*                                                                           */
/*   function:     starts serial communication                               */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void start_serial_communication( void )
{
    //if(write_snd_ptr != read_snd_ptr)
    if(snd_counter > 0)
    {
        // disable interrupts
        DISABLE_ALL_INTERRUPT_BIT__;

        if( thr_empty )
        {
            thr_empty = FALSE;
            // set RTS handshake
            //RTS = 0;
            // transmit trigger via softw. interrupt
            TI = 1;
        }

        // enable interrupts
        ENABLE_ALL_INTERRUPT_BIT__;
    }
    return;
}//void start_serial_communication( void )


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   void init_serio__(UWORD baudrate)                                        */
/*                                                                           */
/*   function:     initialize serial communication                           */
/*                                                                           */
/*---------------------------------------------------------------------------*/
#ifdef EvaBoard_AT89C5132
	
	#define Set_SMOD1()           	(PCON |= MSK_SMOD1)

void init_serio__( UWORD baudrate )
{
    memset(&snd_buff[0], 0, sizeof(snd_buff));
    memset(&rec_buff[0], 0, sizeof(snd_buff));

    write_rec_ptr = 0;      // Writepointer into receive buffer
    read_rec_ptr  = 0;      // Readpointer  from receive buffer
    rec_counter   = 0;      // Counter of byte in receive buffer
    write_snd_ptr = 0;      // Writepointer into send buffer
    read_snd_ptr  = 0;      // Readpointer  from send buffer
    snd_counter   = 0;      // Counter of byte in send buffer

	asccii[0] = 0x30;
	asccii[1] = 0x31;
	asccii[2] = 0x32;
	asccii[3] = 0x33;
	asccii[4] = 0x34;
	asccii[5] = 0x35;
	asccii[6] = 0x36;
	asccii[7] = 0x37;
	asccii[8] = 0x38;
	asccii[9] = 0x39;
	asccii[10] = 0x41;
	asccii[11] = 0x42;
	asccii[12] = 0x43;
	asccii[13] = 0x44;
	asccii[14] = 0x45;
	asccii[15] = 0x46;

    serial_state  = ON;     // shows state of serial line
    thr_empty     = TRUE;   // Transmitter reg. empty

    TXD = 1;
    RXD = 1;
	SCON = 0x50;					//uart mode: mode 1, 8bit, receive enable
   	BDRCON &=0xEC;               	//BRR=0; SRC=0;
   	BDRCON |=0x0E;               	//TBCK=1; RBCK=1; SPD=1

   	#ifdef AT89C5132_MODE_X2
   		switch( baudrate )
   		{
   			case 115200:
   			{
				Set_SMOD1();		//SMOD1 = 1
   				BRL = 245;
   				break;
   			}	

   			case 57600:
   			{
				Set_SMOD1();		//SMOD1 = 1
   				BRL = 234;
   				break;
   			}	

   			case 19200:
   			{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品欧美精品| 国产精品原创巨作av| 久久久久久免费网| 91黄视频在线观看| 欧美电影一区二区三区| 国产真实乱偷精品视频免| 亚洲资源中文字幕| 国产免费成人在线视频| 91麻豆精品国产| 色综合久久六月婷婷中文字幕| 久久99国内精品| 舔着乳尖日韩一区| 亚洲日本一区二区三区| 国产视频一区在线观看| 欧美二区三区的天堂| 在线免费不卡电影| 成人激情综合网站| 国产麻豆视频一区二区| 美女在线视频一区| 天堂成人国产精品一区| 夜夜爽夜夜爽精品视频| 中文字幕精品一区| 久久久99精品免费观看不卡| 欧美一区二区三区影视| 欧美日韩精品一区视频| 色婷婷av一区二区三区大白胸| 成人精品视频一区二区三区尤物| 国内成+人亚洲+欧美+综合在线| 无码av免费一区二区三区试看 | 色天天综合色天天久久| 高清beeg欧美| 国产成人aaaa| 国产成人丝袜美腿| 国产精品综合网| 国产激情一区二区三区四区 | 91精品国产综合久久香蕉麻豆| 91日韩一区二区三区| 国产91丝袜在线播放0| 国产乱码精品一区二区三区av| 久久99精品久久久| 国产一区二区三区四区五区入口 | 一区二区三区四区蜜桃| 亚洲精品五月天| 一区二区在线观看视频| 亚洲精品成人天堂一二三| 亚洲乱码国产乱码精品精小说 | 蜜臀精品久久久久久蜜臀 | 国产精品女同一区二区三区| 国产欧美日韩中文久久| 欧美国产激情一区二区三区蜜月| 国产亚洲女人久久久久毛片| 久久精品无码一区二区三区| 经典三级视频一区| 国产美女精品一区二区三区| 国产精品99久久久久久久女警| 粉嫩aⅴ一区二区三区四区 | 91久久精品日日躁夜夜躁欧美| 91国在线观看| 91精品国产福利| 精品国产1区2区3区| 亚洲国产精品ⅴa在线观看| 亚洲情趣在线观看| 天天av天天翘天天综合网色鬼国产 | 国产精品一区在线| 97久久超碰精品国产| 在线观看国产91| 日韩欧美一区在线| 国产三级一区二区三区| 亚洲精品国产一区二区三区四区在线| 亚洲在线观看免费视频| 另类小说综合欧美亚洲| av中文一区二区三区| 欧美日韩国产小视频在线观看| 精品国产91乱码一区二区三区| 国产精品久久久久久久久久免费看| 亚洲欧美区自拍先锋| 美女脱光内衣内裤视频久久影院| 国产iv一区二区三区| 欧美亚洲一区三区| 久久久午夜精品理论片中文字幕| 日韩一区欧美小说| 美女诱惑一区二区| 91色porny| 日本中文字幕不卡| 国产福利不卡视频| 欧美三级欧美一级| 国产精品欧美精品| 麻豆精品在线播放| 91国偷自产一区二区三区观看| 精品国产一区久久| 亚洲一区二区三区自拍| 国产九色精品成人porny| 欧美在线免费观看视频| 久久免费美女视频| 丝袜a∨在线一区二区三区不卡| 国产福利91精品| 制服丝袜亚洲网站| 亚洲日本在线视频观看| 国产乱人伦偷精品视频不卡| 欧美日韩日日夜夜| 亚洲欧洲日产国产综合网| 麻豆精品一区二区综合av| 色噜噜夜夜夜综合网| 久久久久久久久久久久久夜| 天堂va蜜桃一区二区三区漫画版| 97精品国产露脸对白| 久久久久国产精品麻豆ai换脸| 亚洲成人精品一区| 一本色道久久加勒比精品 | 精品国精品国产| 亚洲国产成人91porn| 91亚洲精品乱码久久久久久蜜桃| 久久综合久久综合久久综合| 日韩在线卡一卡二| 欧美色网站导航| 亚洲免费视频成人| 99久久久国产精品免费蜜臀| 国产日韩欧美精品一区| 国产综合久久久久久久久久久久| 欧美日韩不卡一区二区| 亚洲一区av在线| 色噜噜久久综合| 亚洲欧美另类图片小说| 91免费版在线| 亚洲少妇30p| 97精品久久久久中文字幕| 国产精品嫩草影院av蜜臀| 成人手机电影网| 国产女主播视频一区二区| 国产美女娇喘av呻吟久久| 久久―日本道色综合久久| 久草这里只有精品视频| 日韩欧美国产午夜精品| 老司机免费视频一区二区| 日韩精品一区二区三区在线播放| 日本成人在线网站| 欧美一级高清大全免费观看| 免费在线欧美视频| 日韩欧美国产一区在线观看| 久久99蜜桃精品| 2023国产精华国产精品| 国产激情偷乱视频一区二区三区| 久久久美女艺术照精彩视频福利播放| 国产一区二区福利| 久久久av毛片精品| 成人免费高清在线观看| 亚洲人成网站精品片在线观看| 色婷婷av久久久久久久| 亚洲成a人片综合在线| 51精品视频一区二区三区| 毛片av一区二区三区| 久久先锋影音av鲁色资源网| 粉嫩aⅴ一区二区三区四区五区| 国产精品久久免费看| 在线精品视频小说1| 日韩精品高清不卡| 久久久777精品电影网影网 | 欧美午夜精品一区二区三区| 午夜视频一区在线观看| 日韩精品一区二区三区视频播放| 国产美女久久久久| 亚洲精品欧美专区| 欧美一二三四区在线| 国产精品一区二区视频| 亚洲人成网站影音先锋播放| 欧美日韩1234| 国产一区二区不卡老阿姨| 亚洲视频中文字幕| 91精品国产高清一区二区三区| 国产精品中文欧美| 一区二区三区日韩在线观看| 日韩一级完整毛片| 不卡的电影网站| 日韩电影免费在线看| 国产亚洲一二三区| 欧美色老头old∨ideo| 国产一区二区三区在线观看免费| 亚洲欧美偷拍三级| 精品欧美久久久| 一本一道久久a久久精品| 久久99国内精品| 樱花草国产18久久久久| 欧美成人精品二区三区99精品| 91亚洲精华国产精华精华液| 免费xxxx性欧美18vr| 亚洲精品中文字幕乱码三区| 欧美成人乱码一区二区三区| 91久久一区二区| 国产成人精品亚洲午夜麻豆| 午夜精品久久一牛影视| 欧美国产国产综合| 日韩视频在线永久播放| 色综合久久66| 国产成人午夜精品5599| 欧美亚洲一区二区在线| 黄色小说综合网站| 亚洲国产人成综合网站| 亚洲欧洲99久久| 久久久久久久国产精品影院| 在线不卡免费av|