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

Education and society, as a teacher how to overcome the factors of wastage...

as a teacher how to overcome the factors of wastage and stagnation

Describe how you think contracting fits into the acq, how you think contrac...

how you think contracting fits into the acquisition program. Feel free to use some of your own experiences and examples #Minimum 100 words accepted#

Library management, What are the aims of personnel planning in libraries? S...

What are the aims of personnel planning in libraries? State the methods and techniques of personnel planning

Linear algebra assignment, I have a linear algebra assignment/coursework (i...

I have a linear algebra assignment/coursework (it''s about affine sets and mappings), but I don''t have the time to do the rest of it (I have done only one question and one part of

Informal sector, advantages and disadvantages of the informal sector

advantages and disadvantages of the informal sector

Baroque art, Baroque Art: The Baroque is a period of artistic style that u...

Baroque Art: The Baroque is a period of artistic style that utilized exaggerated motion & clear, easily interpreted detail to generate drama, exuberance, tension and grandeur in p

Mesoamerica, what is Mesoamerica human density

what is Mesoamerica human density

Lane changing behavior - traffic congestion, Lane-Changing Behavior - Traff...

Lane-Changing Behavior - Traffic Congestion Lane changing occurs when a vehicle is overtaking another vehicle on an overtaking lane or a multi-lane section of the road. In o

General improvements in quality of life, In addition to help with specific ...

In addition to help with specific goals or difficulties, clients who undertake counselling can experience general improvements in quality of life, including: ?decreased defen

Bible 364, Is there anyone who can help with a course in religion? I am hav...

Is there anyone who can help with a course in religion? I am having terrible difficulty with thematic panels

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