NXC C programs, Other Subject

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();
}
}
}
Posted Date: 4/25/2012 8:36:24 PM | Location : United States







Related Discussions:- NXC C programs, Assignment Help, Ask Question on NXC C programs, Get Answer, Expert's Help, NXC C programs Discussions

Write discussion on NXC C programs
Your posts are moderated
Related Questions
can a curve has node and cusp at same point?

Question: a) Name the two main types of vibration that could affect workers' health. What is the maximum Exposure Limit Value for hand-arm vibration that an employee may be

What is health care ethics? Patients, families, and health care professionals sometimes face difficult decisions about medical treatments that involve moral principles, religio

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

tulaliloo ti amo

The National Weather Service has recently faced downsizing due to a significantpersonnel shift in the Obama budget.  The White House budget removed one employee from each of the 12

Question 1 Write a long note on the use of alternative energy resources Question 2 What are the functions of an ecosystem? Explain Question 3 Write a long note on the va

Case Study 1: Bert’s Bonsai (BB) Bert’s Bonsai is a small company, started by a retired plant scientist, which sells Bonsai plants, tools and materials to cultivate them, and liter

QUESTION Part A Every time a listed company does a share buyback, media and investors alike would debate fiercely on the merits of such a scheme. There are investors who

type of nature of software flowchart