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

What is human mobility device, Great strides have been made in the last 20 ...

Great strides have been made in the last 20 years to provide greater accessibility for people who have physical disabilities. As shown in the image above, kitchens can be designed

Describe the treatment options available, In the laboratory, we produce tho...

In the laboratory, we produce thousands of test results every day. It can be easy to forget that each sample has a patient's story behind it, in which the Haematology result that w

Interrelated aspects of corporate social responsibility, QUESTION 1 (a)...

QUESTION 1 (a) Using appropriate examples, explain Kantian ethics and critically discuss its applicability in business decision making (b) Assess five initiatives that can b

Neuropsychology, Discuss how the viewpoint of neuropsychology differs from ...

Discuss how the viewpoint of neuropsychology differs from general psychology. How does one school of thought influence another? Why is it important to understand multiple perspecti

Media studies, hi..i have an assignment for my media studies..it''s about h...

hi..i have an assignment for my media studies..it''s about how pollution is potrayed through the media and it''s about 800 words

Explain the unilinear model of development, Question 1 What are the common...

Question 1 What are the common traditional channels of communication? Describe the problems that can arise in such forms of communication Question 2 Explain the Unilinear Mod

Explain what is meant by psychotherapy, Question 1 a. Explain what is ...

Question 1 a. Explain what is meant by psychotherapy? b. Describe 3 steps that you would normally follow in a counselling process. c. Explain the core principles of t

Authentication of electronic fund transfer, AUTHENTICATION EFTS transac...

AUTHENTICATION EFTS transactions may be go together with by methods to validate the card and the card holder. The merchant may manually confirm the card holder's signature, or

Mode of nutrition, from where i can start this project what is the first li...

from where i can start this project what is the first line or topic of this project

Pathophysiology, Just in terms of the hydrostatic and osmotic pressures in ...

Just in terms of the hydrostatic and osmotic pressures in blood vessels, explain what would promote the accumulation of excess fluid in the interstitial space?

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