NXC C programs, Other Subject

Assignment Help:
A description of each function used in the program.

Theree programs:

/* HiTechnic Experimenter''s Kit Program

Experiment - 6 Reaction Time Measurement

This program measures the time taken to press a button switch after an LED is turned on.

(c) HiTechnic 2009

*/
#include "NXCDefs.h"

#define PROTO_PORT IN_1

int currtime;
int deltatime;
int randomtime;
int inputdata;
int outputdata;
int count;
byte cmndbuf[]; // buffer for outbound I2C command
byte respbuf[]; // buffer for inbound I2C response

/* protoboard I/O map
42,43 - A0 input
44,45 - A1 input
46,47 - A2 input
48,49 - A3 input
4A,4B - A4 input
4C - B inputs
4D - B outputs
4E - B controls
*/

void readdata()
{
ArrayInit(cmndbuf, 0, 2); // set the buffer to hold 2 values
cmndbuf[0] = 0x02; // set write to channel
cmndbuf[1] = 0x4C; // to set read address
count=1; // 1 byte to read
I2CBytes(PROTO_PORT, cmndbuf, count, respbuf); // issue I2C write command and read the byte back
inputdata=respbuf[0]&0x03;
}

void writedata()
{
ArrayInit(cmndbuf, 0, 3); // set the buffer to hold 3 values
cmndbuf[0] = 0x02; // set write to channel
cmndbuf[1] = 0x4D; // to set write address
cmndbuf[2] = outputdata; // to set write data
count=0; // no bytes to read
I2CBytes(PROTO_PORT, cmndbuf, count, respbuf); // issue I2C write command and read the byte back
}

task main()
{
SetSensorLowspeed(PROTO_PORT); // set sensor port 1 to low speed serial (I2C)
Wait(100);

ArrayInit(cmndbuf, 0, 3); // set the buffer to hold 3 values
cmndbuf[0] = 0x02; // set write to channel
cmndbuf[1] = 0x4E; // to set write address
cmndbuf[2] = 0x30; // to write 001111
count=0; // no bytes to read
I2CBytes(PROTO_PORT, cmndbuf, count, respbuf); // issue I2C write command
Wait(100);

while (TRUE)
{
outputdata=0;
writedata();
ClearScreen();
TextOut(20, LCD_LINE2, "running");
randomtime=Random(5000)+5000;
Wait(randomtime);

outputdata=0x10;
writedata();
currtime=CurrentTick();

inputdata=0x00;
while(inputdata!=0x01)
{
readdata();
}
deltatime=CurrentTick()-currtime;
ClearScreen();
NumOut(20, LCD_LINE2, deltatime);

inputdata=0x00;
while(inputdata!=0x03)
{
readdata();
}
}
}

Related Discussions:- NXC C programs

Simple b2b connectivity using punchout, Simple B2B Connectivity Using Punch...

Simple B2B Connectivity Using Punchout Now, let's focus on two of the B2B connectivity problems previously mentioned, and illustrated in Figure 1.5. First, let's discuss the su

#comppiler construction, Write semantic rules which convert Octal number to...

Write semantic rules which convert Octal number to decimal number for the following CFG. Also draw & evaluate the parse tree for the string (430507)8 Given CFG

Orthodontic practice, Dr. Tamera Haines is an orthodontist in Lithia Spring...

Dr. Tamera Haines is an orthodontist in Lithia Springs, Georgia, who specializes in providing superior care for adults and children.  She received her Bachelor of Science degree in

Global change, Global change: Global change refers to planetary-scale chan...

Global change: Global change refers to planetary-scale changes in the Earth system. The system consists of the land, oceans, atmosphere, poles, life, the planet's natural cycles a

Hypotheses for factor analysis, Confirmatory factor analysis (model testing...

Confirmatory factor analysis (model testing in structural equation modeling): Variables (usually at least 5) are observable indicators of one or more underlying factors that are

Law, why we study law

why we study law

Selection, tell me points related to the selection topic

tell me points related to the selection topic

Data modeling, Logical Model – Mapped EERD (Map the conceptual model to a l...

Logical Model – Mapped EERD (Map the conceptual model to a logical model using the relevant steps. Carry out normalisation to 3rd normal forms and discuss the progression through

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd