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

Social geography, Social Geography: This geography is the branch of human g...

Social Geography: This geography is the branch of human geography which is most closely concerned to social theory in common and sociology in specific, dealing along with the assoc

Social work, how much would it cost to write a 6 page paper bachelors level...

how much would it cost to write a 6 page paper bachelors level?

Eps11, oS/kkfudrk fdl izdkj jktuhfr foKku dk dsUnzh; fo’k; gS] o.kZu djsaA

oS/kkfudrk fdl izdkj jktuhfr foKku dk dsUnzh; fo’k; gS] o.kZu djsaA

.., why is school considered as a formal education system.

why is school considered as a formal education system.

UNCC100 - SUPPLEMENTARY ASSESSMENT, Ask qThe right to an education is a bas...

Ask qThe right to an education is a basic right belonging to all children. The UN Convention on the Rights of the Child enshrines this notion in Articles 28 and 29. And yet it seem

Advance Ex Phys, If you lose 2 pounds of weight during 30 minutes of aerobi...

If you lose 2 pounds of weight during 30 minutes of aerobic exercise and do not ingest any fluid, estimate the fluid loss from ECF and ICF components and subcomponents, and the con

Aim, Mention the Aims of Education in Present Scenario

Mention the Aims of Education in Present Scenario

Businees management, #questi VK Ltd a multi-product Company, furnishes you ...

#questi VK Ltd a multi-product Company, furnishes you the following data relating to the year 2000 First Half of the year Second Half of the year Sales Rs. 45,000 Rs. 50,000 Total

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