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

Describe the key elements in a therapeutic contract, Problem 1: a) Des...

Problem 1: a) Describe the key elements in a therapeutic contract. b) How do these relate to the ethical obligations of the counselor? c) Discuss what happens when th

Chemical engineering - process design, Problem Styrene can be produced by t...

Problem Styrene can be produced by the reactions: Ethylbenzene ! Styrene+H2 Ethylbenzene ! Benzene+Ethylene Ethylbenzene+H2 ! Toluene+CH4 The reactions take place at 600C and 1.7

Emulsions, what is conclusion of emulsions??

what is conclusion of emulsions??

Write a short note on modes of transport, Question 1 List out the various ...

Question 1 List out the various steps involved in processing of an export order Question 2 Discuss the guidelines an exporter should follow while submitting documents to a

Defense in depth strategy - information security, Defense in Depth        ...

Defense in Depth                                        Information security must keep information throughout the life span of the information, from the original creation of t

Operation Research, How to solve the following Linear Programming Problem u...

How to solve the following Linear Programming Problem using Simple method. Maximize Z= 3x1 + 2X2 Subject to the constraints: X1+ X2 = 4 X1+ X2 = 2 X1, X2 = 0

Cartography, Cartography : Cartography or mapmaking (in Greek chartis = map...

Cartography : Cartography or mapmaking (in Greek chartis = map and graphein = write) is the study and practice of making representations of the Earth on a flat surface. Cartography

Old testament, Ask que5. Do you think Isaiah’s advice to Ahaz in the Syro-e...

Ask que5. Do you think Isaiah’s advice to Ahaz in the Syro-ephraimitic crisis was sound? Explainstion #Minimum 100 words accepted#

Business math, Calculate the cash discount and the net amount due for the f...

Calculate the cash discount and the net amount due for the following transaction. Amount of Invoice Terms of Sale Cash Discount Net Amount Due $12,660.00 2/10, n/45 $ $

Project, Complete the attached “GenRays Project Scope Document Template” fo...

Complete the attached “GenRays Project Scope Document Template” for the HRIS project.

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