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

Classical art, Classical Art: Classical Art adheres to artistic principles...

Classical Art: Classical Art adheres to artistic principles & rules laid down by centuries of Master Artist Painters & Sculptors all along artistic lineage leading all the way bac

Eps11, oS/kkfudrk fdl izdkj jktuhfr foKku dk dsUnzh; fo’k; gS] o.kZu djsaA

oS/kkfudrk fdl izdkj jktuhfr foKku dk dsUnzh; fo’k; gS] o.kZu djsaA

Angel of Death Gareth Williams Reading Guide, I could really use some help ...

I could really use some help with this reading guide for Angel of Death - The story of smallpox by Gareth Williams. My dad had a stroke 2 days ago and he needs 24/7 care and my mom

Make recommendations and reporting case study, In the Field Work Phase (whi...

In the Field Work Phase (which should have been Field Work/Findings Phase): We reviewed company documents, calculated financial ratios. We didn’t state our findings from the data

Romanticism, Romanticism: Conversely, the art from the Romanticism movemen...

Romanticism: Conversely, the art from the Romanticism movement was based on emotion rather than rationale, and placed an emphasis on the individual rather than on society. These w

Database, how to do database project

how to do database project

Write a note about building the magazine article, Question 1 Write a long ...

Question 1 Write a long note on feature writing and summarise techniques for writing a good feature Question 2 Write a note about building the magazine article Question 3 Writ

Schizophrenia, To what extent is it possible to explain schizophrenia from ...

To what extent is it possible to explain schizophrenia from a biological perspective?

Competition can tame leviathan behaviour-discuss, Problem 1: With globa...

Problem 1: With globalisation, there is a need for sustainable local governments. Justify your answer. Problem 2: Competition can tame leviathan behaviour. Discuss.

Executive functions in cognitive neuroscience, Executive functions refer to...

Executive functions refer to a range of higher-order cognitive functions that enable organized and goal-directed behavior. Problems manifested by two exemplary brain damaged patien

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