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

Politics, why would John Rawls agree that the right of a baker to enter a c...

why would John Rawls agree that the right of a baker to enter a contract of his choice does not overide the public interest

Find future entrepreneurs, In light of the findings of the Swedish Foresigh...

In light of the findings of the Swedish Foresight Group and the work of researchers Hisrich and Peters, what elements need to be present in a business organisation to cultivate Int

Types of meteorologists, Types of Meteorologists: Meteorologist work in a ...

Types of Meteorologists: Meteorologist work in a range of fields each with a specialized area of study. Essentially, a meteorologist is a specialized scientist that focuses on som

SEO, What is SEO ?

What is SEO ?

Tourism hospitality, Discuss the advantages and disadvantages of tourism in...

Discuss the advantages and disadvantages of tourism in the Caribbean...

Public policy making process, Question 1: Explain clearly how Public Po...

Question 1: Explain clearly how Public Policy Making constitutes one of the major tasks which have to be accomplished by modern Governments. Question 2: "Policy Formul

Ben quilty, What training did ben undertake to become an artist

What training did ben undertake to become an artist

Library sience, write a short note on Principles of Financial Management.

write a short note on Principles of Financial Management.

Pyschology, In this essay, explore how the passage of time is perceived by ...

In this essay, explore how the passage of time is perceived by humans. Is this a top-down process, a bottom-up process, or both? Is this sense innate, or do we rely on environmenta

Parties involved in credit cards, PARTIES INVOLVED Cardholder: Th...

PARTIES INVOLVED Cardholder: The owner of the card used to create a purchase; the customer. Card-issuing bank: The financial organization or other organization that

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