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

Storm water management division, Storm Water Management Division: The Stor...

Storm Water Management Division: The Storm Water Management Division (SWMD) administers the Municipal Separate Storm Sewer System (MS4) permit issued to three district agencies (D

What were the different phases of ancient greek art, What were the differen...

What were the different phases of ancient Greek Art? There were several phases from the 16th century BC, till the Greeks suffered defeat at the hands of the Romans at the Battl

Chemistry, molecular formula of gesous hydrocarbons

molecular formula of gesous hydrocarbons

Healthcare, HOw much do you charge per 300 words?

HOw much do you charge per 300 words?

I am bored, Hi, I feel bored in vacation, i want to learn something new, ho...

Hi, I feel bored in vacation, i want to learn something new, how to overcome bored life? please suggest me i am upset and really very bored...

Carmen santiago works for a number of businesses, Carmen Santiago works for...

Carmen Santiago works for a number of businesses as a consultant. She has helped design accounting systems,provided accounting services,and analyzed the financial strength of her

Study and communication skills, I will have to complete 20 different entry ...

I will have to complete 20 different entry on learner diary.In every entry it''s compulsory to mention about my objective,meeting the goal,survey reflection of study skills,what I

Roman thoughts, Roman thoughts: The Romans, according to the politician Ci...

Roman thoughts: The Romans, according to the politician Cicero and orator, excelled all other peoples in the unique wisdom that made them realize that everything is subordinate to

Muscles, similarities between skeletal muscle smooth muscle an cardiac mus...

similarities between skeletal muscle smooth muscle an cardiac muscle

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