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

Platehelminthes, assignment on platehelminthes proper described n with exam...

assignment on platehelminthes proper described n with examples description nimages

Briefly explain the concepts of communication, Question 1 Briefly explain ...

Question 1 Briefly explain the concepts of Communication Question 2 List the advantages and disadvantages of Oral Communication Question 3 Explain the parts of a Paragra

Car following behavior of driver - traffic congestion, Car Following Behavi...

Car Following Behavior of Driver - Traffic Congestion and Safety on the Road   Understanding car following contributes significantly to an understanding of traffic flow. Car

Epic poetry, Epic Poetry: It is poetry that has a broad theme, substantial...

Epic Poetry: It is poetry that has a broad theme, substantial length, a broad setting, and several other characteristics that make it seem "larger than life" while compared to oth

How to make an action research about tardiness, how can i start an action r...

how can i start an action research about student''s tardiness in coming to school or class?

Explain the essential requisites of a promissory note, (a) "A promissory no...

(a) "A promissory note is an instrument in writing (not being a blank or a currency note) containing an unconditional undertaking, signed by the maker, to pay a certain sum of mone

House holds, What are the causes of the increase in the female headed house...

What are the causes of the increase in the female headed households

Monitor work operations, Practical activity will require to prioritise and ...

Practical activity will require to prioritise and co ordinate a variety of operational tasks. You should communicate effectively with team members and ensure awareness and acceptan

Report writing, how to write a report on Customer satisfaction on certain B...

how to write a report on Customer satisfaction on certain Bank?

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