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

Two deliverables to complete for the project, Course Project: Week 3   ...

Course Project: Week 3   This week, you will have two deliverables to complete for the project. Using MS Project, crea

Applicability of data encryption standards, Applicability- This standa...

Applicability- This standard may be used by Federal departments and agencies when the following conditions apply: 1.   A certified official or manager liable for data secur

Gag clause law, 1. List three issues that patients complain about in regard...

1. List three issues that patients complain about in regards to managed care. 2. Provide a general discussion of any three of the following health care laws: Consolidated Omn

Discuss the process of counselling, Problem: a) Outline the issues inv...

Problem: a) Outline the issues involved and elements to be considered when counselling young people. b) You are presented with clients for counseling. Explain how your app

BIB 107, AskWhat do these passages tell you about God’s relationship with p...

AskWhat do these passages tell you about God’s relationship with people through covenants? Which covenants are operative? question #Minimum 100 words accepted#

Apply relevant legislation and guidance - law, Jim and Maureen Stewart live...

Jim and Maureen Stewart live with their two children, Hamish aged 11 and Alexandra aged 13, in a council owned property within an inner London borough. Jim has a long standing diag

Explain the principles of animation, Question: a) Explain five of the ...

Question: a) Explain five of the principles of animation? b) With reference to the diagram below, explain how you can create a simple bouncing ball animation, specifying t

Data mining, datamining data warehouse homework help

datamining data warehouse homework help

Explain safe use of the mobile tower scaffold, Question: A 15 years old...

Question: A 15 years old, two story building, used as a warehouse, has its corrugated roofing sheets damaged and needs replacement. A mobile tower scaffold is made available to

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