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

Fire prevention, introduction topic for fire prevention

introduction topic for fire prevention

Show the main agents of socialisation, Question 1: (a) What is culture...

Question 1: (a) What is culture? (b) Use examples to explain the following: (i) Norms (ii) Folkways (iii) Mores (iv) Beliefs (v) Values (c) Show the main agen

Card based electronic fund transfer, CARD BASED EFT EFT may be begun by...

CARD BASED EFT EFT may be begun by a cardholder when a payment card for instance a credit card or debit card is used. This might take place at an automated teller machine (ATM)

Explain the social and religious differences in suicide, Problem 1: In ...

Problem 1: In the year 2000 an estimated 815 000 people died from suicide around the world. This represents an annual global mortality rate of about 14.5 per 100 000 population

Post world war 1, Describe the agreements made during the war that shaped t...

Describe the agreements made during the war that shaped the postwar world. In your view, did Roosevelt "sell out" to the Soviets?

Entrepreneurship, WHAT ARE THE CONTRIBUTIONS OF ENTREPRENEURS IN ECONOMIC D...

WHAT ARE THE CONTRIBUTIONS OF ENTREPRENEURS IN ECONOMIC DEVELOPMENT

Online real time systems , what are the internal controls of online real ti...

what are the internal controls of online real time systems

B2g e-commerce, WHAT IS B2G E-COMMERCE? Business-to-government e-commer...

WHAT IS B2G E-COMMERCE? Business-to-government e-commerce or B2G is generally described as commerce between companies and the public sector. It refers to the licensing procedur

#title.utility, what is the relationship between utility, justice, rights, ...

what is the relationship between utility, justice, rights, and caring?

OK, WHEN WERE AFRICAN AMERICANS REMOVED FROM OFFICE IN GEORGIA .

WHEN WERE AFRICAN AMERICANS REMOVED FROM OFFICE IN GEORGIA .

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