Hello everyone,
I found a program on the net that lets me set parallel port pins hi/low. I modified it to my needs and it works fine. The problem came when I bought another parallel port , it was a pci card and the addressing is different. Instead of 378, I have E000. I tried to change parts of the code to match my new addresses but I can't find the ports now. Does anyone know why?
Below is the original working code, you will need inpout32.dll to play with it. Any takers?
using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Threading;using System.Timers;using System.Runtime.InteropServices;
namespace Led{ /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { private System.ComponentModel.IContainer components; private System.Windows.Forms.TextBox textBox_port_adress; private System.Windows.Forms.Button button_Address; public int i = 0, j = 0, b = 1, adress = 888;
public Form1() { // // Required for Windows Form Designer support //
InitializeComponent(); // Reset_LEDs(); // Resets everything after form initialization // // TODO: Add any constructor code after InitializeComponent call // }
/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); }
#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.textBox_port_adress = new System.Windows.Forms.TextBox(); this.button_Address = new System.Windows.Forms.Button(); this.button6 = new System.Windows.Forms.Button(); this.button7 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // textBox_port_adress // this.textBox_port_adress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_port_adress.Location = new System.Drawing.Point(8, 83); this.textBox_port_adress.Name = "textBox_port_adress"; this.textBox_port_adress.Size = new System.Drawing.Size(33, 20); this.textBox_port_adress.TabIndex = 22; this.textBox_port_adress.Text = "378"; // // button_Address // this.button_Address.FlatAppearance.BorderSize = 0; this.button_Address.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.button_Address.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.button_Address.Location = new System.Drawing.Point(44, 73); this.button_Address.Margin = new System.Windows.Forms.Padding(0); this.button_Address.Name = "button_Address"; this.button_Address.Size = new System.Drawing.Size(41, 41); this.button_Address.TabIndex = 23; this.button_Address.Text = "Apply Address"; this.button_Address.Click += new System.EventHandler(this.button_Address_Click); // // button6 // this.button6.Location = new System.Drawing.Point(136, 55); this.button6.Name = "button6"; this.button6.Size = new System.Drawing.Size(32, 23); this.button6.TabIndex = 38; this.button6.Text = "UP"; this.button6.UseVisualStyleBackColor = true; this.button6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.UP_start); this.button6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.UP_stop); // // button7 // this.button7.Location = new System.Drawing.Point(136, 103); this.button7.Name = "button7"; this.button7.Size = new System.Drawing.Size(33, 23); this.button7.TabIndex = 39; this.button7.Text = "DN"; this.button7.UseVisualStyleBackColor = true; this.button7.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DN_start); this.button7.MouseUp += new System.Windows.Forms.MouseEventHandler(this.DN_stop); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(211, 199); this.Controls.Add(this.button7); this.Controls.Add(this.button6); this.Controls.Add(this.button_Address); this.Controls.Add(this.textBox_port_adress); this.MaximizeBox = false; this.Name = "Form1"; this.Text = "Controlling LEDs with Parallel Port"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); this.PerformLayout();
} #endregion
/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }
private void button_Address_Click(object sender, System.EventArgs e) //Sets the parallel port address for the program to run { if (this.textBox_port_adress.Text == "378") adress = 888; else adress = 632; } public class PortAccess { [DllImport("inpout32.dll", EntryPoint = "Out32")] public static extern void Output(int adress, int value); }
private void Form1_Load(object sender, EventArgs e) {
} private Button button6; private Button button7;
private void UP_start(object sender, MouseEventArgs e) { PortAccess.Output(adress, 223); }
private void UP_stop(object sender, MouseEventArgs e) { PortAccess.Output(adress, 255); }
private void DN_start(object sender, MouseEventArgs e) { PortAccess.Output(adress, 191); }
private void DN_stop(object sender, MouseEventArgs e) { PortAccess.Output(adress, 255); } }
}