====== portInit ====== ''void portInit(u8 portBlockNumber, u8 mode)'' |portBlockNumber: Port Block Number (e.g. 0 for ports 0~7, 1 for ports 10~17, etc...) | |mode: 0 or 1 (0=Output, 1=Input) | Intitializes a port block's I/O mode as either Input or Output. In order to use a port for output, its I/O mode must be changed to Output. Likewise, in order to use a port for input, its I/O mode must be changed to Input. Ports are initialized to Input when the system is first powered on. The MOACON ports' I/O mode can only be set in blocks. The MOACON's ports are organized in blocks of 8. ^Number ^Block 0 (+0) ^Block 1 (+10) ^Block 2 (+20) ^Block 3 (+30) ^Block 4 (+40) ^Block 5(+50)^ |Ports |Ports 0 - 7 |Ports 10 - 17 |Ports 20 - 27 |Ports 30 - 37 |Ports 40 - 47 |Ports 50 - 57| Setting mode to 0 will put the port block in Output mode, and setting mode to 1 will put the port block in Input mode. {{ :moacon:portinit:portinit.png?nolink |}} In the image above there are 3 output modules and 3 input modules. The following code would be used to set the ports' I/O mode for this configuration. portInit(0,0); // Block 0 in Output mode portInit(1,0); // Block 1 in Output mode portInit(2,0); // Block 2 in Output mode portInit(3,1); // Block 3 in Input mode portInit(4,1); // Block 4 in Input mode portInit(5,1); // Block 5 in Input mode Because ports are initialized to Input when the system is first powered on, this code can be reduced to the following: portInit(0,0); // Block 0 in Output mode portInit(1,0); // Block 1 in Output mode portInit(2,0); // Block 2 in Output mode Port blocks 3, 4, and 5 are in Input mode by default. The following program will copy all the outputs read from an input module in slot 0 (DIO +0) to the output module in slot 1 (DIO + 10). #include "moacon500.h" void cmain() { portInit(0, 1); // Input module in slot 0 portInit(1, 0); // Output module in slot 1 while(1) { u8 state = portBlockIn(0); // Read all 8 inputs portBlockOut(1, state); // Copy input state to outputs } } [[MOACON:index#System_Library:|MOACON home]]