資源簡介
開源免費軟件,2009年更新至1.9版
LDMicro是一款AVR/PIC16單片機梯形圖編譯軟件,用戶可以在軟件上繪制梯形圖,實時仿真,將梯形圖編譯成可在AVR/PIC16單片機上運行的HEX文件,或編譯成ANSI C代碼,或編譯成可解釋的字節碼。
壓縮包內含有可直接運行的exe文件,以及開放源碼和說明文檔等。
目前支持的單片機如下:
* PIC16F877
* PIC16F628
* PIC16F876 (未測試)
* PIC16F88 (未測試)
* PIC16F819 (未測試)
* ATmega128
* ATmega64
* ATmega162 (未測試)
* ATmega32 (未測試)
* ATmega16 (未測試)
* ATmega8 (未測試)

代碼片段和文件信息
/*
?*?A?library?for?storing?parameters?in?the?registry.
?*
?*?Jonathan?Westhues?2002
?*/
#include?
#include?
#include?
/*
?*?store?a?window‘s?position?in?the?registry?or?fail?silently?if?the?registry?calls?don‘t?work
?*/
void?FreezeWindowPosF(HWND?hwnd?char?*subKey?char?*name)
{
????RECT?r;
????GetWindowRect(hwnd?&r);
????HKEY?software;
????if(RegOpenKeyEx(HKEY_CURRENT_USER?“Software“?0?KEY_ALL_ACCESS?&software)?!=?ERROR_SUCCESS)
????????return;
????char?*keyName?=?(char?*)malloc(strlen(name)?+?30);
????if(!keyName)
????????return;
????HKEY?sub;
????if(RegCreateKeyEx(software?subKey?0?““?REG_OPTION_NON_VOLATILE?KEY_ALL_ACCESS?NULL?&sub?NULL)?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_left“?name);
????if(RegSetValueEx(sub?keyName?0?REG_DWORD?(BYTE?*)&(r.left)?sizeof(DWORD))?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_right“?name);
????if(RegSetValueEx(sub?keyName?0?REG_DWORD?(BYTE?*)&(r.right)?sizeof(DWORD))?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_top“?name);
????if(RegSetValueEx(sub?keyName?0?REG_DWORD?(BYTE?*)&(r.top)?sizeof(DWORD))?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_bottom“?name);
????if(RegSetValueEx(sub?keyName?0?REG_DWORD?(BYTE?*)&(r.bottom)?sizeof(DWORD))?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_maximized“?name);
????DWORD?v?=?IsZoomed(hwnd);
????if(RegSetValueEx(sub?keyName?0?REG_DWORD?(BYTE?*)&(v)?sizeof(DWORD))?!=?ERROR_SUCCESS)
????????return;
????free(keyName);
}
static?void?Clamp(LONG?*v?LONG?min?LONG?max)
{
????if(*v?????if(*v?>?max)?*v?=?max;
}
/*
?*?retrieve?a?window‘s?position?from?the?registry?or?do?nothing?if?there?is?no?info?saved
?*/
void?ThawWindowPosF(HWND?hwnd?char?*subKey?char?*name)
{
????HKEY?software;
????if(RegOpenKeyEx(HKEY_CURRENT_USER?“Software“?0?KEY_ALL_ACCESS?&software)?!=?ERROR_SUCCESS)
????????return;
????HKEY?sub;
????if(RegOpenKeyEx(software?subKey?0?KEY_ALL_ACCESS?&sub)?!=?ERROR_SUCCESS)
????????return;
????char?*keyName?=?(char?*)malloc(strlen(name)?+?30);
????if(!keyName)
????????return;
????DWORD?l;
????RECT??r;
????sprintf(keyName?“%s_left“?name);
????l?=?sizeof(DWORD);
????if(RegQueryValueEx(sub?keyName?NULL?NULL?(BYTE?*)&(r.left)?&l)?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_right“?name);
????l?=?sizeof(DWORD);
????if(RegQueryValueEx(sub?keyName?NULL?NULL?(BYTE?*)&(r.right)?&l)?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_top“?name);
????l?=?sizeof(DWORD);
????if(RegQueryValueEx(sub?keyName?NULL?NULL?(BYTE?*)&(r.top)?&l)?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyName?“%s_bottom“?name);
????l?=?sizeof(DWORD);
????if(RegQueryValueEx(sub?keyName?NULL?NULL?(BYTE?*)&(r.bottom)?&l)?!=?ERROR_SUCCESS)
????????return;
????sprintf(keyNam
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????14227??2009-06-15?21:32??ldmicro\ansic.cpp
?????文件???????49174??2009-06-15?21:32??ldmicro\avr.cpp
?????文件????????4859??2009-06-15?21:32??ldmicro\CHANGES.txt
?????文件???????33149??2009-06-15?21:32??ldmicro\circuit.cpp
?????文件????????7645??2009-06-15?21:32??ldmicro\coildialog.cpp
?????文件????????3330??2009-06-15?21:32??ldmicro\commentdialog.cpp
?????文件???????13361??2009-06-15?21:32??ldmicro\compilecommon.cpp
?????文件????????9184??2009-06-15?21:32??ldmicro\confdialog.cpp
?????文件????????6326??2009-06-15?21:32??ldmicro\contactsdialog.cpp
?????文件???????35823??2009-06-15?21:32??ldmicro\COPYING.txt
?????文件???????36143??2009-06-15?21:32??ldmicro\draw.cpp
?????文件???????20611??2009-06-15?21:32??ldmicro\draw_outputdev.cpp
?????文件????????9763??2009-06-15?21:32??ldmicro\helpdialog.cpp
?????文件???????43644??2009-06-15?21:32??ldmicro\intcode.cpp
?????文件????????3246??2009-06-15?21:32??ldmicro\intcode.h
?????文件????????6261??2009-06-15?21:32??ldmicro\INTERNALS.txt
?????文件????????8041??2009-06-15?21:32??ldmicro\interpreted.cpp
?????文件???????30447??2009-06-15?21:32??ldmicro\iolist.cpp
?????文件????????2213??2009-06-15?21:32??ldmicro\lang.cpp
?????文件???????21447??2009-06-15?21:32??ldmicro\lang-de.txt
?????文件???????21398??2009-06-15?21:32??ldmicro\lang-es.txt
?????文件???????21207??2009-06-15?21:32??ldmicro\lang-fr.txt
?????文件???????21252??2009-06-15?21:32??ldmicro\lang-it.txt
?????文件????????1242??2009-06-15?21:32??ldmicro\lang-make.pl
?????文件???????21360??2009-06-15?21:32??ldmicro\lang-pt.txt
?????文件?????????983??2009-06-15?21:32??ldmicro\lang-tables.pl
?????文件???????20428??2009-06-15?21:32??ldmicro\lang-tr.txt
?????文件???????13462??2009-06-15?21:32??ldmicro\ldinterpret.c
?????文件???????37101??2009-06-15?21:32??ldmicro\ldmicro.cpp
?????文件?????????716??2009-06-15?21:32??ldmicro\ldmicro.exe.manifest
?????文件???????24256??2009-06-15?21:32??ldmicro\ldmicro.h
............此處省略51個文件信息
評論
共有 條評論