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

Public policy , can you find me 8 articles policies and write my reflection...

can you find me 8 articles policies and write my reflection for each one

Classical civilization and art, Classical Civilization and Art: Classical ...

Classical Civilization and Art: Classical Civilization is the branch of the Humanities comprising the literature, languages history, art, philosophy, archaeology and other cultur

Crimainl justice, I am seeking help with my online criminal justice classes...

I am seeking help with my online criminal justice classes. I need to find and individual that is interested in a long-term position meaning approximately two-years. I need to find

Isa 2000, IS A 2000 On the 18th of March 2001, Microsoft launched ISA ...

IS A 2000 On the 18th of March 2001, Microsoft launched ISA 2000. ISA 2000 begin the Standard and Enterprise version which ISA continues to ship beneath, with Enterprise- grad

Looking for essay writing service, Are you looking for essay writing servic...

Are you looking for essay writing service? do you need essay writing help with your university pattern and format? We at www.expertsmind.com offer essay writing service with 100%

Fire prevention, introduction topic for fire prevention

introduction topic for fire prevention

Explain the biological and physical aspects of ageing, Question: (a) Ex...

Question: (a) Explain carefully the biological and physical aspects of ageing and explain the impact of these factors on the ageing individual. (b) Show the age-specific pro

What is dsbsc, Question 1 Define modulation. Explain the types of modulati...

Question 1 Define modulation. Explain the types of modulation Question 2 What is DSBSC? Explain the generation of DSBSC wave Question 3 Explain following concepts 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