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

General vs. thematic cartography, General vs. thematic cartography: In und...

General vs. thematic cartography: In understanding basic maps, the field of cartography can be divided into two general categories: general cartography and thematic cartography. G

Economic factors - pest analysis of hotels, There are two ways to classify ...

There are two ways to classify the economic factors they can be either put in the microeconomic criteria or macroeconomic criteria. Switzerland is the 5th strongest country globall

Explain the steps in an accident investigation, Question: (a) List ten ...

Question: (a) List ten steps in an accident investigation. (b) A factory operator having several years experience was running down the stairs at the end of his shift and he

Social care, Explain why it is important to support an individual’s to chal...

Explain why it is important to support an individual’s to challenge information about services that may present a barrier to participation

Techniques of impression management, Problem 1: (a) Describe ‘impressio...

Problem 1: (a) Describe ‘impression management' (b) Critically discuss various techniques of impression management. Problem 2: (a) Define ‘Alcoholism' (b) Critica

Gender roles and multiple roles, Gender Roles / Multiple Roles: The diffe...

Gender Roles / Multiple Roles: The differences in health and health outcomes that we see between men and women are in part due to how society acts upon the person. Societal gender

Psychology, what would be a negative correlation between tall and short peo...

what would be a negative correlation between tall and short people and driving speed

CV, hello i would like to gut help in writing my CV. Can you help me? sar...

hello i would like to gut help in writing my CV. Can you help me? sarah

What is multivariate analysis of variance, There are two or more continuous...

There are two or more continuous dependent variables in MANOVA. The initial test assumes that there is a linear combination of the dependent variables. Hypothesis: The independe

Write a long note on the right to privacy, Question 1 Write a long note on...

Question 1 Write a long note on the evolution of e-Learning, including its history Question 2 Write a long note on the Right to Privacy Question 3 Who are information wo

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