• RedisDesktopManager-2022.5.0.0

    resp-2022.5.0.0安装包 原名RedisDesktopManager

    0
    48
    21.37MB
    2023-07-07
    5
  • 一元投币器和时间控制板的接线图示.pdf

    一元投币器和时间控制板的接线图示

    0
    395
    461KB
    2021-09-10
    13
  • Mdbf协议_version_4-3(非现金部份).pdf

    Mdbf协议_version_4-3(非现金部份)

    0
    57
    393KB
    2021-09-10
    9
  • 自动售货机中mdb_icp协议通讯的实现.pdf

    自动售货机被称为“永不下班的超级营业员”。是 20 世纪 70 年代 在日本和欧美发展起来的高新技术产品, 这种零售方式已经在世界 65 个国家和地区出现。 自动售货机在日本被亲切地称为 “微 型小 店”。 “微型小店”出售的商品,从咖啡、香烟、各种酒类已经发展到部 分日常生活用品,就连报纸、大米、邮票、明信片、电池、录像带等也可 以 自 动 出 售。 在自动售货机的使用过程中,VMC (Vending Machine Controller)与外设(读卡器、硬币器、纸币器等)的通讯是很重要的,因 此,采用一种可靠的内部通讯总线协议非常必要。 MDB/ICP 协议是由 国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的 有关成 员制订,用于协调自动售卖机的主控制器(VMC)与多个外设之间通信 的协议。 1 MDB/ICP 协议 1.1 简介 MDB 为一个主从结构的串行总线接口标准, 采用 9600bps 的波 特率通信。 主从操作模式,MDB 规定总线有唯一 1 个主机和最多 32 个外设。 每个外设有唯一的地址和命令。 所有通信的外设都是主机完 成初始化的。 1.2 通信格式 a.字节格式 一个字节被定义为 11 位的格式,1 个起始位+8 个数据位+1 个模 式位+1 位停止位;其中,模式位根据传递方式的不同分别置 0 或置 1: 当控制器 VMC 发送数据到外设时,模式位置 1 表示为地址字节,置 0 表示数据字节;当外设发送数据到控制器 VMC 时,模式位置 1 表示所 有字节发送完毕。 b.块格式 主到从: 控制器 VMC 传送给外设的数据由 1 个地址字节、若干数据字节 和 1 个校验字节组成,总数不超过 36 个字节。 地址字节包含两部分命令,高 5 位是外设的地址,低 3 位是外设 的命令。 主控器响应外设时发送应答(ACK)、非应答(NAK)、重发(RET)。 5ms 超时(无响应)等价于非应答。 如果从机地址在 5mS 内无响应, 主控器重发相同的命令或不同 的命令,直到收到从机的响应或达到最大无响应时间(硬币器为 2S、 纸币器为 5S)。 在这期间,主控器同时应该访问其他外设。 主控器可以通过拉低发送线(至少 100mS)对总线进行复位。 从到主: 一帧数据包含一个数据块、1 字节校验和、1 字节应答或非应答。 校验和字节包含在最大数据块(36 字节)之内。 外设响应主控器时,主控器必须响应一个应答,非应答或重发。 外设在相应 ACK 或 NAK 时无需校验和。 当外设发送一个数据块之后,主控器在 5ms 无响应时间之内必须 响应一个 ACK、NAK 或 RET。

    0
    294
    154KB
    2021-09-10
    30
  • 基于mdb_icp协议的自动售卖系统的主控制器实现.pdf

    基于mdb_icp协议的自动售卖系统的主控制器实现.pdf

    0
    103
    303KB
    2021-09-10
    9
  • System.Data.SQLite.rar

    System.Data.SQLite, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139

    0
    400
    590KB
    2020-07-30
    9
  • Microsoft DirectX SDK (June 2010)

    Microsoft DirectX SDK (June 2010) DirectX SDK June 2010之中的.h和.lib文件; 设置添加include 和 lib路径

    5
    475
    7.91MB
    2018-09-11
    50
  • me33 me35刷机清零软件 最新版本

    me33 me35刷机清零软件 最新版本

    0
    106
    589KB
    2013-05-13
    9
  • windbg资料集合

    WinDbg是微软开发的免费源码级调试工具。Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。在DotNet方面WinDbg是调试分析SSCLI的最佳工具,同时可以和SOS扩展一起调试分析.net程序。最近一段时间项目需要学习了一下,有感于WinDbg功能的强大。学习的过程并不一帆风顺,WinDbg自带的英文文档大而泛,网上资料也比较少,而WinDbg Not an ABBA Song。现在总算是入了点门,也收集了一些很好的资料,整理成一个CHM方便大家学习,时间仓促,整理得比较粗糙,大家凑合着看。这些文章均来自网络,版权归原作者所有。 1. 默认表达式类型是MASM. 2. 你能使用.expr 改变默认类型(详见WINDOWS调试工具帮助文件)。 3. 某些命令总是使用C++的方式求值。 4. 一个特殊的表达式(或表达式的一部分)的赋值能通过前缀“@@”改成与一般表达式相反的方向。 这个摘要相当棘手,你应该参考WINDOWS调试工具帮助文件中的“Evaluating Expressions”。现在,这里有一些例子,给你一些关于赋值是如何工作的概念。 你之前已经停止在Sioctl!SioctlDeviceControl+0x103,所以使用dv 查看一个已知变量(查看dv 命令以获得更多信息): kd> dv Irp Irp = 0xff70fbc0 该响应的意思是,Irp 变量包含0xFF70FBC0。更多地,dv 解释C++语法中的参数。该响应基于变量内容,而不是地址。你可以确认它: kd> ?? Irp struct _IRP * 0xff70fbc0 ?? 总是以C++ 为基础(详见??命令)。假如使用MASM类型的赋值,尝试? (详见 ? 命令): kd> ? Irp Evaluate expression: -141181880 = f795bc48 这表示变量Irp 位于0XF795BC48。你可以通过使用dd (详见 dd 命令)显示内存数据,确认该变量真的包含数据0xFF70FBC0。 kd> dd f795bc48 l1 f795bc48 ff70fbc0 以及内存指向这里: kd> dd 0xff70fbc0 ff70fbc0 00940006 00000000 00000070 ff660c30 ff70fbd0 ff70fbd0 ff70fbd0 00000000 00000000 ff70fbe0 01010001 04000000 0006fdc0 00000000 ff70fbf0 00000000 00000000 00000000 04008f20 ff70fc00 00000000 00000000 00000000 00000000 ff70fc10 ff73f4d8 00000000 00000000 00000000 ff70fc20 ff70fc30 ffb05b90 00000000 00000000 ff70fc30 0005000e 00000064 0000003c 9c402408 查看象IRP这样的变量,正如dt 显示(详见dt 命令),Type和Size成员有一个似是而非的数据 : kd> dt Irp Local var @ 0xf795bc48 Type _IRP* 0xff70fbc0 +0x000 Type : 6 +0x002 Size : 0x94 +0x004 MdlAddress : (null) +0x008 Flags : 0x70 +0x00c AssociatedIrp : __unnamed +0x010 ThreadListEntry : _LIST_ENTRY [ 0xff70fbd0 - 0xff70fbd0 ] +0x018 IoStatus : _IO_STATUS_BLOCK +0x020 RequestorMode : 1 '' +0x021 PendingReturned : 0 '' +0x022 StackCount : 1 '' +0x023 CurrentLocation : 1 '' +0x024 Cancel : 0 '' +0x025 CancelIrql : 0 '' +0x026 ApcEnvironment : 0 '' +0x027 AllocationFlags : 0x4 '' +0x028 UserIosb : 0x0006fdc0 +0x02c UserEvent : (null) +0x030 Overlay : __unnamed +0x038 CancelRoutine : (null) +0x03c UserBuffer : 0x04008f20 +0x040 Tail : __unnamed 有时,你会希望使用C++ 赋值代替MASM表达式。“@@” 前缀会完成它。扩展命令总是使用象MASM表达式一样的参数,当你使用扩展命令!irp (详见 IRPs),你能看到@@的效果。 kd> !irp @@(Irp) Irp is active with 1 stacks 1 is current (= 0xff70fc30) No Mdl System buffer = ff660c30 Thread ff73f4d8: Irp stack trace. cmd flg cl Device File Completion-Context >[ e, 0] 5 0 82361348 ffb05b90 00000000-00000000 \Driver\SIoctl Args: 00000064 0000003c 9c402408 00000000 重复这个操作,不在上述的 Irp 变量中带@@ 前缀,!irp 将会使用变量的地址,而不是变量的值。为了使这更加具体,如果变量位于0xF795BC48,它包含的数据是0xFF70FBC0,使用!irp Irp 代替@@(Irp)将会请求WinDbg 格式化位于0xF795BC48的IRP stack。 你需要进一步了解的是:@@前缀相当通用,正如它的正式意思,使用不同于当前表达式中正在使用的赋值方法。如果大部分表达式是MASM,@@代表C++,如果它是C++,@@代表MASM。 最后一点建议:如果表达式不如你期望那样工作,考虑你是否在请求调试器理解MASM或者C++语法。 显示和设置内存,变量,寄存器等等 有一些方法可以显示和改变它们。 • 在当前例程中显示一个变量(当前的“scope”),使用dv (“Display Variables”)。例如,如果停止在Sioctl!SioctlDeviceControl+0x103: kd> dv DeviceObject = 0x82361348 Irp = 0xff70fbc0 outBufLength = 0x64 buffer = 0x00000000 "" irpSp = 0xff70fc30 data = 0xf886b0c0 "This String is from Device Driver !!!" ntStatus = 0 mdl = 0x00000000

    4
    164
    788KB
    2010-05-07
    9
  • 用友U8二次开发规范

    用友U8二次开发规范 U8二次开发规范 1. 背景 目前U8产品越来越庞大,提供的应用与服务也越来越多样化。公司整体的发展战略要求U8要成为一个能支持规模化交付的产品。为了达到这样的目标,仅仅通过我们的水平产品是无法满足客户的行业化、个性化的要求的。所以二次开发就成为一个能满足可以要求的填充剂,填补水平产品与客户的需求中的差异的空隙。 2. 二次开发定义及范畴 二次开发是与一次开发是相对应的,所以凡是由U8产品开发部提供的U8产品、套件以外的都应属于二次开发的产品。从这个定义出发以下行为属于开发开发范畴。  分公司、大区的基于U8的开发行为。  第三方合作伙伴的基于U8的开发行为。  行业开发本部基于U8产品的开发行为。

    5
    425
    36KB
    2009-09-30
    9
  • 阅读者勋章

    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 签到新秀

    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 分享精英

    成功上传11个资源即可获取
关注 私信
上传资源赚积分or赚钱