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

Major approaches and movements in film theory, What is film theory? Please ...

What is film theory? Please provide me report on Major approaches and movements in film theory. It is about 2000 words count report on topic Major approaches and movements in film

Health risks faced by operators working in a call centre, Question 1: I...

Question 1: Identify the safety and health risks faced by operators working in a call centre and outline in EACH case, the corresponding precautions that could be taken to redu

Quantitative Methods, DQ1 Explain the parts of a decision tree. What are so...

DQ1 Explain the parts of a decision tree. What are some benefits of using decision trees? In what ways can decision trees be used for business decisions? Name some real-world examp

.Development Organization, What are the criticisms against Development rgan...

What are the criticisms against Development rganizations/Agencies?

Write a long note on planning evaluation, Question 1 What are the parts of...

Question 1 What are the parts of a research report? Explain in full Question 2 What are the uses of content analysis and what are the limitations of the same? Discuss

Emport export, What is the need for documents in international business? Su...

What is the need for documents in international business? Substantiate your answers with suitable examples.

Legal issues in the environment, Legal Issues in the Environment: Environm...

Legal Issues in the Environment: Environment are surrounds or environs; surrounding conditions, forces or influences, by which living forms are influenced & modified in their deve

Explain safe use of the mobile tower scaffold, Question: A 15 years old...

Question: A 15 years old, two story building, used as a warehouse, has its corrugated roofing sheets damaged and needs replacement. A mobile tower scaffold is made available to

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