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

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

?? userspc3.c

?? PROFIBUS DP總線 從站源碼 西門子
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
+------------------------------------------------------------------------+
| Project: D P S 2   w i t h   S P C 3                                   |
|                                                                        |
| File:   USERSPC3.C                                                     |
| Date:   24-Mar-1997                                                    |
| Version: V 1.30                                                        |
| Initial Editor:   Schmidt Xaver                                        |
+------------------------------------------------------------------------+
| Description:                                                           |
|     This module contains the main routine and some supporting          |
|     routines.                                                          |
|                                                                        |
|     In this example the input and output bytes are transfered to the   |
|      IO area, which is addressed by the io_byte_ptr.                   |
|     In the case of the IM183-1 there is RAM.                           |
|     The first byte of the input data is used as a service byte         |
|      for the change diag function.                                     |
|     The received user parameter data were copied to an interim buffer  |
|      and from this to the user diagnosis data.                         |
+------------------------------------------------------------------------+
| following environments are supported                                   |
|  Processor: SAB C165                                                   |
|   Compiler: BSO Tasking 80166 C Cross-Compiler, V 4.0                  |
|  Processor: iNTEL 8032                                                 |
|   Compiler: Keil                                                       |
|                                                                        |
|                                                                        |
+------------------------------------------------------------------------+
|                    Copyright (C) SIEMENS AG, 1994                      |
|                         All Rights reserved                            |
+------------------------------------------------------------------------+
| History:																 |
| V0.9,SX,24-Oct-1995, Pilot verion                                      |
| V1.0,SX,02-Nov-1995, 1st version                                       |
| V1.1,SX,09-Nov-1995, Delete RAM from 0x16H, not from 16d               |
|                       no initialization of the interrupt 1 level/egde  |
| V1.2,SX,05-Aug-1996, changes for Keil-C51 V5                           |
| V1.2,SX,09-Aug-1996, IM182 support added                               |
| V1.3,MM,25-Mar-1997, IM182 support extracted                           |
|                                                                        |
+------------------------------------------------------------------------+
| Technical support:       Siemens Schnittstellencenter                  |
|                          AUT7 WKF B1 TDL2                              |
|                                                                        |
|   Schmidt Xaver                   Mittelberger Martin                  |
|   Tel.: 0911/750-2079             Tel.: 0911/750-2072                  |
|                                                                        |
|                   Fax.:         -2100                                  |
|                   Mailbox: 0911/737972                                 |
|                                                                        |
+------------------------------------------------------------------------+
*/

#define SPC3_INTEL_MODE         TRUE
#define SPC3_FAR

#define SPC3_DPS2
#define SPC3_DATA_XDATA


#include "..\user\spc3dps2.h"

#if defined __C51__

	#include <reg52.h>

	#define huge
	#define global
	#define public

	/* Defines for the IM183-1 */
	sbit  HW_WATCHDOG_TRIGGER = P1^0;   /* trigger input of the HW-WD   */
	sbit  SPC3_RESET = P3^4;            /* SPC3-reset-Pin               */
	#define SPC3_RESET_SET 1            /* reset-polarity               */
	#define SPC3_INTERRUPT_ENABLE  EX0  /* external interrupt of SPC3   */
	#define I_ENABLE 1                  /* enable interrupt             */
	#define SPC3_INTERRUPT_PRIOR   PX0  /* ext Interrupt SPC3 polarity  */
	#define P_HIGH  1                   /* ext Interrupt SPC3 prio high */
	#define GLOBAL_INTERRUPT_ENABLE EA  /* global interrupt             */

#elif	_C166
	/* C166 */
	#include "reg.h"

	#pragma global
	#pragma class hb=SPC3_CLASS
	#pragma default_attributes
	#pragma public
	#pragma class hb=DIN_CLASS
	#pragma default_attributes

#endif


/*----------------------------------------------------------------------*/
/*                       STRUCTURES AND TYPEDEFS                        */
/*----------------------------------------------------------------------*/

/* This is an example for a structure of a diagnosis with user data */
struct  diag_data_blk
  {
  UBYTE                               stationstatus_1;
  UBYTE                               stationstatus_2;
  UBYTE                               stationstatus_3;
  UBYTE                               master_add;
  UBYTE                               ident_high;
  UBYTE                               ident_low;

  /*------------------ extern diag data  -----------------*/
  UBYTE                               header;
  UBYTE                               ext_diag_0;
  UBYTE                               ext_diag_1;
  UBYTE                               ext_diag_2;
  UBYTE                               ext_diag_3;
  UBYTE                               ext_diag_4;
  UBYTE                               ext_diag_5;
  UBYTE                               ext_diag_6;
  UBYTE                               ext_diag_7;
  UBYTE                               ext_diag_8;
  UBYTE                               ext_diag_9;
  UBYTE                               ext_diag_10;
  UBYTE                               ext_diag_11;
  UBYTE                               ext_diag_12;
  UBYTE                               ext_diag_13;
  UBYTE                               ext_diag_14;
  UBYTE                               ext_diag_15;
  UBYTE                               ext_diag_16;
  UBYTE                               ext_diag_17;
  };

enum ERRORCODES {IO_LENGTH_ERROR,INIT_ERROR,UNUSED};

/*----------------------------------------------------------------------*/
/*                       EXTERNAL FUNCTIONS                             */
/*----------------------------------------------------------------------*/

/*----------------------------------------------------------------------*/
/*                       INTERNAL FUNCTIONS                             */
/*----------------------------------------------------------------------*/
void main (void);

void user_dps_reset (void);
void build_diag_data_blk (struct diag_data_blk*);
void user_error_function (enum ERRORCODES);
/*----------------------------------------------------------------------*/
/*                       LITERALS                                       */
/*----------------------------------------------------------------------*/

#define TSDRMIN                 11

#define OWN_ADDRESS             3
#define IDENT_HIGH              0x00
#define IDENT_LOW               0x08


#define DPS2_DISI()             IEN = 0
#define DPS2_ENI()              IEN = 1

#define CFG_LEN                 2
#define CONFIG_DATA_INP         0x13
#define CONFIG_DATA_OUTP        0x23


/*----------------------------------------------------------------------*/
/*                       MACROS                                         */
/*----------------------------------------------------------------------*/

/*----------------------------------------------------------------------*/
/*                       GLOBAL VARIABLES                               */
/*----------------------------------------------------------------------*/

#pragma global

UBYTE                   real_no_add_chg;
UBYTE                   this_station;
UBYTE                   cfg_akt [20];
UBYTE                   cfg_len_akt;
DPS2_IO_DATA_LEN SPC3_PTR_ATTR  *user_io_data_len_ptr;
#pragma public

struct diag_data_blk    *diag_ptr;
DPS2_BUFINIT            dps2_buf;

UBYTE   SPC3_PTR_ATTR   *user_output_buffer_ptr;

UBYTE   SPC3_PTR_ATTR   *user_input_buffer_ptr;
UBYTE   SPC3_PTR_ATTR   *real_config_data_ptr;
void    SPC3_PTR_ATTR   *user_diag_buffer_ptr;

UBYTE                   ident_numb_high;
UBYTE                   ident_numb_low;
UBYTE                   dps_chg_diag_srvc_byte_new;
UBYTE                   dps_chg_diag_srvc_byte_old;
UBYTE                   diag_service_code;
UBYTE                   diag_len;
UWORD                   user_baud_value;
UBYTE                   user_diag_flag;
UBYTE                   *io_byte_ptr;
UBYTE                   i;
UBYTE                   zyk_wd_state;
UBYTE                   zyk_dps_state;
UBYTE                   prm_tst_buf[32]= {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,0,0,0};
enum ERRORCODES error_code;

/* Locate the structure of the SPC3 in the address space               */

SPC3 xdata spc3 _at_ 0x1000;


/************************************************************************/
/*  D e s c r i p t i o n :                                             */
/*                                                                      */
/*  USER-TASK                                                           */
/************************************************************************/


void    main ()
{

#if defined __C51__
	UBYTE xdata * xdata loesch;
	UWORD zaehl;

	SPC3_RESET = SPC3_RESET_SET;        /* force the Reset Pin          */
	for(i = 100; i ; i--);
	SPC3_RESET = !SPC3_RESET_SET;

	HW_WATCHDOG_TRIGGER = 1;            /* Retrigger the HW Watchdog    */
	HW_WATCHDOG_TRIGGER = 0;

	SPC3_INTERRUPT_ENABLE = !I_ENABLE;  /* Set the interrupt parameters */
	SPC3_INTERRUPT_PRIOR = P_HIGH;      /* of the microprocessor        */

	loesch = &spc3.int_req.b[0];        /* Delete the SPC3 internal RAM */
	for (zaehl=0x16; zaehl<=0x05ff; zaehl++)
		{
		*(loesch + zaehl) = 00;
		}

#elif	_C166
	T3OUT = 1;                          /* force the SPC3 reset pin (P3.3) */
	for(i = 100; i ; i--);
	T3OUT = 0;
	CC11IC = 0x18;                      /* SPC3-Interrupt: ILVL = 6, GLVL = 0 */
#else
	UBYTE * loesch;
	UWORD zaehl;

	outp(SPC3_RESET,0x21);
	outp(SPC3_RESET,0x00);
	loesch = &spc3.int_req.b[0];        /* Delete the SPC3 internal RAM */
	for (zaehl=0x16; zaehl<=0x05ff; zaehl++)
	{
		*(loesch + zaehl) = 00;
	}
#endif


/* activate the indication functions */
SPC3_SET_IND(GO_LEAVE_DATA_EX | WD_DP_MODE_TIMEOUT | NEW_GC_COMMAND |\
			   NEW_SSA_DATA | NEW_CFG_DATA | NEW_PRM_DATA | BAUDRATE_DETECT);

/* set the watchdog value in the SPC3, which checks the microprocessor */
DPS2_SET_USER_WD_VALUE(20000);


/* In this example the input and output bytes are transfered to the
   IO area, which is addressed by the io_byte_ptr. In the case of the IM183
   there is RAM. */


	io_byte_ptr = ((UBYTE*) 0x2E000L);

for (i=0; i<2; i++)
	{
	(*(io_byte_ptr + i)) = 0;
	}

/* fetch the station address, in this case the station address
   is fixed in EPROM*/
this_station = OWN_ADDRESS;

/* get the Identnumber    */
ident_numb_high = IDENT_HIGH;
ident_numb_low =  IDENT_LOW;

/* Allow not the change of the slave address by the PROFIBUS DP      */
/* Attention: The set_slave_address service is not blocked by this */
real_no_add_chg = TRUE;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线播放| 看电视剧不卡顿的网站| 久久久精品国产免大香伊| 在线看国产一区| 91视频在线观看| 成人免费不卡视频| 国产成人激情av| 成人午夜电影久久影院| 国产精品白丝jk黑袜喷水| 国产一区美女在线| 国产一区视频导航| 成人精品一区二区三区中文字幕| 国产在线日韩欧美| 国产成人综合在线| 99国产欧美久久久精品| 91片在线免费观看| 欧美性高清videossexo| 欧美日韩美女一区二区| 欧美日韩成人激情| 精品乱人伦一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 精品久久久久久最新网址| 国产婷婷色一区二区三区四区| 国产亚洲制服色| 日韩毛片一二三区| 亚洲国产成人va在线观看天堂| 亚洲v精品v日韩v欧美v专区| 成人一区二区三区中文字幕| 成人在线综合网站| 欧美午夜精品久久久久久孕妇| 欧美日韩高清不卡| 国产无一区二区| 亚洲在线观看免费视频| 麻豆精品在线视频| www.久久精品| 91麻豆精品国产| 久久精品视频免费| 亚洲国产视频一区二区| 久久精品国产99久久6| 成人精品视频一区二区三区尤物| 色综合视频一区二区三区高清| 欧美精品久久99| 国产欧美一区二区在线观看| 亚洲国产精品人人做人人爽| 国内精品自线一区二区三区视频| 91在线视频免费91| 欧美大胆一级视频| 亚洲精品五月天| 国产一区在线观看视频| 欧美三级日本三级少妇99| 久久蜜桃av一区精品变态类天堂| 夜夜夜精品看看| 成人在线综合网| 91精品国产高清一区二区三区蜜臀 | 国产午夜精品一区二区| 一区二区三区四区视频精品免费 | 一区二区三区四区在线| 国产一区免费电影| 91精品国产一区二区| 亚洲欧洲日韩在线| 亚洲欧美在线aaa| 麻豆一区二区三| 欧美色男人天堂| 欧美日本视频在线| 亚洲国产精品精华液2区45| 亚洲精品日韩综合观看成人91| 免费看欧美美女黄的网站| 大美女一区二区三区| 日韩一区二区免费电影| 色综合久久中文字幕综合网| 久久久亚洲精品石原莉奈| 开心九九激情九九欧美日韩精美视频电影 | 一区二区三区精品视频在线| 国产精品一区一区三区| 制服丝袜国产精品| 天天色综合天天| 欧美网站一区二区| 亚洲国产视频a| 欧美tickling挠脚心丨vk| 亚洲国产视频在线| 欧美三级中文字幕| 亚洲18色成人| 欧美日本一区二区三区四区| 亚洲亚洲人成综合网络| 欧美熟乱第一页| 亚洲成av人在线观看| 欧美图区在线视频| 丝瓜av网站精品一区二区| 欧美日韩一区二区三区四区五区| 亚洲精品亚洲人成人网| 在线观看免费一区| 五月婷婷综合网| 6080国产精品一区二区| 日本不卡123| 日韩精品一区二区三区在线| 久久se精品一区二区| 国产亚洲精品资源在线26u| 国产精品1区2区3区在线观看| 国产婷婷色一区二区三区四区| 国产精品996| 最新国产の精品合集bt伙计| 91麻豆成人久久精品二区三区| 亚洲美女电影在线| 欧美视频在线观看一区二区| 日韩激情视频在线观看| 精品粉嫩超白一线天av| 波多野结衣的一区二区三区| 国产伦精品一区二区三区免费| 国产日韩v精品一区二区| 99re视频精品| 天天影视色香欲综合网老头| 精品免费一区二区三区| av午夜一区麻豆| 午夜一区二区三区在线观看| 精品欧美乱码久久久久久| 成人高清视频在线观看| 亚洲成人三级小说| 久久精品亚洲精品国产欧美| 91在线观看视频| 久久精品国产999大香线蕉| 中文字幕制服丝袜成人av| 欧美乱妇20p| 成人av动漫在线| 日韩va欧美va亚洲va久久| 国产精品乱码人人做人人爱 | 色噜噜狠狠成人网p站| 麻豆一区二区三区| 亚洲激情第一区| 久久先锋资源网| 欧美裸体bbwbbwbbw| 成人一二三区视频| 蜜乳av一区二区| 一级特黄大欧美久久久| 久久久www成人免费无遮挡大片 | 亚洲欧美日韩久久精品| 2020国产精品| 宅男噜噜噜66一区二区66| 91影院在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲国产视频网站| 亚洲免费在线看| 国产色产综合色产在线视频| 91精品综合久久久久久| 日本久久精品电影| 99国产精品99久久久久久| 国产资源精品在线观看| 伦理电影国产精品| 天天操天天综合网| 亚洲综合丁香婷婷六月香| 中文字幕在线一区| 日本一区二区不卡视频| 久久久久久久国产精品影院| 欧美大片国产精品| 91精品国产综合久久久蜜臀图片 | 91影院在线免费观看| 欧美日韩大陆在线| 欧洲精品在线观看| 91福利社在线观看| 欧美性淫爽ww久久久久无| 色综合欧美在线| 色欧美日韩亚洲| 在线中文字幕不卡| 欧美午夜精品久久久久久孕妇| 91视频免费看| 91福利资源站| 欧美精品一级二级三级| 91精品国产综合久久久久久漫画| 91精品国产麻豆国产自产在线| 欧美美女bb生活片| 欧美电影免费观看完整版| 欧美哺乳videos| 国产午夜亚洲精品不卡| 国产精品久久精品日日| 亚洲精品视频在线观看免费| 一区二区高清在线| 日韩和的一区二区| 国内欧美视频一区二区| 成人性生交大片免费看视频在线| 成人a免费在线看| 在线观看一区二区精品视频| 欧美日韩亚洲不卡| 日韩你懂的在线观看| 日本一区二区三区电影| 亚洲欧美视频在线观看| 亚洲chinese男男1069| 国产一区二区三区黄视频 | 国产精品99久| 在线看日韩精品电影| 91精品欧美久久久久久动漫| 久久午夜羞羞影院免费观看| 中文字幕在线不卡一区| 亚洲一区二区三区四区不卡| 麻豆久久久久久| 99在线精品观看| 欧美一区二区视频在线观看| 国产午夜精品一区二区三区嫩草| 亚洲精品免费在线播放| 美女高潮久久久| 在线视频综合导航| 久久久久国产成人精品亚洲午夜|