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

Compilation time, how can i determine total compilation time without using ...

how can i determine total compilation time without using gantt charts

Contract administration and financial management, QUESTION Outsourcing ...

QUESTION Outsourcing has been declared as a life saver for many firms. However, outsourcing relationships need to be managed carefully to gain maximum benefits (a) What woul

Project managment, ur project manager of 3k.m site vth long and dangerous t...

ur project manager of 3k.m site vth long and dangerous tunnel.how to increase output of work and tackle problem dueto increase chance of accident on site.

COM/155 week 2 Assignment, The Writing Process Choose one of the following ...

The Writing Process Choose one of the following scenarios: Imagine that you are the parent or friend of a student having to write a series of essays for a high school English class

Bible 364, Is there anyone who can help with a course in religion? I am hav...

Is there anyone who can help with a course in religion? I am having terrible difficulty with thematic panels

Cultural structures of indigenous people, Cultural Structures of Indigenous...

Cultural Structures of Indigenous People: Indigenous communities, peoples and nations are those which, having a historical continuity with pre-invasion and pre-colonial societies

Renaissance art and architecture, Renaissance Art and Architecture : Throug...

Renaissance Art and Architecture : Throughout the Italian Renaissance, art was everywhere. Patrons like Florence's Medici family sponsored projects small and large, and successful

Fire prevention, introduction topic for fire prevention

introduction topic for fire prevention

Indwelling and intermittent catheterisation, Intermittent catheterisation (...

Intermittent catheterisation (IC) has a lower risk of infection compared with indwelling catheterisation, and so should be considered in preference to an indwelling catheter. Inter

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