STRUCTURE DATA TYPE EXAMPLE |
//Following is an example of placing
a structure on an I/O port int rw : 1; int cd : 1; int enable : 1;
int reset : 1;
STRUCT port_b_layout port_b;
STRUCT port_b_layout CONST INIT_2 = { 3,1,1,1,0}; STRUCT port_b_layout CONST INIT_3 = { 0,0,0,0,0}; STRUCT port_b_layout CONST FOR_SEND = { 0,0,0,0,0}; // Data is all outputs STRUCT port_b_layout CONST FOR_READ = {15,0,0,0,0}; // Data is all inputs
VOID main(VOID) { int x;
//This constant structure is treated
like a byte and is used to set the data direction port_b = INIT_1; delay_us(25); port_b = INIT_2;
delay_us(25);
set_tris_b((int)FOR_READ);
port_b.cd=1; port_b.enable=0; x = port_b.data; port_b.enable=0 }
|