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
How Classics Influenced The Modern World: While people mention the roots of heritage and western culture, they frequently refer to classic Rome, Greece and Judaism. However, all t

SECURIT Y GOVERNANCE The Software Engineering Institute at Carnegie Mellon University, in a publication aristocratic "Governing for Enterprise Security (GES)", describes chara

Question 1 Discuss the Working Journalists (Fixation of Rates of Wages) Act, 1958. (Act mentions 8 points. There are 3 other subdivisions Question 2 Write a note on the ethos

Why does Cowan believe it is important to examine technologies in the context of technological systems? What advantage does this broader perspective give to planners? Give a specif

QUESTION At a leisure resort, there is the following signpost as approved by the Permanent Secretary: Men are not allowed to walk on this area. Owners of animals like dogs shou

Post Harvest Loss The loss of fruit post harvest was a pervasive issue throughout the globe. Estimates put postharvest losses at around 25% worldwide and up to 50% in developin

QUESTION 1 Caste divides and Language unites discuss this statement critically with reference to your own society. QUESTION 2 How far do you agree that education helps

statement of comprehensive income and statement of financial position

Bloomsday Outfitters produces T-shirts for road races. They need to acquire some new stamping machines to produce 30,000 good T-shirts per month. Their plant operates 200 hours per