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

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

?? store.h

?? AVR平臺下的CanOpen協議桟源碼包括應用
?? H
字號:
/* ------------------------------------------------------------------------
File   : store.h

Descr  : Constants and prototypes for parameter EEPROM storage routines.

History: 21SEP.00; Henk B&B; Definition.
               01;  "    " ; Added space for global variable storage;
	                     added space for digital output settings storage.
         28MAY.01;  "    " ; Added space for test purposes.
	 23JUL.01;  "    " ; Added PDO stuff and more stuff for Digital I/O;
	                     increased STORE_INFO_SIZE from 3 to 4;
			     decreased STORE_BLOCK_SIZE from 32 to 16;
			     rearranged variable storage.
	 24JUL.01;  "    " ; Go from WORD to BYTE addresses, which is alright
	                     upto 256 bytes of EEPROM storage...
	 31OCT.01;  "    " ; Don't use EEPROM address 0.
	 27FEB.03; Henk B&B; Added parameter block for CAN.
--------------------------------------------------------------------------- */

#ifndef STORE_H
#define STORE_H

/* The number of individual data storage blocks */
#define STORE_BLOCK_CNT                 8

/* Maximum size of a data block (plus length word), in bytes (16) */
#define STORE_BLOCK_SIZE                0x10

/* Size of the info on a data block, in bytes (3 in use, 1 unused) */
#define STORE_INFO_SIZE                 4

/* Byte that signals the presence of a valid stored data block */
#define STORE_VALID_CHAR                'V'

/* ------------------------------------------------------------------------ */
/* EEPROM indices and addresses */

/* Parameter- and info-block indices */
#define STORE_PDO                       0
#define STORE_GUARDING                  1
#define STORE_ADC                       2
#define STORE_DIGIO                     3
#define STORE_DAC                       4
#define STORE_CAN                       5

/* EEPROM address offset for info blocks */
#define STORE_INFO_ADDR                 0x01

/* EEPROM address offset for data blocks, stored behind the info blocks */
#define STORE_DATA_ADDR                 (STORE_INFO_ADDR + \
                                         STORE_BLOCK_CNT*STORE_INFO_SIZE)

/* EEPROM address offset for (more radiation-tolerant) variable storage */
#define STORE_VAR_ADDR                  (STORE_DATA_ADDR + \
                                         STORE_BLOCK_CNT*STORE_BLOCK_SIZE)

/* Using the above constants STORE_VAR_ADDR = 1 + 8*4 + 8*16 = 161 = 0xA1,
   which means there are still up to 95 = 0x5F EEPROM locations (bytes)
   available for the stuff shown below */

/* ------------------------------------------------------------------------ */
/* EEPROM variable storage:
   (Global) variables that do not change very often are stored in EEPROM
   after initialisation and reread from EEPROM before every use;
   this makes the application more radiation-tolerant */

/* CAN stuff */
#define EE_NODEID                       (STORE_VAR_ADDR + 0x00)
#define EE_RTRIDHI                      (STORE_VAR_ADDR + 0x01)
#define EE_RTRIDLO                      (STORE_VAR_ADDR + 0x02)
#define EE_RTR_DISABLED                 (STORE_VAR_ADDR + 0x03)
#define EE_CANOPEN_OPSTATE_INIT         (STORE_VAR_ADDR + 0x04)
#define EE_CAN_BUSOFF_MAXCNT            (STORE_VAR_ADDR + 0x05)

/* ADC stuff */
#define EE_ADCCHANS                     (STORE_VAR_ADDR + 0x08)
#define EE_ADCCONFIG                    (STORE_VAR_ADDR + 0x09)
#define EE_ADCCONFREG2                  (STORE_VAR_ADDR + 0x0A)
#define EE_ADCCALIBBEFORESCAN           (STORE_VAR_ADDR + 0x0B)
#define EE_ADCREADOUTONCHANGE           (STORE_VAR_ADDR + 0x0C)
#define EE_ADCDELTASCANENABLED          (STORE_VAR_ADDR + 0x0D)
#define EE_ADCWINDOWSCANENABLED         (STORE_VAR_ADDR + 0x0E)
#define EE_ADCWINDOWCOUNTERINIT         (STORE_VAR_ADDR + 0x0F)

/* DAC stuff */
#define EE_DACMODULECNT                 (STORE_VAR_ADDR + 0x10)
#define EE_DACCHANS                     (STORE_VAR_ADDR + 0x11)
#define EE_DACMAX525                    (STORE_VAR_ADDR + 0x12)
#define EE_DACOPTODELAY                 (STORE_VAR_ADDR + 0x13)

/* DIGIO stuff */
#define EE_DIGINDEBOUNCEPOLLS           (STORE_VAR_ADDR + 0x18)
#define EE_DIGININTRPTENA               (STORE_VAR_ADDR + 0x19)
#define EE_DIGOUTINIT                   (STORE_VAR_ADDR + 0x1A)
#define EE_DIGOUTMASK2                  (STORE_VAR_ADDR + 0x1B)
#define EE_DIGININTRPTMASK1             (STORE_VAR_ADDR + 0x1C)
#define EE_DIGININTRPTMASK2             (STORE_VAR_ADDR + 0x1D)

/* Guarding stuff */
#define EE_LIFETIMEFACTOR               (STORE_VAR_ADDR + 0x20)
#define EE_HEARTBEATTIME                (STORE_VAR_ADDR + 0x21)

/* ADC stuff (continued) */
#define EE_ADCOPTODELAY                 (STORE_VAR_ADDR + 0x24)

/* PDO stuff (reserve enough space for the settings of multiple PDOs, upto 8)*/
#define EE_PDO_MAX                      8
#define EE_PDO_TTYPE                    (STORE_VAR_ADDR + 0x28)
#define EE_PDO_ETIMER_LO                (EE_PDO_TTYPE     + EE_PDO_MAX)
#define EE_PDO_ETIMER_HI                (EE_PDO_ETIMER_LO + EE_PDO_MAX)
#define EE_TPDO_ONTIMER                 (EE_PDO_ETIMER_HI + EE_PDO_MAX)

/* ------------------------------------------------------------------------ */
/* EEPROM storage for addresses 256 and up */

/* Storage for an ELMB serial number */
/* ================================= */

/* Sizes */
#define STORE_ELMB_SN_SIZE              4

/* Location where the ELMB Serial Number is stored (there is no copy in RAM).
   The serial number is followed by a 2-byte CRC and a 'valid' byte */
#define STORE_ELMB_SN_ADDR              0x100
#define STORE_ELMB_SN_VALID_ADDR        STORE_ELMB_SN_ADDR+STORE_ELMB_SN_SIZE+2

/* Storage for calibration constants */
/* ================================= */
/* There are 6 voltage ranges for which calibration constants
   are stored (no dependency on wordrate or polarity).
   We store 4 gain factors and reserve space for 4 more factors
   or constants (in case the offset will be used in the calibration,
   in the future), as well as space for 1 calibration configuration parameter
   (could contain e.g. the reference voltage used in the calibration,
    but this is undefined for now),
   Three bytes are assigned to each factor or constant.
   Each set of constants is followed by a 2-byte CRC and a 'valid' byte
   (and 2 stuff bytes to get to a 'nice' parameter blocksize of 32) */

/* Location where the ADC calibration constants are stored
   (there should be space for 6x STORE_ADC_CALIB_BLOCKSIZE sized datablocks) */
#define STORE_ADC_CALIB_ADDR            0x120

/* Sizes: STORE_ADC_CALIB_SIZE is the size of the actual meaningful data
   excluding CRC (2 bytes) and 'valid'-byte (1 byte);
   STORE_ADC_CALIB_BLOCKSIZE is the datablock size reserved for it
   including CRC and 'valid'-byte */
#define STORE_ADC_CALIB_PARSIZE         3
#define STORE_ADC_CALIB_PARS            9
#define STORE_ADC_CALIB_SIZE            (STORE_ADC_CALIB_PARS*\
                                         STORE_ADC_CALIB_PARSIZE)
#define STORE_ADC_CALIB_BLOCKSIZE       (STORE_ADC_CALIB_SIZE+2+1+2)
#define STORE_ADC_CALIB_BLOCKS          6

/* Storage for delta-change parameters: 64*3=192=0xC0 bytes */
/* ======================================================== */

/* Base address of locations to store working copies of the ADC limit
   parameters: delta, upper- and lower-limit (there is no copy in RAM) */
#define EE_ADC_DELTA                    0x200
#define EE_ADC_UPPER                    0x400
#define EE_ADC_LOWER                    0x600

/* Base address of Locations to store the ADC limit parameters permanently
   (delta, upper- and lower-limit) */
#define STORE_ADC_DELTA_ADDR            0x300
#define STORE_ADC_UPPER_ADDR            0x500
#define STORE_ADC_LOWER_ADDR            0x700

/* Sizes */
#define STORE_ADC_LIMIT_PARSIZE         3
#define STORE_ADC_LIMIT_SIZE            ADC_MAX_INPUTS*STORE_ADC_LIMIT_PARSIZE

/* The CRC is stored immediately behind the data
   (in the order CRC high-byte, CRC low-byte and a 'valid' token) */
#define STORE_ADC_LIMIT_INFO_ADDR       STORE_ADC_LIMIT_SIZE

/* ------------------------------------------------------------------------ */
/* Function prototypes */

BOOL store_save_parameters  ( BYTE subindex );
BOOL store_set_defaults     ( BYTE subindex );
void store_check_load_status( void );
BOOL store_write_block      ( BYTE store_index,
			      BYTE size,
			      BYTE *block );
BOOL store_read_block       ( BYTE store_index,
			      BYTE expected_size,
			      BYTE *block );

#endif /* STORE_H */

/* ------------------------------------------------------------------------ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影视日本亚洲欧洲精品| 国产日韩亚洲欧美综合| eeuss鲁片一区二区三区| 视频一区欧美日韩| 怡红院av一区二区三区| 中文字幕亚洲在| 中文字幕中文乱码欧美一区二区| 国产婷婷一区二区| 国产日本一区二区| 中文字幕乱码一区二区免费| 欧美激情一区二区三区四区| 欧美经典一区二区三区| 国产日产欧产精品推荐色 | 99久久精品国产麻豆演员表| 国产精品1区二区.| 成人精品高清在线| 91欧美激情一区二区三区成人| 99视频在线精品| 欧美伊人久久久久久午夜久久久久| 色8久久人人97超碰香蕉987| 欧美美女一区二区三区| 欧美电影免费观看完整版| 欧美xingq一区二区| 亚洲国产成人私人影院tom| 国产精品福利一区二区| 亚洲第一会所有码转帖| 奇米精品一区二区三区四区 | 国产成人在线视频播放| 成人午夜在线视频| 欧美性大战久久| 精品国产乱码久久久久久久久| 国产日韩av一区| 亚洲第一搞黄网站| 国产福利精品导航| 欧美日韩在线亚洲一区蜜芽| 精品免费日韩av| 国产精品美女视频| 日本欧美加勒比视频| 成人性色生活片| 91超碰这里只有精品国产| 国产日韩在线不卡| 亚洲成人黄色小说| 成人黄色a**站在线观看| 欧美日韩高清一区二区不卡| 国产午夜三级一区二区三| 亚洲免费观看高清| 久久精品国产在热久久| 在线亚洲欧美专区二区| 久久久精品欧美丰满| 国产最新精品精品你懂的| av成人免费在线| 精品日韩成人av| 亚洲国产精品一区二区久久恐怖片| 韩国女主播成人在线| 欧美日韩你懂得| 亚洲欧洲精品一区二区三区不卡| 免费观看成人鲁鲁鲁鲁鲁视频| 成人网在线播放| 精品国产乱码91久久久久久网站| 一区二区三区丝袜| 成人avav在线| 久久久久久久综合| 久久99热狠狠色一区二区| 欧美日韩在线直播| 一卡二卡三卡日韩欧美| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲大尺度视频在线观看| 成人a免费在线看| 久久先锋资源网| 久久精品国产第一区二区三区| 91麻豆国产福利在线观看| 国产色一区二区| 国产高清久久久| 久久久久久电影| 久久激情综合网| 精品免费99久久| 美女视频一区二区| 欧美tickle裸体挠脚心vk| 免费在线成人网| 日韩一区和二区| 久久精品二区亚洲w码| 欧美一级专区免费大片| 蜜臀av性久久久久av蜜臀妖精| 777午夜精品免费视频| 亚洲mv在线观看| 欧美色男人天堂| 丝袜亚洲另类欧美| 欧美一区二区高清| 久久97超碰国产精品超碰| 久久综合九色综合久久久精品综合| 九九九精品视频| 国产欧美日韩卡一| av亚洲精华国产精华精| 亚洲一区二区三区视频在线播放| 欧美日免费三级在线| 日本伊人色综合网| 久久亚洲二区三区| 99国产精品久久| 亚洲成人免费av| 2023国产精品视频| av在线不卡免费看| 亚洲成人免费影院| 欧美精品一区二区三区一线天视频| 国产伦精品一区二区三区视频青涩| 国产精品免费视频观看| bt7086福利一区国产| 亚洲一级二级在线| 精品国内片67194| 91色综合久久久久婷婷| 奇米色一区二区三区四区| 国产亚洲污的网站| 欧美体内she精高潮| 国产在线日韩欧美| 亚洲自拍偷拍网站| 亚洲精品一区二区三区在线观看| 91在线云播放| 久久国产精品一区二区| 亚洲三级小视频| 日韩三级电影网址| 色婷婷精品久久二区二区蜜臂av | 国产米奇在线777精品观看| 国产精品动漫网站| 日韩欧美自拍偷拍| 色成年激情久久综合| 国产精品一级片| 丝袜亚洲另类丝袜在线| 国产精品美女久久久久aⅴ| 91精品国产综合久久久蜜臀粉嫩| 成人免费毛片嘿嘿连载视频| 日韩av一区二区在线影视| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美做爰猛烈大尺度电影无法无天| 美国一区二区三区在线播放| 亚洲欧美一区二区久久| 精品国产a毛片| 欧美丰满高潮xxxx喷水动漫| av在线不卡电影| 国产成人精品免费在线| 久久精品久久久精品美女| 亚洲va在线va天堂| 亚洲欧美乱综合| 欧美激情艳妇裸体舞| 精品1区2区在线观看| 6080国产精品一区二区| 欧美色偷偷大香| 一本色道久久综合亚洲aⅴ蜜桃| 国产成人在线观看免费网站| 麻豆成人久久精品二区三区红 | 激情综合色播五月| 午夜a成v人精品| 一区二区三区四区中文字幕| 中文字幕一区二区在线播放| 国产欧美视频一区二区三区| 精品国产髙清在线看国产毛片| 91精品蜜臀在线一区尤物| 91久久精品一区二区三| 色94色欧美sute亚洲线路一ni| 一本色道久久加勒比精品| 91丨九色丨蝌蚪丨老版| 91丨porny丨蝌蚪视频| 91一区在线观看| 91在线观看污| 欧洲色大大久久| 欧美乱妇23p| 欧美电影免费观看高清完整版在线观看| 欧美一级久久久久久久大片| 91精品国产aⅴ一区二区| 911精品国产一区二区在线| 91精品免费在线观看| 日韩女优电影在线观看| 久久午夜色播影院免费高清| 一区二区三区欧美激情| 亚洲免费在线电影| 亚洲国产精品天堂| 青青草成人在线观看| 国产又黄又大久久| 成人99免费视频| 欧美视频一二三区| 日韩欧美成人激情| 久久久亚洲精华液精华液精华液| 久久久九九九九| 亚洲你懂的在线视频| 奇米777欧美一区二区| 国产黄色精品网站| 91高清在线观看| 日韩视频一区在线观看| 国产欧美一区二区精品秋霞影院| 亚洲日本va午夜在线电影| 午夜久久福利影院| 韩国女主播成人在线| 99精品视频在线播放观看| 欧美日韩国产综合一区二区三区| 日韩欧美在线123| 成人欧美一区二区三区视频网页| 亚洲第一在线综合网站| 国产一区二区三区免费观看| 一本色道综合亚洲| 久久久另类综合| 午夜欧美在线一二页| 成人午夜激情片|