FirmenLogo
Home

Layout

3D-Druck

Reprofilme

Grafik/DTP

Leiterplatten

Hardware

Software
Codeschnippsel

Bildarchiv

Preisliste

Links

Impressum

Codeschnippsel

Inhalt:

Allgemeines

PowerBasicWin & PowerBasicCC

Purebasic

Dies und Das

In-/Out Hardwarezugriff unter 32Bit-Windows NT/2000/XP/7 und ohne DLLs

Bis Win98 werden In- und Out-Befehle ganz normal bearbeitet, ab Windows XP geht das durch die höhere Sicherheitsstufe nicht mehr. Abhilfe schafft hier das kleine Tool (Freeware) von Tomas Franzon, das hier gespiegelt ist: UserPort 2.0 als ZIP. Damit kann man gezielt einzelne Ports – etwa die Adressen des parallen Ports (so man noch glücklicher Besitzer eines Rechners mit par. Schnittstelle ist) freischalten. Das Tool verrichtet auch auf Win7/32Bit seine Arbeit !



So sieht der typische und funktionierende Assemblercode in Powerbasic nach dem Freischalten der Ports aus.

PonyProg unter Win7/32 Bit – Ja, es geht !

Für PonyProg zum AVR-Proggen musste man – wollte man einen parallelen Progger benutzen –  immer noch mit XP arbeiten. Aber es geht auch mit dem neueren 32Bit-OS wie Win7!

Wichtig für die Funktion von PonyProg mit par. Programmer zusätzlich zu Userport.exe/Sys (siehe oben) ist eine funktionierende Kombination DLPORTIO.DLL/SYS im Windows-System. Sonst bekam man im Setup vom Pony bei Wahl des par. Proggers unter der AVR-ISP-I/O-Schnittstelle einen Warnhinweis.

Nach einiger Recherche im WWW gibt es eine Lösung!
Auf XP und Win7/32Bit (nicht Win10 bzw. nicht auf 64Bit-Systemen), sind nach einer frischen Installation die folgenden beiden Dateien schon vorhanden. Die Dateien sind auf XP und Win7 sogar gleich. Laut WWW soll XP zwar nicht darauf angewiesen sein, offenbar Win7 aber schon.

Dateibeschreibung: DriverLINX Port I/O DLL
in: C:\Windows\System32\DLPORTIO.DLL
Änderungsdatum: Donnerstag, 29. Juni 2000, 17:24:14
        34,0 KB (34.816 Bytes) Größe
        36,0 KB (36.864 Bytes) Größe auf Datenträger

Dateibeschreibung: keine
in: C:\Windows\System32\drivers\DLPORTIO.SYS
Änderungsdatum: Donnerstag, 29. Juni 2000, 17:24:14
        3,50 KB (3.584 Bytes) Größe
        4,00 KB (4.096 Bytes) Größe auf Datenträger

Auszug aus der Registry VOR der Änderung:

 

Nach dem Ändern des Startwertes auf 1 ging der par. Progger unterm Pony auf Win7!! Nur den Startwert ändern, sonst nix !!! Die anderen Einträge können unter einem anderen System auch anders lauten.

Wichtig: Wer in der Registry mit REGEDIT rummacht, muss wissen was er tut. Also vorher Backup machen! Hier lässt sich sonst zu ziemlich alles kaputt machen!!

Zusätzlich läuft auch noch das Tool „UserPort2.0“ – wie oben beschrieben – auf diesem Rechner. Es ist sowieso für andere Progs nötig, die nah an die Parallelport-Hardware ran müssen. Ob das Pony wirklich darauf angewiesen ist, habe ich nicht extra getestet. Bin froh, dass es überhaupt geht und das Ändern der Registry ohne Absturz belohnt wurde.

PowerBasicWin & PowerBasicCC

Macro vs. Function: Ist nicht das Gleiche

Bei einem Aufruf mit etwa mit:

SIN(DegToRad(45))    'rechnen noch beide gleich.

Ein Aufruf mit Parametern die erst berechnet werden müssen, wie etwa:

SIN(DegToRad(45+30)) 'berechnet die Function richtig

das Macro aber nimmt nur den ersten Parameter

Da das Macro nur für Aufnahme eines Parameters vorbereitet ist und somit nur einen austauscht. Macros werden ja nicht aufgerufen sondern tauschen Textpassagen im Listing aus. Ist ja auch so in der Hilfe beschrieben, aber wenn man es mal vergisst, ist das Staunen groß.

Bit-Kalkulationen in Powerbasic – eine Stärke des Compilers

Keine komplizierten OR-, AND oder XOR-Verknüpfungen nötig. Das Beispiel unten stammt aus einem Eprommer-Programm zum Berechnen der Adressen auf das PinOut der Bausteine.


Bit-Kalkulationen in Purebasic

Ähnliches in Purebasic programmiert. Hier geht das über Pointer genau so gut.
Als Erstes einige Macros, denn ich kann mir die binären Kürzel für XOR, AND NOT.. nie so richtig merken. Eigentlich nur das OR mit |, weil man das so oft braucht.


 
 

Dies und Das

Der Josefs-Cent – eine Zinseszins-Veranschaulichung.

Unglaublich aber wahr ! Wo war doch gleich das Sparbuch meiner Vorfahren ;-)