Welcome!
cool Welcome PIC fans!
(to Pascal language fans too!)
Documents

Close Documentation

Close How to support PMP

Close Manuals

Close Today's favourites

Technical

Close Tips

Search




Downloads
Google

Tips - I/O direction
How to program outputs?

Just remember that a pin is an input if the corresponding bit in the associated TRISx register is set.
PMP has no specifiec built-in instruction for manipulating such register, simply affect a value directly to the register.

An example with TRISB:

TRISB := $­­­­­0F; // PORTB 0..3 as inputs, 4..7 as outputs
PORTB := $­­­­­F0; // set PORTB 4..7 high
TRISB.0 := false; // PORTB.0 as output, immediately set low (PORTB.0 was 0)
// Remember that every output pin has a latch even if it is set as an input, the latch works...

Manipulating the TRISx bit is a way to do fast 0 output with an external pullup (ofen used in bidirectional i/o such as I2C).

Another example with the full PMP syntax possibilities:

program test;
var
MyInputPin1 : boolean @PORTB.1;
MyInputPin2 : boolean @PORTB.4;
MyOutputPin1 : boolean @PORTB.2;
begin
TRISB := [MyInputPin1, MyInputPin1]; // set mask to pins that are inputs
MyOutputPin1 := MyInputPin1 or MyInputPin2;
end.

Help! There is no TRISx in my device!

For old and small devices that had no TRISx register, PMP (V1.05 and later) provides a special built-in procedure TRIS(Port, Mask) that maps to the TRISx register if it exists or to a TRIS instruction otherwise. The problem with TRIS instruction (of such device in fact) is that it is write only, you cannot read what is the current mask.

Creation date : 2007.06.22 7:37 PM
Last update : 2008.12.23 5:26 PM
Category : Tips
Page read 3687 times


Print the article Print the article


react.gifReactions to this article

Nobody gave a comment yet.
Be the first one to do it!


Connection...
 
Members List Members : 90

members Visits of the day: (1) PPA   

Your Username:

Password:

[ Password lost ? ]


[ Join us ]


  Member online:
  Anonymous online: 7

Total visits Total visits: 137459  

Most ever online
Most ever onlineTotal: 43

The 04/11/2009 @ 08:33


Webmaster - Infos

Ip: 38.107.191.102

Search




Friends News
Support PMP

Sentence to think about :     
^ Top ^