[elektro] C program szervezése? Help

hg12345 hg12345 at freemail.hu
Fri Jun 11 10:43:11 CEST 2010


Nem, a programok jól működnek a alá és felé rendeltségi szintek, biztonsági felügyeletek, callback-ek tökéletesek (remélem ;-)
Nehéz megfogalmazni, ez igen egyszerű szerkezet kívülről, de belül eléggé összetett. pl: http://www.eroelectronic.com/english/functioncontrol.html 

A program írása közben vannak gondok, mivel a sok összefüggés miatt iterációs programozási technikát használok, vagyis alulról-felfelé és felülről-lefelé program építés van attól függően mit lehet megvalósítani. Ezért néha a már leprogramozott "csatoló" függvényekhez is hozzá kell nyúlni, sokszor alapvetően. Esetleg a nevét kell megváltoztatni mert helyette több ilyenre van szükség. Ilyen esetben kéne a visszalépés.

A linker nélküli programozásnál ez nem okozott gondot, mert a fordító minden pozicióban feldobálta a hiányosságokat, de a linker esetén, már a C fordító az első hibás block esetén leáll, miután kijavítodtad, és már elvileg hibátlan a forrás akkor a linker kezd jelezni, de itt már nem ennyire egyértelmű a hiba.


vajk fekete <halaloszto at yahoo.co.uk> írta:
>ha jol ertem, az a problema, hogy a daralas modul ha beszorul a cucc vissza akar hivni az elotolo modulnak, hogy ne tolja az anyagot. ha nincs elotolo modul, akkor szopas van.>
>
ezt oldja meg, hogy a daralo a kontrollernek szol, hogy elotolas alljon meg, aki ha van szol az elotolasnak, ha nincs, akkor jelzi a daralonak, hogy oldja meg maga.>
>
vajk>
>
>
>
>
________________________________>
From: hg12345 <hg12345 at freemail.hu>>
To: elektro at tesla.hu>
Sent: Fri, 11 June, 2010 10:16:11>
Subject: Re: [elektro] C program szervezése? Help>
>
Köszönöm a válaszokat,>
1, a programok mindig ROM területen vannak, a dinamikus kezelés nem járható.>
>
Amit írsz ahhoz hasonló dolog többszörösen van megvalósítva>
- az készülék állítható konfiguráció szerint a program részek más-más feladatokat hajtanak végre, ill. kikapcsolják magukat és az utánuk dolgozó programokat is, ezzel egyűtt a uC lábainak működését is megváltoztathatja is. >
- a fenti állításokkal párhuzamosan a készülék kezelése is megváltozik (MMI vagyis a MENU) és a számítógépes felület regiszter kiosztása (MODBUS), ezek még mindezektől függetlenül is átszervezhető.>
>
A fenti részeknek a technikája adott (ilyen készülékeim már léteznek). >
>
A probléma az ezek írása közben elképzelhető, hogy egy visszalépést kell csinálni a programban, de a legtöbb program modul többszörösen össze van fűzve... Ezért egy modul kivétele után ezer helyen kiabál jogosan a linker.>
>
A program nem nagy, 5-10e sor(talán több)..... 30-50 fordítási egység.>
>
>
>
>
>
vajk fekete <halaloszto at yahoo.co.uk> írta:>
>pl egy primko modszer, ahol van egy control modul, ami minden egyes funkciomodullal tartja a kapcsolatot. a funkciomodulok csak a controlon keresztul tudnak egymassal kommunikalni.>>
>>
uj modul hozzaadasa a funkctiomodul megirasa, es a controlban a hozza kapcsolodo resz elkeszitese. >>
>>
modul kihagyasakor a controlt kell csak modositani.>>
>>
level2 hogy a control magatol rajon hogy adott funkciok hianyoznak, es elore le van benne kodolva mit kell csinalni az egyes funkciok meglete/kihagyasa eseten>>
>>
level3 hogy a control csak egy altalanos celu kommunikacios valami, ami dinamikusan kezeli a modulokat, nem kell modositani uj modul hozzaadasakor.>>
>>
alapszinten a control tartalmaz minden nem opcionalis funkciot, csak azok vannak kulon, amikkel jatszol hogy van vagy nincs.>>
>>
vajk>>
>>
>>
>>
>>
________________________________>>
From: hg12345 <hg12345 at freemail.hu>>>
To: elektro at tesla.hu>>
Sent: Fri, 11 June, 2010 8:57:53>>
Subject: Re: [elektro] C program szervezése? Help>>
>>
Újra írni mindent könnyű :-( >>
>>
Már csak egy kérdés, hogyan lesz a következő változat olyan, hogy bármelyik modul be és kikapcsolása(fordítása) után is működőképes legyen?>>
A technikájára lennék kiváncsi! >>
>>
>>
Karoly Kovacs <koka55 at yahoo.com> írta:>>
>Haaat, nagyon nem fogsz orulni annak, amit en most irni>>>
fogok.>>>
En meg a regi iskolaban tanultam (79-ben vegeztem mate->>>
matikuskent), es mi azt tanultuk - es ezzel az azota felgyu->>>
lemlett tapasznyalatom is egybe vag, hogy ilyen esetekben>>>
nem szokott mas segiteni, csak az ecetes ollo.>>>
>>>
Azaz az egeszet ujrairni. :(((>>>
>>>
Nagy melo, sok faradsaggal, sok agyalassal, es meg tobb>>>
anyazassal ("a qrva anyad, eddig mukodtel, most meg nem"),>>>
de ha nem egyedi programrol van szo, hanem valami fontos>>>
cuccrol, akkor - szerintem - csak ez az egyetlen jo megoldas>>>
marad.>>>
>>>
Bocs, hogy koran reggel ilyen rossz hirrel traktallak!>>>
>>>
Karoly>>>
>>>
----------------------------------------------------->>>
"Houston, I am the problem!">>>
>>>
>>>
>>>
----- Original Message ---->>>
> From: hg12345 <hg12345 at freemail.hu>>>>
> To: elektro <elektro at tesla.hu>>>>
> Sent: Fri, June 11, 2010 2:09:18 AM>>>
> Subject: [elektro] C program szervezése? Help>>>
> >>>
> C kód csoportok szervezése...>>>
>>>
Elég sokáig nem linkelt programokat irtam, >>>
> itt kicsit>>>
egyszerűbb volt a program szervezése.>>>
>>>
Valószínüleg nem >>>
> megfelelően csoportosítottam a programot>>>
(kódot), mert elértem egy olyan >>>
> szintet, hogy kód>>>
csoportott már nem tudok kivenni a >>>
> programból...>>>
>>>
Ésszerűen hogyan kell csinálni?>>>
>>>
A program egy >>>
> szokványos uC-re épülő önnálló müködésű eszköz>>>
kódja, nem használ külső >>>
> lib-ket kivéve a C egész>>>
arithmetikai könyvtárait. Igyekeztem minden egységet >>>
> külön>>>
programozni és ezeket linkve felépíteni a rendszert. A>>>
blokkok >>>
> közötti kapcsolatok mostanra olyan szövevényesek>>>
lettek, hogy egy függvény >>>
> lecserélése is problémás.>>>
>>>
a block felépítése:>>>
block belső definició >>>
> header>>>
block külső definició header>>>
blockban használt "extern" >>>
> headerek>>>
global és static változók definiciója>>>
>>>
block rendszer >>>
> programok>>>
block öröklödési programok>>>
block müködtető programja>>>
>>>
A >>>
> legnehezebben kezelhető részek az öröklödés (ez több>>>
blokkon is átnyúlik), >>>
> program végrehajtás ütemező és a>>>
készülék felügyelet.>>>
>>>
Nem találok erre >>>
> irodalmat, tapasztalatom mint látszik kevés :-)>>>
>>>
Remélem vannak bejáratott >>>
> megoldások....>>>
>>>
>>>
----------------------------------------->>>
  >>>
>         elektro[-flame|-etc]>>>
>>>
>>>
      >>>
>>>
----------------------------------------->>>
          elektro[-flame|-etc]>>
>>
----------------------------------------->>
          elektro[-flame|-etc]>>
>>
>>
>>
      >>
----------------------------------------->>
          elektro[-flame|-etc]>
>
----------------------------------------->
          elektro[-flame|-etc]>
>
>
>
      >
----------------------------------------->
          elektro[-flame|-etc]



More information about the Elektro mailing list