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

Premenstural syndrome, is there any relationship between premenstural syndr...

is there any relationship between premenstural syndrome and mood

I am bored, Hi, I feel bored in vacation, i want to learn something new, ho...

Hi, I feel bored in vacation, i want to learn something new, how to overcome bored life? please suggest me i am upset and really very bored...

Payment methods - paypal, P A YMENT METHODS We will seem at a case fo...

P A YMENT METHODS We will seem at a case for explaining about the payment methods. PayPal is an e-commerce business permiting payments and money transfers to be completed thr

Write a long note on the direction of light, Question 1 Write a long note ...

Question 1 Write a long note on the direction of light, describing direct and indirect light, frontal lighting, side lighting and back lighting Question 2 Write a long not

What are the characteristics of a creative thinker, QUESTION 1 (a) How ...

QUESTION 1 (a) How would define creativity? (b) What are the characteristics of a creative thinker? (c) Describe the 5 important steps in the creative process QUESTIO

Agonists or antagonists, Somewhere between 30% and 50% of all drugs on the ...

Somewhere between 30% and 50% of all drugs on the market target a G protein-coupled receptor. For each agent, -          Write an in-depth description of the agent and its mecha

Methods of overtaking maneuvers, Methods of Overtaking Maneuvers Early...

Methods of Overtaking Maneuvers Early studies or researches on overtaking manoeuvre were developed by the American, Swedish and Australian. The first study was done by Lauer a

Analyse the ancient greek model of democracy, QUESTION 1 Analyse the an...

QUESTION 1 Analyse the ancient Greek model of Democracy. QUESTION 2 Assess the importance of the ‘right to life, liberty , property and the presumption of innocence ' i

Calculus, can a curve has node and cusp at same point?

can a curve has node and cusp at same point?

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