C/C++ :: How To Write To The Parallel Port
Apr 16, 2007How To write to the parallel port under windows xp using Visual C++ ->MS Studio studio 2005
View 4 RepliesHow To write to the parallel port under windows xp using Visual C++ ->MS Studio studio 2005
View 4 RepliesI try to ON and OFF the LED's via parallel port. I connect the cathode of LED's with pin number 18 that is ground and anode of each LED is connected through a 1K resistor to pin 2 to 8. I write the following programe
Code:
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#define PORTID 0x378
void main(){
outportb(PORTID,0x00);
getch()
}
But when i connect the LEDS to the parallel port all the LEDS are LIT while i also change the 0x00 to 0xff and so on. But no effect on the LED's.
I started writing in c because I want to control relays with the parallel port, or anything else. Doesn't really matter what I use I just need to know where to start. Trying to send and receive data from the outside world with c programming on a GNU/Linux os? If so any good some what up to date resources online?
View 5 Replies View RelatedI have this project and I already have a code and the circuit, but I studied assembly language it's supposed to display the hours and minutes.
Here's the code:
TITLE CLOCK.ASM
DOSSEG
.MODEL SMALL
.STACK 0100H
.DATA
PRINTERPORTBASEADDRESS equ 378h
[Code] ....
This is the circuit diagram [URL] ....
I have a Voltage Range from -10V up to +10V, which I transform to a voltage Range 0V to 5V, with the schematic i've attached, so I can use the A/D converter of my ATMEGA32 processor.
Now I'd like to write the value of the Input Voltage (which moves in the Range of -10V to + 10V) on the serial port, but i don't know how i should calculate this factor. At the moment, I can only write the value of the A/D Converter Input on the serial, but this is only 0V to 5V...
Explain me a working code to read and write a file using serial communication.and i need to store that file.I know normal file handling in C, but how it is through serial port i am not getting.
View 1 Replies View RelatedI want to read and write value on serail port to Microcontroller with MFC. The MFC have no serial port tool like in VB Professionnal edition. I try to find MFC connect serial port example but I not found. If you have good example for read and write on serial port with MFC
View 2 Replies View RelatedI have a code that uses multi threads using OMP. However, Inside the code I allocate too many memory using "new".
I know that the memory allocation using new must be done in serial. Therefore I am not getting a good performance out of the multi-threaded program.
I thought about allocating a big memory only once, and then advance the pointer every time I need to allocate a small memory.
For example, if I need to allocate chunks of 7 doubles:
Code:
main_memory = new double [10000];
double* x1 = main_memory;
main_memory+= 7;
double* x2 = main_memory;
main_memory+= 7
However, I do not know how to handle the memory deallocation. Beside, this is not thread safe method because main_memory is shared by all threads.
May be there is a boost library that does this, which I am not aware of.
I am trying to learn about parallel arrays and files. I believe that I wrote a program that properly writes the data of the arrays into a file, but I am not quite sure how to take the next step and make a second program by bringing in the file I created and reading the information of the file back into two arrays to display them.
Code:
#include<iostream>
#include<fstream>
#include<string>
usingnamespace std;
[Code] ....
I'm trying to implement Parallel loop with OpenMP. I just googled and got the below sample, but it seems its not executing parallely. It takes same amount time for code which is with parallel and without parallel.
Without Parallel : It takes 39 secs.
-----------------
for (int I=0;I<100000;I++){
cout<<I<<" ";
}
With Parallel : It takes 39 secs.
--------------
#include<omp.h>
#pragma omp parallel {
#pragma omp for
for (int I=0;I<100000;I++) {
cout<<I<<endl;
}
}
Why parallel is not working and it takes same time. My machine is Dual Core.
#include <stdio.h> /* fopen, fclose */
#include <stdlib.h> /* exit function */
#include <string.h> /* string library */
#define STRSIZENAME1 41 /* length of name */
#define STRSIZENAME2 100 /* amount of names */
#define STRSIZEAGE 100 /* amount of ages */
/* Name: main */
int main(int argc, char* argv[]) {
[Xode] ....
This is the code I have so far. The goal of the assignment is to sort two parallel arrays, one with names and another with their ages, at the same time to alphabetize them. I am stuck with trying to pull the data from the file itself and concatinating it. I have searched ways to do so and this is the best I understood. So the error is it will get me the first person's name, but it won't get the age and move to the next line in the file. It just keeps repeating the same thing and I can't figure out why.
I attached the sample file with names and ages to view the format of the text file itself.
PS the other defined variables are used later for sorting the data. right now I am just trying to get the data itself and put it in an array but between my book and the internet I can't seem to store the data properly. That is also why I am printing it in the while loop as well so I can see what my arrays look like but I will take that out too once I know the data is good
Attached File(s)
peoplefile.txt (157bytes)
I'm wondering whether it's possible to implement MPI to execute a process in parallel from deep within a C++ solution.
I've created a solution on VS2005 that links to several static libraries, and within one of these libraries there is a set series of tasks that require execution many times - they're independent so I'd like them to execute them using MPI if possible to speed up the run time.
The pseudo-code is:
Code:
for(i = 0; i < n; i++) // n is number of times to execute process {
PerformTask(data[i]); // perform the tasks required for each iteration of process
}
So, instead of conducting the tasks within PerformTask() in series n times, I want to split the array data between multiple processes such that they can each be allocated an even proportion of data to perform the tasks on. Pretty textbook reason for wanting MPI, right?
Now, I've read up and understood the basics of MPI implementation, but all the examples I've seen are called within the main() function of the program. But I need to do all this from within a static library, is this possible?
I've made some early attempts at implementing this, but get an error indicating the process wasn't initialised: "Error encounted before initializing MPICH", which I assumed would be due to trying to make the MPI calls outside of the main() function.
I generate a series of random numbers in parallel (using OpenMP), but depending on what number of threads I invoke, I get a different result. From that I conclude that I have made an error somewhere!
Here is the MWE, which generates a number between 0..1 and increments a variable if the generated variable is larger than 0.5:
Code:
#include <random>
typedef std::uniform_real_distribution<double> distr_uni;
#define max_threads 1
using namespace std;
[Code] ....
When I set max_threads=1 I get 50027, but when max_threads=60 (on a machine that supports it....) I get 50440.
The sensitive RNG and its engine I have declared within the parallelized area, so it's not really clear to me where the error can possibly be.
Looking for error that is apparently there?
I have a bunch of numbers in an array, lets say 1,2,3,4,5,6,etc... and assign these to different threads.
processor 0: arraypart = 1,2
processor 1: arraypart = 3,4
etc...
Each processor is going to delete some of the assigned numbers.Is there a 'standard' technique for merging the arrayparts at the end of the parallel section (in pthreads)? If there are a neater way of doing this with lists Im also interested in that.
Example: After parallel section array is 1,3,6,etc
I have trouble reading data from a text file to parallel arrays. the text file (album.txt) has this format:
Code:
(song1 title)
(song1 artist)
(time1)
(song2 title)
(song2 artist)
(time2)
.
.
etc
I want to store these data into three arrays:
title [], artist[], time[] this is what I have so far:
Code:
#include <stdio.h>
#include <string.h>
#define SIZE 9999
int main ()
{
FILE *tFile;
char title[SIZE];
[Code]...
the problem is that each array reads the whole text? I want to store artists name in char artist[] .. titles in char title[] and so on
i'm facing some problems with the array, as I have my .h and .cpp files so do i declare them as per norm of how we usually declare a function?
pointtwod.h
class PointTwoD {
private:
int xcord,ycord;
float civIndex;
LocationData locationdata;
[Code] ....
when i compile the error message i get was even when i i put in int xord[]; in my PointTwoD.h file:
PointTwoDImp.cpp:99:6: error: prototype for 'void PointTwoD::storedata(int*,int*,float*) does not match any in class 'PointTwoD'
PointTwoD.h:48:8: error: candidate is: void PointTwoD::storedata(int, int, float)
PointTwoDImp.cpp: 135:22: error: 'xord' was not declared in this scope
PointTwoDImp.cpp: 135:27: expected primary-expression before ']' token
PointTwoDImp.cpp: 135:30: error: 'yord' was not declared in this scope
PointTwoDImp.cpp: 135:35: expected primary-expression before ']' token
PointTwoDImp.cpp: 135:38: error: 'civ' was not declared in this scope
PointTwoDImp.cpp: 135:42: expected primary-expression before ']' token
I need to take an unknown amount of sorted files and then output any number that is in at least half of them... I know I need to read in the files to a vector and then iterate through them all at the same time looking at the lowest number first and so on. But I am stuck at the point of taking an unknown amount of files and putting them in a container.
This is what I have so far but the vector isn't working and I think I should be putting each file into its own vector.
string get_file(string filename)
{
ifstream in(filename);
if (in)
[Code]....
I am attempting to reconfigure a working code that before used while loops and if statements to convert a numeric score to a letter grade. I now wish to take this same code however I want to change the char convertGrade(int numScore) to simply use a parallel array as a replacement to the if statements.
The array needs to consist of 3 arrays of fixed size 5:
int minScores[SIZE]
int maxScores[SIZE]
char letterGrade[SIZE]
I know the declarations need to go in the function convertGrade but this is the first time I have worked with arrays and I am having trouble trying to figure out how this array will replace my previous if statement.
In order to access the array elements I need to write specifications such as
minScores[i]
maxScores[i]
letterGrade[i]
(where i = 0, 1, 2, 3, or 4)
#include <stdio.h>
#include <stdlib.h>
#define SIZE 5
int getScore(void);
char convertGrade(int numScore);
[Code] .....
So the point in this code is to promt the user to enter a product ID. It then should search the ids array and display the corresponding price and quantity from the prices and quantities arrays. I'm sure this is quite simple but I am new to programming and having trouble understanding arrays. All it is doing is giving me the first subscript when I input a -1.
//Advanced34.cpp - displays the price and quantity
//associated with a product ID
//Created by Scott Knight on April 12, 2014
#include <iostream>
using namespace std;
int main() {
//declare arrays and variables
int ids[5] = {10, 14, 34, 45, 78};
[code]......
I am having a problem with my program to calculate the GPA of a student. The problem that I am having is that I am not able to get my Total Point Value to display the sum of the two arrays. The multiplication for the array is correct and will display correctly, but instead of putting the total into the accumulator it will display the totals in a column. I have tried moving the coding for the calculation out of the loop that converts the letter grade into a point value,and placing it in it's own loop, but I still get the same display output. Below is the code that I have so far. I still have a few elements to add to the code, but they will be easy once I get this display to work right.
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
// Global const
// prototype
int main () {
// Varialbes, Arrays
[Code] ....
Class programming project where we declare two arrays, a sting array containing the names of the boroughs and an int array which which holds accident number for each borough. The main function calls getNumAccidents() function to fill the array. it then calls findLowest() to learn which borough had the fewest accidents. It should print out the accident numbers for each borough and then out the borough and accident number with the fewest accidents.
I'm able to get the program to kind of work. When I run it everything works fine but I am not able to get the arrays to sort and match up correctly..
#include<iostream>
#include<iomanip>
#include<string>
#include<cstring>
using namespace std;
class combineSort {
public:
combineSort() {
[code]...
I'm working on a parallel Fortran program by using MPI, which calls a very good random number generator function from C (drand48 and srand48 for seed).
My Fortran program file "Par_PICFort_4.f95" is smt. like:
Code: PROGRAM main
IMPLICIT NONE
Include 'mpif.h'
[Code]....
I compile the code as: Code: mpif77 -o PIC Par_PICFort_4.f95 drand48.c Program seem to be running, but after checking the simulation results, I see that drand48 is not working in a parallel way. Creating independent random numbers which different seeds is very important for me.
Question: Is it possible to run the drand48.c file as parallel?
I have an external file that I would like to read from this file and place the values into parallel arrays. The file has these values:
Rams
Titans
23
Patriots
Rams
20
Steelers
Seahawks
21
I have a module that pings the network to find available devices using threading.
the money line:
var valids = range.AsParallel().AsOrdered().Where(ip => ip.Ping()).ToList();
The problem is, I need to display a progress bar while this function runs. I have the progress bar implemented with a background worker, but it won't update while the ping module is executing. I *think* it's because I'm using the available threads for the ping module.
When the user clicks a button, I need the ping module to run while the progress bar updates, or even just set IsIndeterminite to true. What would be the best way to accomplish this?
Basically, I want to write an image to disk in parallel with an algorithm that is processing that same image. The code is really simple:
Code:
string ProcessImage(System::Drawing::Bitmap ^bmp, System::String^ targetFile) {
bmp->Save(targetFile);
System::Drawing::Bitmap^ bmp8 = BitmapConvertPixelFormat(bmp, 8); //<-- a function I wrote which converts the 32bpp I am passed into an 8bpp one
string results = Analyze(bmp8); //<--- takes a good bit of time
return results;
}
What would be the fastest way to do this? Any libraries with a code sample. I would prefer one that is within .NET or native C++ just to avoid having to link into many different libraries.
I'm new in c programming and my requirement is as follows. I make a code for oss mixer and now when new systems, throwing the OSS, and there is no /dev/mixer I want to port my code to alsa but my skills are minimal.
Code:
static int mixer_fd = -1, mixer_src = -1;
static char *devices[] = SOUND_DEVICE_NAMES;
int mixer_init(char *mixer_device, char *mixer_source) {
int i;
mixer_src = -1;
for (i=0;i<SOUND_MIXER_NRDEVICES;i++)
if (strcmp(mixer_source, devices[i]) == 0)
[Code] ....
Coexistance with OSS would be nice, so both could be used depending on users choice. Perhaps: if this first
part of the mixer name is a valid device file, try OSS, otherwise try ALSA?