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

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

Examine the concept archetypical leaders, Problem: (a) "Schools do not...

Problem: (a) "Schools do not have to be in geographic vicinity to create networks to achieve synergy for transformation" (Brian Caldwell). Critically analyse the extent to wh

Science, what is nuclear fission?

what is nuclear fission?

Objectives of selection and recruitment process, what are the objectives of...

what are the objectives of selection and recruitment process

Want work with you, i am sandeep singh gill. i did Btech in computer scienc...

i am sandeep singh gill. i did Btech in computer science (BE). i am expert in c/c++/java/php/HTML/ other technical fields. i want to do freelancing. can i work with u?? you can sen

Branding, examples of provincial brand

examples of provincial brand

Answer, Profit maximiZation is theoretically the most sound but practically...

Profit maximiZation is theoretically the most sound but practically unattainable objective of business finns. Do you agree this statement? If agree give valid reasons.

Epic poetry, Epic Poetry: It is poetry that has a broad theme, substantial...

Epic Poetry: It is poetry that has a broad theme, substantial length, a broad setting, and several other characteristics that make it seem "larger than life" while compared to oth

Sociology, Explain Symbolic Interaction Theory and discuss its perspective ...

Explain Symbolic Interaction Theory and discuss its perspective on social processes, inequality, and institutions. Provide specific examples from the textbook to explain how this

Heart failure and ischaemic-type chest pain, Anthony Tsindos is a 72-year-o...

Anthony Tsindos is a 72-year-old retired plasterer who had been admitted to hospital five-days ago with an exacerbation of heart failure and ischaemic-type chest pain. History

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