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

What is meant by communication, Question: (a) What is meant by comm...

Question: (a) What is meant by communication? (b) Describe the difference between formal and informal communication in a business context. Give examples to illustrate y

Transaction steps in credit cards, The flow of money and  information betwe...

The flow of money and  information between these parties - forever via  the card relations - is known as the substitution, and it consists of a few steps. TRANSACTION STEPS

HVAC Testing, how do I download flash cards for this course

how do I download flash cards for this course

Malnutrition, Graphically present economic consequences and economic evalua...

Graphically present economic consequences and economic evaluation of malnutrition

Liver in digestion process, The liver is a large organ that plays a central...

The liver is a large organ that plays a central role in digestion. All blood carrying nutrients from the digestive tract is channeled through the hepatic portal vein to the liver,

Learning theory, how to write a reflection of doing the assignment?

how to write a reflection of doing the assignment?

Explain Conditional selection, Explain Conditional selection. Conditio...

Explain Conditional selection. Conditional selection: While a marker is instructed to establish a connection from a specified incoming trunk to a specified outgoing trunk, it

Bogus clients, Question: a) Explain the 10 warning signs which woul...

Question: a) Explain the 10 warning signs which would indicate that attraction feelings towards clients may be putting you or your services at risk. b) What precautions

Classical themes, Classical Themes: A main difference among Italian Renais...

Classical Themes: A main difference among Italian Renaissance art and its predecessor is the alternative of subject matter. While medieval art was completely devoted to religious

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