• 大小: 294KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-23
  • 语言: 其他
  • 标签: PLC  AVR  PIC  

资源简介

开源免费软件,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 < min) *v = min;
    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个文件信息

评论

共有 条评论