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
what is the difference between historigram and Histogram

I am being asked to go through a terminal session and to provide the output in a word document.

Health cares in rural areas should be well equipped with machineries such as x-rays and CT in order to be able to meet the patient's expectations. At the same time, there should be

Compare or Contrast two Ethical theories Write a short (3-5 page) paper comparing and contrasting the theories of two of the following: Aristotle, Machiavelli, Kant, Locke, Mill

vk ltd a multi-product company, furnishes you the following data relating relating to the year 2000

can a curve has node and cusp at same point?

In a recent COAG meeting, the Commonwealth and State Governments agreed to try and amend their respective Constitutions to require the representatives of the Queen to be elected by

Information: Information is almost certainly the biggest benefit internet is offering. The Internet is an effective wealth trove of information. Any type of information on any

mention the aims of education in present scenario

What is Gender? Gender refers to the socially constructed differences and relations between males and females. These vary widely among societies and cultures and change over ti