Kontera

Wednesday, December 23, 2009

Sending Email with ASP.NET - The quickest way





















What actually happens in the script?
The complete email support resides in the System.Web.Mail namespace. In this namespace we find the class SmtpMail, whose static Send method can accept four parameters:

SmtpMail.Send(From, To, Subject, BodyText);

Tuesday, December 22, 2009

Good Programming Practices

Documentation

Comment your code such that it is clear what you code does. You should be able to figure out your code years after its written .A good programmer should be able to figure out what your code does from your comments.

Your code should be well formatted

 • Use Tabs to indent:
Use tabs to indent; don’t use spaces. The problem with the spaces is that nobody ever uses same number of spaces for indentation even with in the same file. Some people use two spaces, some use four spaces. Manually adding spaces is very difficult. So it is better to use tab instead of space.

• Add proper Comments
Comments are the most important part of your code. Add comment to your code in simple English. There are different types of comments;

     Comments put in page header













This will help to find who creates the page, when etc.

 o Comments the methods you write

  •  A description of what the procedure does
  • Type of arguments -> type of return value
  • Constraints that need to be satisfied by arguments (requires clause)
/**

* Gets value for permission
*
* @return the permission
*/
public int getPermission() {
return permission;
}

• Compound Statements must in a well structured form

































Use good naming conventions


Look at the program, did you understand anything? So it is better to use good naming conventions.



Use Global variables sparingly

Use global variables carefully otherwise it will damage your code.

Provide useful error messages

You should provide a user-friendly error message while simultaneously logging a programmer-friendly message with enough information that they can investigate the cause of the error.

Let's recap the general rules:

• Always use braces to delimit blocks, even—nay, especially—one-line blocks
• Use tabs (not spaces) for indenting
• Comment every block
• Comments that apply to a single line should go at the end of that line
• Try to end comments with periods (or other appropriate punctuation)
• Use braces around every block, even one-line blocks


















Friday, December 4, 2009

THE 8255 PROGRAMMABLE PERIPHERAL INTERFACE

The 8255 is a widely used, programmable, parallel I/O device.

• It can be programmed to transfer data under various conditions, from simple I/O to interrupt I/O.
• It is flexible, versatile and economical and complex.

The 8255 has 24 I/O pins that can be grouped primarily into two 8 bit parallel ports: A and B, with the remaining 8 bits a port C. The 8 bits of port C can be used as individual bits or be grouped in two 4-bit ports: CUPPER (CU) and CLOWER (CL), as shown in the figure 1.1. The functions of these ports are defined by writing a control word in the control register.

Figure 1.2 shows all the functions of 8255; classified according to two modes: the Bit Set/Reset (BSR) mode and I/O mode. The BSR mode is used to set or reset the bits in port C. The I/O mode is further divided into three modes: Mode 0, Mode 1 and Mode 2. In Mode 0, all ports function as simple I/O ports. Mode 1 is a hand shake mode whereby Ports A and/or B use bits from port C as handshake signals. In Mode 2 Port A can be set up for bidirectional data transfer using handshaking signals from Port C, and Port B can be set up either in Mode 0 or Mode 1.

Block Diagram of the 8255
CONTROL LOGIC

(Read): This control signal enables the Read operation. When the signal is low, the MPU reads data fro a selected I/O Port of the 8255.


(Write): This control signal enables the write operation. When the signal goes low, MPU writes into a selected I/O Port or control register.

RESET     (Reset): This is an active high signal; it clears the control register and sets all ports in the input      mode.

, A0 and A1: Theses are device select signals. Chip Select is connected to a decoded address, and A0 and A1 are generally connected to MPU address lines A0 and A1 respectively

CONTROL WORD
Figure 1.5 shows a register called the control register. The contents of this register called control word. This register can be accessed to write a control word when A0 and A1 are at logic 1. This control register is not accessible for a read operation.
     Bit D7 of the control register specifies either I/O function or the Bit Set/Reset function. If bit D7=1, bits D6-D0 determines I/O functions in various modes. If bit D7=0, Port C operates in the Bit Set/Reset (BSR) mode. The BSR control word does not affect the functions of Port A and Port B.
To communicate with peripherals through the 8255, three steps are necessary:


1. Determine the address of ports A, B and C and of the control register according to the chip select logic and address lines A0 andA1.

2. Write the control word in the control register.

3. Write I/O instructions to communicate with peripherals through Ports A, B and C.

Operating Modes
 
Mode 0: Simple Input or Output

In this mode, ports A, B are used as two simple 8-bit I/O ports and port C as two 4-bit ports. Each port can be programmed to function as simply an input port or an output port. The input/output features in Mode 0 are as follows.


1. Outputs are latched.

2. Inputs are not latched.

3. Ports don’t have handshake or interrupt capability.

Mode 1: Input or Output with Handshake
 
In this mode, handshake signals are exchanged between the MPU and peripherals prior to data transfer. The features of the mode include the following:


1. Two ports (A and B) function as 8-bit I/O ports. They can be configured as either as input or output ports.

2. Each port uses three lines from ort C as handshake signals. The remaining two lines of Port C can be used for simple I/O operations.

3. Input and Output data are latched.

4. Interrupt logic is supported.

Mode 2: Bidirectional Data Transfer

This mode is used primarily in applications such as data transfer between two computers. In this mode, Port A can be configured as the bidirectional port and Port B either in Mode 0 or Mode 1. Port A uses five signals from Port C as handshake signals for data transfer. The remaining three signals from port C can be used either as simple I/O or as handshake for port B.

BSR (Bit Set/Reset) Mode

The BSR mode is concerned only with the eight bits of port C, which can be set or reset by writing an appropriate control word in the control register. A control word with bit D7 =0 is recognized as a BSR control word, and it does not alter any previously transmitted control word with bit D7=1; thus the I/O operations of ports A and B are not affected by a BSR control word. In BSR mode, individual bits of port C can be used for applications such as an on/off switch. Ports A and B are not affected by the BSR Mode.

BSR CONTROL WORD


This control word, when written in the control register, sets or resets one bit at a time,