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

Name five pre-press operations, Question: (a) Name five Pre-press oper...

Question: (a) Name five Pre-press operations which are usually done by the press? (b) Stripping and Imposition refer to the plan and arrangement of pages so that when print

African studies, Compare and contrast the European Slave Trade with "intra-...

Compare and contrast the European Slave Trade with "intra-African" slavery/servitude (slavery/servitude practiced on the African continent between Africans). Discuss the relevance

State the reasons why people marry, Question 1: (A) (I) Define family....

Question 1: (A) (I) Define family. (II) Fully describe the types of family. (B) What do you understand by ‘married life'? (C) State the reasons why people marry.

Describe the term ethics as applied in counselling, Example 1 (a) Descr...

Example 1 (a) Describe the term ‘ethics' as applied in counselling. (b) Which five components constitute a comprehensive ethical code for counsellors. Example 2

What is the purpose of an environmental assessment?, What is the purpose of...

What is the purpose of an environmental assessment? An environmental assessment is a planning and decision-making tool. The objectives of an environmental assessment are to:

Health risks faced by operators working in a call centre, Question 1: I...

Question 1: Identify the safety and health risks faced by operators working in a call centre and outline in EACH case, the corresponding precautions that could be taken to redu

Abrupt behavior, Sammy is a teenager working at the "A&P" in the summer, ne...

Sammy is a teenager working at the "A&P" in the summer, near the beach, as a cashier. Three girls in bathing-suit are ready to check out and go through Sammy's isle at the "A&P" gr

Health, where does fertilization occur?

where does fertilization occur?

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