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

Biology, When naming the sample sugars,the ending used is what?

When naming the sample sugars,the ending used is what?

What is the creative process in visualization, Question 1 Write a long not...

Question 1 Write a long note on the audience of online media advertising and audience analysis (aspect of timing and aspect of time vs frequency) Question 2 Describe the vari

True or false, #Busing is the practice of school districts sending students...

#Busing is the practice of school districts sending students from one school to another to achieve greater racial balance?

Isa 2000, IS A 2000 On the 18th of March 2001, Microsoft launched ISA ...

IS A 2000 On the 18th of March 2001, Microsoft launched ISA 2000. ISA 2000 begin the Standard and Enterprise version which ISA continues to ship beneath, with Enterprise- grad

Contemporary feminist criticism, Contemporary Feminist Criticism: Sometime...

Contemporary Feminist Criticism: Sometimes referred to as "Third-Wave Feminism," "Postfeminism," or "Revisionary Feminism," contemporary feminist criticism is the historical outgr

Popular latin american culture, Latin American culture is the formal or inf...

Latin American culture is the formal or informal expression of the peoples of Latin America, and includes high culture (literature, high art) and popular culture (music, folk art a

Quick grammar check, You bears are wise creatures aren’t you? May this boo...

You bears are wise creatures aren’t you? May this book bring you as much joy and inspiration as you have me.

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

About saarc, basic information about saarc

basic information about saarc

Explain what is meant by the term polymorphism in java, Question 1: (a)...

Question 1: (a) Write the definition of a class called ‘Point' in Java. The class should contain the following:- (i) Two integer variables x and y declared protected. (i

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