請先看『使用說明』
DPC Module:DPC under Windows
From LEXWiKi
Contents |
The Sample code source you can download form
Source file:
DPC_v2.13w_Src(32bit).zip
DPC_v2.13w_Src(64bit).zip
Binary file:
DPC_v2.13w_Bin(32bit).zip
DPC_v2.13w_Bin(64bit).zip
How to use the DEMO application
When the DPC utility starts, it will hide in the notification area, and double click the tray icon (shown as the red square in below picture), 'DPC v3.0w.exe', it will show.
1. Frequency of panel selection
2. Confirm the panel which selected
3. If you choose to save DPC setting , the setting of frequency and duty cycle will be reserved.
4. It will show the MCU version of DPC.
5. Brightness control , you can choose : 10,20,30,40,50,60,70,80,90,100.
6. Show the brightness data which you choose.
7. When click the LightOff button , the panel will become darkest.
8. Record mouse position for go to 50 when LightOff. If click the button , 13 will show , you can click anywhere which you want for light on.
9. Record hotkey for go to 10 when LightOff. If click the button , The Record Hot Key window will show.
10. When click minimized , DPC will hide and show in the notification area.
11. Reset the record of hot key and position.
12. The light on mouse position and hotkay can not use together , after you record hotkey , you can't use the position anymore.
13. First key of hotkey
15. Second key of hotkey
16. Third key hotkey
17. Confirm the hotkey which you entered
18. Show hotkey which you set.
19. Hotkey will show here.
20. If you want to exit DPC , you should click right button of mouse on the icon and choose exit.
Sample code Introduction
Define SMBus regester
#define SMBUSPORT 0x0500 #define HST_STS SMBUSPORT+0x00 #define HST_CNT SMBUSPORT+0x02 #define HST_CMD SMBUSPORT+0x03 #define XMIT_SLVA SMBUSPORT+0x04 #define HST_D0 SMBUSPORT+0x05 #define bSize 1 #define SADD 0xb0 #define PWMFeq 0x01 #define PWMDuty 0x02
Set Frequency data
DWORD dwPortVal; bool bResult; bResult = InitializeWinIo(); if (bResult){ SetPortVal(HST_STS, 0xFE, bSize); //start Sleep(20); SetPortVal(XMIT_SLVA, SADD, bSize); //set Sleep(20); SetPortVal(HST_CMD, PWMFeq, bSize); //set frequency Sleep(20); GetPortVal(HST_STS, &dwPortVal, bSize); Sleep(20); dwPortVal = dwPortVal & 0x01; if (dwPortVal == 0){ SetPortVal(HST_D0, fvalue, bSize); //write data into frequency Sleep(20); SetPortVal(HST_CNT, 0x48, bSize); //stop Sleep(20); ShutdownWinIo(); } else ShutdownWinIo(); } ShutdownWinIo();
Set Duty data
UpdateData(TRUE); DWORD dwPortVal; bool bResult; bResult = InitializeWinIo(); if (bResult){ SetPortVal(HST_STS, 0xFE, bSize); //start Sleep(20); SetPortVal(XMIT_SLVA, SADD, bSize); //set Sleep(20); SetPortVal(HST_CMD, PWMDuty, bSize); //set duty Sleep(20); GetPortVal(HST_STS, &dwPortVal, bSize); Sleep(20); dwPortVal = dwPortVal & 0x01; if (dwPortVal == 0){ if (inverter == false) SetPortVal(HST_D0, dvalue * 10 , bSize); //write data into data else if (inverter == true) SetPortVal(HST_D0, (10 - dvalue) * 10 , bSize); Sleep(20); SetPortVal(HST_CNT, 0x48, bSize); //stop Sleep(20); ShutdownWinIo(); } else ShutdownWinIo(); } ShutdownWinIo();