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

Legals question, Ask question 1. Two truck drivers for a moving company, wh...

Ask question 1. Two truck drivers for a moving company, while loading a desk, found $1000 that had fallen out of the desk. They knew who the owner was but instead of returning it

Health cares in rural areas, Health cares in rural areas should be well equ...

Health cares in rural areas should be well equipped with machineries such as x-rays and CT in order to be able to meet the patient's expectations. At the same time, there should be

Cargo management, Cargo Management: Project Name : Cargo Management ...

Cargo Management: Project Name : Cargo Management Role : Managing & Leading the Team. Involved in Gathering, Estimation, System Design, Database Design. Documentation

Theory of mind, What is meant by a "theory of mind"? Note that the text ref...

What is meant by a "theory of mind"? Note that the text refers to research that shows that growing up with siblings positively influences the acquisition of a theory of mind. Specu

BRICKS BONDING, WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF USING FLEMISH ...

WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF USING FLEMISH BOND?

Loss of fruit post harvest, Post Harvest Loss The loss of fruit post ha...

Post Harvest Loss The loss of fruit post harvest was a pervasive issue throughout the globe. Estimates put postharvest losses at around 25% worldwide and up to 50% in developin

Styles, Styles : Probably it is more accurate to talk about the artistic mo...

Styles : Probably it is more accurate to talk about the artistic movements of the time, instead of the distinct artists from different countries. These movements include Realism,

English, what is the character sketch of the swindler in the story dusk by ...

what is the character sketch of the swindler in the story dusk by saki?

Database systems, coverting conceptual database tables into correspoding ta...

coverting conceptual database tables into correspoding tables

Sociological perspectives on gender and sexuality, Sociological Perspective...

Sociological Perspectives on Gender and Sexuality: Sociology of gender is a prominent subfield of sociology. Since 1950 an increasing part of the academic literature and of the pu

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