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

Global warming and the keeling curve, Temperature: the web page to understa...

Temperature: the web page to understand what the data set is that you are about to download and work with. Scroll down and click on "The Monthly Global (land and ocean combined int

Tga, factor affecting tga curve

factor affecting tga curve

Discuss the new challenges of e-educational planning, Question 1: (a) "...

Question 1: (a) "The concern of Planners is twofold: to reach a better understanding of the validity of education in its own empirically observed specific dimensions and to hel

Weather map drawing of slp isobars, Your charge is to analyze the surface m...

Your charge is to analyze the surface map on the last page of this document.  Temperature, dew point, SLP (sea-level-pressure), cloud cover, wind direction and speed are plotted fo

Discuss marxs concept of alienation, Question 1: The process of alienat...

Question 1: The process of alienation is broken down into four conceptually discrete but related spheres. Discuss Marx's concept of alienation. Give examples from the lab

Environmental conservation and restoration, Environmental Conservation and ...

Environmental Conservation and Restoration: The Conservation & Restoration Ecology major teaches students to employee ecological principles to restore terrestrial systems (, range

Describe what is halftoning, Question: (a) You should always ask your c...

Question: (a) You should always ask your commercial printer what they consider as "camera ready" before you start the job. Describe Camera-ready Art? (b) Describe what is ha

Group work and Team building, How does an understanding of group work and t...

How does an understanding of group work and team building assist in increasing organizational performance? Use examples from theory and practice to illustrate your answer.

Problems of overtaking maneuver, Overtaking maneuver always involved in roa...

Overtaking maneuver always involved in road accidents especially a high speed overtaking maneuver. Previous research revealed that drivers behave more aggressively when behind the

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