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

Explain the public policies, Problem 1: (a) Identify and explain the pu...

Problem 1: (a) Identify and explain the public policies that currently exist for the older generation. (b) What should be put in place to strengthen the care and welfare of

Working of livelink and sql server, Working of Livelink and SQL Server: ...

Working of Livelink and SQL Server: Project Name : Livelink- Thomsonfly Airways, UK Airline Role : Day to day interaction with Clients and vendor at Client Location. Pre

Marketing, how a hotel applies marketing concept on business

how a hotel applies marketing concept on business

Phillosophy, Report an example of a euphemism or dysphemism that you have c...

Report an example of a euphemism or dysphemism that you have come across. Discuss when it is and is not appropriate to use such veiled language.

Geography Homework, How can different mountain ranges across the world be u...

How can different mountain ranges across the world be used as tourist attractions?

Why is cognitive neuroscience important?, Solving the mind-body problem has...

Solving the mind-body problem has been a fundamentally intriguing question since the days of ancient Greek philosophers and indeed research on the neural basis of the human mind is

Earths crist, How does the mantle interact with the earths crust?

How does the mantle interact with the earths crust?

Two main streams of sociological perspectives, QUESTION 1 (a) Discuss a...

QUESTION 1 (a) Discuss any two main streams of sociological perspectives and how they differ in their theoretical approaches? (b) How the theory of symbolic interactionism i

Discuss the relevance of the seven cardinal virtues, Question 1: 1. De...

Question 1: 1. Describe carefully the management functions and explain the role and responsibilities of the manager in relation to each of them. 2. Using the hospital as a

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