Poprzedni temat «» Następny temat
Zna ktoś dobrze C lub Delphi ?
Autor Wiadomość
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2010-03-24, 19:11   Zna ktoś dobrze C lub Delphi ?

Witam kolegów, otóż mam pytanie czy ktoś z was zna się na tyle dobrze na pisaniu aplikacji do WINa w C lub Delphi, aby był w stanie przenieść program z DOSa do środowiska WIN.
Chodzi mi konkretnie o przeniesienie oprogramowania dla programatora AVRX. Tak tego równoległego wysoko napięciowego na LPT. Oryginał chyba jest w C.
ktoś powie po co mi to ? Już odpowiadam.
Otóż notoryczny niedobór na rynku dobrego programatora AVR, szczególnie takiego który pozwala odblokowywać procesory, skłonił mnie do budowy AVRX, ale nieco zmodyfikowanego, otóż da się zbudować programator w miarę uniwersalny, dla sporej grupy procesorów AVR, (Jedna podstawka dla 8515 <> 8535 w tym M16/31/162 oraz TINY2313<>TINY26 + złącze goldpin20 dla przystawek dla M8 i 8pinowych TINY). Wymaga to właściwie zastosowania paru przekaźników AZ850 i multiplekserów 4053 do sterowania sygnałami podstawek.
Ale niestety wadą AVRX jest niestety niewygodne oprogramowanie dla DOS, lub WIN, ale obsługiwane z linii komend.
 
 
     
alaris
[miejsce na reklame]


Dołączył: 21 Lut 2006
Posty: 487
Skąd: Gorzow/Poznan
Wysłany: 2010-03-24, 19:52   

Cytat:
Otóż notoryczny niedobór na rynku dobrego programatora AVR, szczególnie takiego który pozwala odblokowywać procesory

Rozumiem, że programatory za ~200pln Cie nie interesują? Gdyby było inaczej, kup AVR Dragona. Działa nawet (u mnie) pod win7 na 64-bitach. Debugger w prezencie :wink:
Kombinacja AVR Studio + AVR Dragon + WinAVR (C++) to coś, co bardzo mocno polubiłem.
 
     
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2010-03-24, 20:17   

No akurat C na AVRy nie jest moją mocną stroną. AVR Dragona kiedyś rozważałem, ale to tez nie jest do końca kompletne rozwiązanie, samemu i tak trzeba sobie lutować to i owo na płytce, no i cena 245zł.
Sądzę że w miarę prosty i funkcjonalny programator równoległy da się zrobić, jakoś dla 51' się dało swego czasu. Ale obecnie jest taki trend, aby mydlić oczy wszelkiego rodzaju rezurektorami i innymi półrozwiązaniami. Jednak ja już powoli mam dosyć 3-4 płytek w szufladzie, które i tak często nie mają tego czy owego, a każda i tak kosztuje 30-50 zł. zważywszy że AVRX składa się właściwie z 3 tanich scalaków, to po dodaniu 2-3 przekaźników, i z nawet 6 4053, koszt i tak nie powinien wzrosnąć jakoś tragicznie, a powstanie już całkiem przyjazny układ.
 
 
     
c4r0 
[usunięty]



Wiek: 30
Dołączył: 13 Kwi 2004
Posty: 1956
Skąd: z lasu
Wysłany: 2010-03-24, 21:55   

A masz źródło tego programu pod dosa? Nie wiem co on tak właściwie robi ale jedyne co mi przychodzi do głowy, co może nie działać pod windowsa (pod dosa nigdy nie programowałem) to dostęp bezpośredni do portu LPT. Może wystarczy podmienić używane tam funkcje dostępu na funkcje jakiejś biblioteki, np. DLportIO?
 
     
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2010-03-25, 16:46   

Są źródła. Przykładowy fragment:
Kod:
/*-----------------------------------------------------------------------*/
/*  Hardware control functions for AVRPP  R0.34                          */
/*-----------------------------------------------------------------------*/

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include "avrpp.h"
#include "hwctrl.h"



/*----------------------------------------------------------------------
  Control Variables
----------------------------------------------------------------------*/

static PORTPROP *CtrlPort;
static BYTE RegDat, RegCtl;
static WORD PortBase;


#define IODLY(dly)    for(d = dly; d > 0; d--) _inp(PortBase)
#define LPT_DAT    (WORD)(PortBase + L_DAT)
#define LPT_STA    (WORD)(PortBase + L_STA)
#define LPT_CTL    (WORD)(PortBase + L_CTL)


/*----------------------------------------------------------------------
  Control Functions
----------------------------------------------------------------------*/


/* Initialize GIVEIO */

static int init_driver () {
    int ls = 0;
    HANDLE hdev;
    SC_HANDLE hsc, hsv;
    char filepath[_MAX_PATH], *cp;
    BOOL res;


    while (1) {
        ls++;

        if(ls >= 4) return (-1);

        if(ls >= 3) {    /* Register GIVEIO.SYS to the SCM database */
            if(SearchPath(NULL, "giveio.sys", NULL, sizeof(filepath), filepath, &cp) == 0) continue;
            if((hsc = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) != NULL) {
                if((hsv = CreateService(hsc,
                                        "giveio", "giveio",
                                        SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE,
                                        filepath,
                                        NULL, NULL, NULL, NULL, NULL)) != NULL) {
                    CloseServiceHandle(hsv);
                } else {
                    if((hsv = OpenService(hsc, "giveio", SERVICE_ALL_ACCESS)) != NULL) {
                        DeleteService(hsv);
                        CloseServiceHandle(hsv);
                        hsv = NULL;
                    }
                }
                CloseServiceHandle(hsc);
            }
            if((hsc == NULL) || (hsv == NULL)) continue;
        }

Aha jest wersja WIN, ale działa z konsoli, a nie z okienek i to jest ten bul.
 
 
     
PrzemekM72 
Nowy na forum


Dołączył: 11 Sty 2010
Posty: 2
Skąd: Katowice, Żory
Wysłany: 2010-03-25, 20:43   

kayron napisał/a:

Aha jest wersja WIN, ale działa z konsoli, a nie z okienek i to jest ten bul.

To nie lepiej jakąś nakładkę popełnić?
 
     
c4r0 
[usunięty]



Wiek: 30
Dołączył: 13 Kwi 2004
Posty: 1956
Skąd: z lasu
Wysłany: 2010-03-25, 20:58   

No właśnie, jak jest wersja na windowsa to po co kombinować? A co w tym za ból że to konsolowy program, przecież chyba tylko wgrywa zawartość pamięci do układu :neutral:
 
     
alaris
[miejsce na reklame]


Dołączył: 21 Lut 2006
Posty: 487
Skąd: Gorzow/Poznan
Wysłany: 2010-03-25, 21:18   

kayron napisał/a:
Aha jest wersja WIN, ale działa z konsoli, a nie z okienek i to jest ten bol.

Uwierz mi, to zaleta. Wystarczy napisać prosty skrypt w pliku *.bat, aby programować jednym kliknięciem. Inna sprawa, że niektóre narzędzia (np. Programmers Notepad dodawany do WinAVR) umożliwia podczepienie takich skryptów i możesz scalak zaprogramować jednym przyciskiem.
 
     
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2010-03-25, 21:32   

Hm.. nakładka klasy NC jak najbardziej by mi pasowała. Oczywiście można pisać skrypty, ale mi nie chodzi tylko o samo programowanie CPU, ale także o możliwości łatwego i przede wszystkim czytelnego podglądu fusów (oryginał ma, ale na zasadzie generowania pliku TXT), no i można by dodać funkcję "Rezurekszyn" :mrgreen: z wyborem opcji dodatkowych jak czyść FLASH i EEPROM (tego akurat oryginalnie nie ma).
PS. powoli kreślę schemat takiego uniwersalnego AVRXa, ale obawiam się że ograniczenie EAGLA co do rozmiarów PCB może stanowić pewne problemy. Ciężko będzie zmieścić 2 podstawki ZIF (40 i 20 bo do M8 i TINY13/25 przelotka) 4 przekaźniki i 10-12 scalaków (chyba że zapszegnę do tego CPLD :?: ).
No chyba że pewną pomocą przyjdzie EDW i AVT, w końcu nie pogardził bym dobrym programatorem AVR w ofercie KITów.
A możecie mi dać namiary na jakieś darmowe C lub Delphi na którym można by stworzyć program do WIN XP. Kiedyś tam miałem jakieś programowanie w C i PASCALu, może i dam rade coś sklecić sam.
 
 
     
PrzemekM72 
Nowy na forum


Dołączył: 11 Sty 2010
Posty: 2
Skąd: Katowice, Żory
Wysłany: 2010-03-28, 19:56   

Darmowe C++
 
     
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2010-07-17, 09:28   

Ponieważ sprawa dotyczy i tak programowania w C, to nie będę zakładał nowego tematu tylko podepnę obecny problem pod już istniejący.
Sprawa dotyczy softu do urządzonka z zdjęcia, czyli programatora GALBlast który wreszcie skończyłem.
Otóż oryginalny program został napisany chyba jeszcze pod WIN3.11 bo dziś przy kolejnej próbie stwierdzenia co jest grane nie tak, pojawił sie komunika że aplikacja jest 16-bitowa.
Otóż tak wybierając opcje "Setup" powinna się zapalić czerwona dioda (linia INIT portu LPT powinna przejść w stan Niski) która sygnalizuje podanie napięcia zasilania na podstawki oraz napięcia programowania, które należy zmierzyć miedzy masą a końcówką nr 2 podstawek programujących.
Niestety, nic takiego się nie dzieje :?: :sad:
Układ od strony elektrycznej jest sprawny, port LPT też. Podejrzewam że jest to wina leciwego oprogramowania pod Windows, które nie obsługuje prawidłowo portu LPT, w XP.
W archiwum programu GALBlast jest kod źródłowy w C (3 pliki), dla tego mam pytanie do kolegów którzy piszą właśnie w C aplikacje pod Windowsy.
Czy można skompilować taki program w nowszej wersji C do nowych okienek aby działał prawidłowo na nowszych systemach M$ ?
Tylko prosił bym o deklaracje czy ktoś to umie zrobić, a nie o linki do kompilatorów C, bo i tak sam nie jestem tego w stanie zrobić. Chętnie podeśle kod źródłowy.
Edit.
PS. Rozwiązałem częściowo problem w WIN XP, używając programu USER Port, ale i tak program działa trochę niestabilnie, jednak dobrze było by to skompilować w nowszym C++. Oryginał był pisany pod WIN3.11/95 na Borland C++ ver. 3.4 lub 4.5. Ja mam 6.0, ale nie da się w nim otworzyć plików projektu.

GalBlast.jpg
Plik ściągnięto 511 raz(y) 191,29 KB

 
 
     
Doktor_UC
Nowy na forum


Dołączył: 07 Cze 2010
Posty: 13
Skąd: Częstochowa
Wysłany: 2010-07-19, 08:15   

Chętnie rzucę na to okiem. Mam wakacje i między innymi w ramach wakacyjnego wypoczynku udzielam się na tym forum. Zostały mi jeszcze dwa tygodnie odpoczynku, zanim rzucę się w wir nowej książki, może zdążymy coś podziałać. Ale nie wiem, czy będą odpowiadały Ci moje narzędzia - programuję w czystym WinAPI z wykorzystaniem środowiska Dev-C++.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,08 sekundy. Zapytań do SQL: 13