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

Distinguish between the engender and term gender, Question 1: (a) Expl...

Question 1: (a) Explain the different concepts of culture. (b) According to you, how is culture related to anthropology? Question 2: The 2009 presidential election

Analyzing the temperature record - global warming, 1. This time using the t...

1. This time using the temperature data. Plot only the data in the time interval 1960 - 2009 so that you can visually compare it with the CO2 record. 2. Anti-global warming prop

Need matlab code, I am doing project in PULSED OFDM FOR ULTRA WIDE BAND COM...

I am doing project in PULSED OFDM FOR ULTRA WIDE BAND COMMUNICATION .I need matlab code for it

Cultural anthropology, Cultural anthropology : Cultural anthropology, appli...

Cultural anthropology : Cultural anthropology, applies the comparative method and evolutionary perspective to human culture. Culture represents the entire database of knowledge, va

The second sino-japanese war, Question 1 Why did China turn into an inform...

Question 1 Why did China turn into an informal colony? Question 2 What were the major reasons for the success and failure of the Boxer Rebellion? Question 3 Explai

Factors of broad area of Scientific Activity, Describe the Factors which de...

Describe the Factors which decide the broad area of Scientific activity?

Explain the significance of public administration, Question 1 Public admi...

Question 1 Public administration is an integral part of the social, cultural and economic life of a nation. In view of this statement explain the significance of Public administr

Canadian pacific railway, The Canadian Pacific Railway (CPR) has an automot...

The Canadian Pacific Railway (CPR) has an automotive transfer facility (known as the Automotive Compound, or the CPRAC) in the north east portion of Toronto. The facility handles t

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