2015 Win HEC Download Win HEC presentations here

  • Slides: 52
Download presentation
深圳 2015 请点击以下链接下载Win. HEC的演讲材料 Download Win. HEC presentations here: http: //channel 9. msdn. com/Events/Win.

深圳 2015 请点击以下链接下载Win. HEC的演讲材料 Download Win. HEC presentations here: http: //channel 9. msdn. com/Events/Win. HEC/2015

UMDF V 2 传感器类扩展 ADXL 345 Acc 驱动程序 (UMDF V 2. 0) Spb. Cx.

UMDF V 2 传感器类扩展 ADXL 345 Acc 驱动程序 (UMDF V 2. 0) Spb. Cx. sys Gpio. Clx. sys I 2 C 控制器 驱动程序 GPIO 控制器 驱动程序 ADXL 345 Acc 外设

Visual Studio 2 – I C 加速计 代码示例

Visual Studio 2 – I C 加速计 代码示例

UEFI

UEFI

Device(SPBA) { Name (_HID, "ADXL 0345") Name(_CRS, Resource. Template () { I 2 CSerial.

Device(SPBA) { Name (_HID, "ADXL 0345") Name(_CRS, Resource. Template () { I 2 CSerial. Bus(0 x 53, Controller. Initiated, 400000, Addressing. Mode 7 Bit, "\_SB. I 2 C 3", 0, Resource. Consumer) Gpio. Int(Edge, Active. High, Exclusive, Pull. Down, 0, "\_SB. GPO 2") {0 x 17} }) }

var platform = Platforms. Createx 86 Platform( "PWIE", "EDK 2", "PWIE", 1, "SSDT"); var

var platform = Platforms. Createx 86 Platform( "PWIE", "EDK 2", "PWIE", 1, "SSDT"); var sensor = platform. Add. Generic. Device( "ADXL", @"ADXL 0345", 1); sensor. Add. I 2 CSerial. Bus( Slave. Address: 0 x 53, Mode: Slave. Mode. Controller. Initiated, Connection. Speed: 400 * 1000, addressmode: Address. Mode. _7 Bit, controllername: @"_SB_. I 2 C 3"); sensor. Add. GPIOInterrupt( Type: Interrupt. Type. Level, Active. Level: Interrupt. Active. Level. Active. High, Shared: Sharing. Level. Exclusive, Pin. Configuration: Pin. Configuration. Down, Debounce. Timeout: 0, Pin. Number: 1, Source: @"_SB_. GPO 2"); platform. Write. Asl();

INF [Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334

INF [Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334 -C 371 -4806 -B 3 BA-71 FD 53 C 9258 D} Provider=%Manufacturer. Name% Catalog. File=ADXL 345 Acc. cat Driver. Ver= [Manufacturer] %Manufacturer. Name%=Standard, NT$ARCH$ [Standard. NT$ARCH$] %Device. Name%=My. Device_Install, ACPIADXL 0345 … [Strings] Manufacturer. Name="Me" Device. Name="ADXL 345 Acc Device"

INF [Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334

INF [Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334 -C 371 -4806 -B 3 BA-71 FD 53 C 9258 D} Provider=%Manufacturer. Name% Catalog. File=ADXL 345 Acc. cat Driver. Ver= [Manufacturer] %Manufacturer. Name%=Standard, NT$ARCH$ [Standard. NT$ARCH$] %Device. Name%=My. Device_Install, ACPIADXL 0345 … [Strings] Manufacturer. Name="Me" Device. Name="ADXL 345 Acc Device"

[Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334 -C

[Version] Signature = "$Windows NT$" Class = Sensor Class. Guid= {5175 D 334 -C 371 -4806 -B 3 BA-71 FD 53 C 9258 D} Provider=%Manufacturer. Name% Catalog. File=ADXL 345 Acc. cat Driver. Ver= [Manufacturer] %Manufacturer. Name%=Standard, NT$ARCH$ [Standard. NT$ARCH$] %Device. Name%=My. Device_Install, ACPIADXL 0345 … [Strings] Manufacturer. Name="Me" Device. Name="ADXL 345 Acc Device"

Win. RT API 详细信息 • Windows. Devices. [GPIO|SPI|I 2 C] • API 遵循现有的“Windows. Devices”API

Win. RT API 详细信息 • Windows. Devices. [GPIO|SPI|I 2 C] • API 遵循现有的“Windows. Devices”API 模式并提供对这些处 于共享或独占访问模式的总线的直接访问权限 • 可标识常见用例的示例 // Blink the LED 10 times. for (int i = 0; i < 10; ++i) { pin. Write(Gpio. Pin. Value. Low); await Task. Delay(200); pin. Write(Gpio. Pin. Value. High); await Task. Delay(200); }

GPIO https: //msdn. microsoft. com/zh-cn/library/windows/hardware/hh 439509(v=vs. 85). aspx SPB https: //msdn. microsoft. com/zh-cn/library/windows/hardware/hh 450906(v=vs.

GPIO https: //msdn. microsoft. com/zh-cn/library/windows/hardware/hh 439509(v=vs. 85). aspx SPB https: //msdn. microsoft. com/zh-cn/library/windows/hardware/hh 450906(v=vs. 85). aspx UART https: //msdn. microsoft. com/zh-cn/library/windows/hardware/ff 547453(v=vs. 85). aspx Spb 手册 https: //msdn. microsoft. com/zh-cn/library/windows/hardware/dn 760712(v=vs. 85). aspx MITT https: //msdn. microsoft. com/zh-cn/library/windows/hardware/dn 919874%28 v=vs. 85%29. aspx WPP 跟踪 https: //msdn. microsoft. com/zh-cn/library/windows/hardware/ff 547657(v=vs. 85). aspx Simple. Bus@microsoft. com MITTSupport@microsoft. com

§ 主机是否从设备中检索到正确的报告描述符并 且 HIDPARSE 是否成功分析报告描述符。如 果不是,请重点执行以下操作 如果未从设备中检索到报告描述符 1. 确保枚举序列已在报告描述符检索之前完成所 有步骤。 2. 确保 HID 描述符中的字节偏移

§ 主机是否从设备中检索到正确的报告描述符并 且 HIDPARSE 是否成功分析报告描述符。如 果不是,请重点执行以下操作 如果未从设备中检索到报告描述符 1. 确保枚举序列已在报告描述符检索之前完成所 有步骤。 2. 确保 HID 描述符中的字节偏移 4 和 6 是有效 且正确的(尤其是长度)。 § 如果从设备中检索到报告描述符但仍然失败 1. 验证 w. Report. Desc. Length 字段确保检索了整 个报告描述符。 2. 验证是否根据设备类驱动程序规范正确设置了 HID 报告格式。对 USB 等另一种总线进行测 试来验证一致性。 SAMPLE ACCELEROMETER REPORT DESCRIPTOR =================== USAGE_PAGE (Sensors) 05 15 USAGE (Motion: Accelerometer 3 D) 09 73 COLLECTION (Physical) A 1 00 //<FEATURES> USAGE (Property: Connection Type) 0 A 09 03 § LOGICAL_MINIMUM (0) LOGICAL_MAXIMUM (255) REPORT_SIZE (16) REPORT_COUNT (1) FEATURE (Data, Var, Abs) 15 26 75 95 B 1 00 FF 00 10 01 02 … … //Shake Event Notification USAGE (Data: Motion Intensity) 0 A 51 04 LOGICAL_MINIMUM (0) LOGICAL_MAXIMUM (64) 15 00 25 40 REPORT_SIZE (8) INPUT (Data, Var, Abs) //</INPUT> 75 08 81 02 END_COLLECTION C 0