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
Part 1 the file is attached. Part 2 Click the link below to read Mark Twain''s story "The Danger of Lying in Bed." http://content.learntoday.info/W112_Spring_10/site/Media/Fig04-

The Web [WWW] The first age group Web applications were typically static and read-only: the client and the server exchanged HTML documents throughout HTTP protocol. The

Review the following scenario, and respond to the questions that follow: Kevin is a hardworking salesperson at a local department store in a small town. He is a great salesperson

Cognitive Behavioural Therapy, usually shortened as CBT, is a very practical treatment in which therapist and client work together collaboratively. It centres on the understanding

Question 1: (a) The practice of Counseling is referred to as a "Western Creation". Determine intersections of compatibility and/or incompatibility by comparing and contrastin

Hey how big is 50mm x 15mm??

Question 1: (a) Using examples from the Mauritian context, analyse the Dual Labour Market theory. (b) Distinguish between Liberal, Marxist and Radical Feminism. (c) Acco

Human Anatomy: Human anatomy can be precisely defined as a complementary basic medical science, which deals with the scientific study of morphology of human body. In simpler words


Question 1: (a) As a counselor, define the central concepts in professional counseling. (b) According to you, what would be the primary ethical issues to consider? Qu