Programozás

Szakszavak

kidekódolni
kioutsource-olni
kidebuggolni
megreview-zni
kioptimalizálni
szétdivergál
kiexportálni
meg reverse engineering-eltük
kitesztel
megupdate-elni
felprocesszálva
megdefiniál
kituningoljuk
bedegradál
update-eltebb
autosár-osítottuk
beupdate-el
elbranch-el
cancel-lálódott
alulléptük (túlléptük ellentéte)
össze tudod relate-elni?
highlight-oltam
layer-elt
mux-olja
ausgecsukt (ki van zárva)

15-szegmenses vákuum fluoreszcens kijelző (VFD) vezérlése

Egy SANYO DVD-DX60 típusú lejátszó vákuum fluoreszcens kijelzőjét vezéreltem ATmega324P mikrovezérlővel:

Qt Creator IDE

A Qt Creator fejlsztői környezet (IDE) nagyon jól használható. Működik benne a definíciók, deklarációk, prototípusok megkeresése is (a Visual Studio 2010-el ellentétben). Van benne egészen jól működő VIM emulátor is. De haladó VIM felhasználók hiányolni fogják belőle például a Ctrl-X módot.

STM32F103 Linux alatt OpenOCD-vel

Az OpenOCD 0.5.0-s verziójával így kapcsolódhatunk az STM32F103-as mikrovezérlőhöz:
Az openocd.cfg fájl tartalma (a JTAG interface nálam ARM-USB-OCD):

source [find interface/olimex-arm-usb-ocd.cfg]
source [find target/stm32f1x.cfg]
gdb_memory_map enable
gdb_flash_program enable
telnet_port 4444

Az alábbi parancsot futtassuk:

Programozási feladatok

Programozást tanulóknak érdekes feladatok:
http://fi.inf.elte.hu/adatszerkezet/implementalas/feladatok.html
http://code.google.com/codejam/contests.html

Ha egy programnyelvet tanulunk és olvassuk a könyvet nem feltétlenül ragad meg minden információ. Érdemes a gyakorlatban kipróbálni, hogy tényleg tudjuk-e használni a nyelvet.

Atmel AVR és MSP430 kódméret

C-ben írtam egy 4 digites kijelzővezérlő programot először ATtiny26L MCU-ra, majd miután az "megtelt", portoltam MSP430F1132 MCU-ra. A forráskód majdhogynem ugyanaz volt, de a program AVR-en 1930 byte volt, MSP430-on pedig 1144 byte. Úgy tűnik az MSP430 fordítója/utasításkészlete sokkal kisebb kódot eredményez!

Visual Studio (VS2008) hibái

Eddig a Makefile-ok (és hasonló build rendszerek) boldog világában éltem. De most Visual Studio-t kell használnom.
Ezek a legbosszantóbb hibák amikkel szembesültem és nem sikerült megoldást találni:

mspgcc hiba

Az mspgcc a következő hibát dobta, amikor megpróbáltam lefordítani a programom:

Binary diff (bdiff)

Bináris fájl összehasonlító PERL-ben

Még 2003-ban írtam ezt a programot, most csak egy kicsit kiegészítettem. Két bináris fájlt hasonlít össze, csak a különbségeket írja ki. Nem veszi észre, ha a két fájlban elcsúsztak bájtok. Itt tölthető le: bdiff. Hasznos lehet még a bcat is.

Tűz effekt DOS alatt BAPC-ben

Egy újabb programom az archívumból szintén 1998-ból: tűz effektek, amit BAPC (BAP, BasPasC) nyelven írtam. A BAPC egy assembly-szerű nyelv, ami BASIC, Pascal és C elemeket is tartalmaz. Elég tömör programokat lehetett benne írni, a futtatható tűz effektek 250-400 bájt (BYTE) helyet foglalnak. A tűz effekt:

A legjobb a fire5b 1:24-től látható.

Animáció DOS alatt assembly-ben

Megtaláltam egy régi assembly programomat, amit 1998-ban írtam. Egy álló háttér (ami a Terminátor) előtt elzúg egy légy.

Az assembly forrás letölthető itt. Dosbox alatt futtatható.

cygwin + vim + omnicppcomplete + ctags + Qt4

A QT4 -es osztályok kiegészítéséhez a következő paranccsal lehet létrehozni a "tags" fájlt:

ctags -VR --sort=yes --c++-kinds=+pl --fields=+iaS --extra=+qf --languages=c++ --langmap=c++:.C.c.H.h.cpp.hpp.cc -f /cygdrive/c/vim/vimfiles/tags/qt4 c:/Qt/4.7.0-64/include c:/Qt/4.7.0-64/src/

Qfsm - Állapotgép tervező program

A Qfsm állapotgépek tervezéséhez használható grafikus program. Működik Linux és Windows alatt is. EPS-t (Encapsulated PostScript) és PNG-t is tud exportálni.
Itt egy kis próba, amit PNG-ként mentettem el:
Qfsm próba

Szakdolgozat: A Microchip TCP/IP Stack implementációjának alkalmazása a gyakorlatban

2004-ben írtam a szakdolgozatomat LaTeX -ben. Egy soros-ethernet általakítót készítettem a Microchip TCP/IP tack-jének (AN833) és egy PIConNET nevezetű kártya segítségével. Ez utóbbi a ChipCad Kft. terméke (volt?). A dokumentum és a hozzá tartozó CD itt tölthető le. Az ISO fájlban forráskódok, adatlapok és a TeX forrás van.

C érdekességek

Ritkán ill. gyakorlatilag sohasem használjuk az alábbi lehetőségeket C-ben:
- az indexelő operátor szimmetrikus
- a függvények egymásba ágyazhatók
- vessző operátor (nem függvény paraméterátadáskori) használata

Az alábbi kód ANSI C fordítóval fordítható:

Tartalom átvétel