USART Forever loop with interrupts

Go To Last Post
46 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I typed my a code to use USART 9Bits addressable communication to toggle 2 LEDs between 2 Mega16. Here is my code:

Transmitter:
 


/*Defining Statments*/
#define F_CPU 8000000UL
#define generalCallAddress 0x01
#define ACK 0x02
//#define NACK 0x03
#define myAddress 0x04
#define slaveAddress 0x05
#define delay 2000

/*Include Statements*/
#include "USARTModule.h"
#include #include

/*Global Variables Statements*/
char dataRecieved;
char dataTransmitted = 0x07;
char addressTransmitted = slaveAddress;
char dataExpected = 0x05;

/*Global Function Declare*/

/*Main*/
int main(void)
{
sei();
USARTinitil(8000000UL, 19200, 'n', 'a', 'e', 2, 9);
while(1)
{ if(dataExpected == addressTransmitted)
{
USARTTransmitAddress(addressTransmitted);
} else if(dataExpected == dataTransmitted)
{
USARTTransmitData(dataTransmitted);
} else if(dataExpected == NACK)
{
USARTTransmitAddress(addressTransmitted);
} else if(dataExpected == ACK)
{
USARTTransmitData(dataTransmitted);
}
}
}

ISR(USART_RXC_vect)
{
dataRecieved = USARTReceive();
switch(dataRecieved)
{
case ACK:
if(dataTransmitted == 0x06)
{
dataTransmitted = 0x07;
dataExpected = dataTransmitted;
_delay_ms(delay);
}else
{
dataTransmitted = 0x06;
dataExpected = dataTransmitted;
_delay_ms(delay);
}
case NACK:
dataExpected = NACK;
_delay_ms(delay);

case myAddress:
dataExpected = ACK;
_delay_ms(delay);
}
}

Receiver:
 

/*Defining Statments*/
#define F_CPU 8000000UL
#define generalCallAddress 0x01
#define ACK 0x02
#define NACK 0x03
#define myAddress 0x05
#define masterAddress 0x04
#define turnON 0x06
#define turnOFF 0x07
#define LED1 PB0
#define LED2 PB1
#define LED_DDR DDRB
#define LED_PORT PORTB
#define delay 2000

/*Include Statements*/
#include "USARTModule.h"
#include #include

/*Global Variables Statements*/
char dataRecieved;
char dataExpected;

/*Global Function Declare*/

/*Main*/
int main(void)
{
sei();
setBit(LED_DDR, LED1);
setBit(LED_DDR, LED2);
USARTinitil(8000000UL, 19200, 'n', 'a', 'e', 2, 9);
MPCMModeSet();
while(1)
{
if(dataExpected == ACK)
{
USARTTransmitData(ACK);
} else
{
USARTTransmitData(NACK);
}
}
}

ISR(USART_RXC_vect)
{
dataRecieved = USARTReceive();
switch(dataRecieved)
{
case myAddress:
MPCMModeClear();
dataExpected = ACK;
_delay_ms(delay);

case turnON:
MPCMModeClear();
setBit(LED_PORT, LED1);
setBit(LED_PORT, LED2);
_delay_ms(delay);

case turnOFF:
MPCMModeClear();
clearBit(LED_PORT, LED1);
clearBit(LED_PORT, LED2);
_delay_ms(delay);

case NACK:
MPCMModeSet();
dataExpected = NACK;
_delay_ms(delay);
}
}

Why does I only get 4 loops for toggling my LEDS and then it stops?!
Why is my logic deniable?!

Ahmed Hamdy

Last Edited: Wed. Apr 24, 2019 - 03:23 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome to AVRFreaks!

 

Please tell us what AVR you are using.

Also when posting code, use the code tag "<>" in the edit menu, as it will preserve your spacing and more, makes looking at the code much easier!

There are few if any comments in the code, so please tell us a general overview of what your code intended to do, what it is doing, how it differs from expected.

 

One thing I noticed is the use of delay_ms() in ISR(), as a general rule, ISR()'s should be fast, do what is needed and get out.

My guess is your missing some of your serial data coming in due to data overruns, because of the delays in your ISR()'s cause the main() to miss data as it is not servicing the incoming data fast enough.

 

Jim

Edit: OP said M16's

 

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

Last Edited: Tue. Apr 23, 2019 - 06:17 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you for your complimentblush

 

My code intended to simulate a USART 9 bits format while MPCM is set.

Pseudocode: 

1- usart initialization for both master and receiver

2- transmitter send slave address 

3- slave check if the received address is his address

4- slave clear MPCM if the received address is his address

5- slave transmit ACK back to master if it addressed

6- slave stay at MPCM mode if not addressed 

7- slave transmit NACK if there is FE, DOR or PE 

8- master check received data from slave and decide what to do

9- if it ACK then master transmit turn-on or turn-off command

10- if it is NACK then master transmit address again

 

That thing should run forever but otherwise my LEDS toggle 4 times which is 8 transmission by master to slave then it stop toggling. And that is it

 

About the delay

When I am not using it my LEDS keep toggling very very fast which unseen  by normal eyes. So may be I implement the delay in my main function better?๐Ÿ˜‚

Ahmed Hamdy

Last Edited: Tue. Apr 23, 2019 - 06:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Take the delay's out of the receive side and see if that helps, you are transmitting only once every 2 seconds, so no need for the delay on the receive side.

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK I try that and I will take out the delay from the interrupt routine ๐Ÿ‘Œ 

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In Post#1 you have for the Receiver:

/*Global Variables Statements*/
char dataRecieved;
char dataExpected;

 

Since your program assigns values to both these variables in the ISR,

these two variables should be marked as volatile.

 

/*Global Variables Statements*/
volatile char dataRecieved;
volatile char dataExpected;
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why use 9bit for simple avr to avr over usart?

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I tried both notes of ki0bk and Chuck99 and still the same thing happen

My LEDS toggle on and off only 3 times then nothing happen

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To enable multi-processors mode so I can use the address feature of the act over USART

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But why would you want to do that for point to point unledlss its for learning experience?

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To enable multi-processors mode so I can use the address feature of the act over USART

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes I am learning 

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you are using the internal RC clock that might be part of your problem. They drift and if they both drift differently you can lose comms.

Second you have that call to a function in your receive interrupt routine with a switch. You can lose a charachter coming in while servicing all of that. Better to make your ISR lean and have main handle the "processing". Have you been able to get solid comms without 9 bit by just passing bytes? If not then i suggest you start there first and once you have that going add on the 9 bit.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your switch statement does not have any break

commands at the end of each case.  Also, you

may want to add an else clause at the end of

your if - else if - else if statement in case the

value in dataExpected does not match any of

the possibilities.  Also add a default label to

the switch for the same reason.

 

--Mike

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

1- Yes I am using the internal oscillator 8mhz. (Wait I will try external now and get back to you).

2- Yes I found the 8bits USART is easy to implement and I succeeded to do it. 

3- I modified the ISR as ki0bk said and as you mentioned. Fast get in and out ISR and let the main() do the processing

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AhmedHamdy wrote:

To enable multi-processors mode so I can use the address feature of the act over USART

But the point is that this only starts to make any sense when you have THREE micros in the system. One "master" and two addressable "slaves". When you have just one master and one slave you over-complicate things by trying to use MPCM. Are you saying this is just an initial experiment that will be the basis of a multiple CPU system? But if that's the case then to really test it (verify that only the addressed slave is active) you really do need to add another one!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And to add to Cliffs post, you will also need to use a physical communications scheme that will support tieing multiple processors to one host.

Look up RS485 for example.

For a point to point test, once you have comms established, change the address in the transmitter only and see if the comms fail.

Jim

Edit: damned iPad autocorrect

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

Last Edited: Wed. Apr 24, 2019 - 12:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
ee if the commas fail.

Don't you just love autocorrect! 

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually that is aimed to be as you are asking me to do but i just want to do it point to point for once with ever ending loop.

Current structure of the code is my first code ever using avr except for leds and buttons.

And i think that the problem is the internal Oscillator . Because it have a margin error +10% which is more than 2% for allowed USART error.

After i get 2 x 7.3728mhz i try it again

Ahmed Hamdy

Last Edited: Wed. Apr 24, 2019 - 01:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If it is "point to point" why are you using a mode that is intended for one-to-many addressing usage? If you just want to get two micros to "talk" between the UARTs why do you think MPCM needs to be involved?

 

As for clocks. The whole point of the A in UART is that it means "Asynchronous". This means that each station runs its own clock. Two (or more) stations can only communicate because they run their clocks very close to some known value. There is a little bit of room for error. Overall you can have about 4% of error and it all still works. That is generally take to mean that any one device can be +/-2% so that in the worst case when one is -2% and the other is +2% (or +2% to -2%) then there's still no more than 4% of error.

 

But then you look at the "internal RC" oscillator of an AVR. It can be +/-10% so if you were really unlucky and one AVR happened to be -10% and the other was +10% their clocks would be out of sync by a massive 20%. Well beyond the 4% you can get away with. That's why it's usually suggested to use crystals on each station as they are generally only 50..100 parts per million inaccurate. That means that worst case, if it is actually 100ppm out then it is only a 100/1,000,000 = 0.01% wrong.

 

Of course that +/-10% quoted for AVRs is worst case and the devices likely follow a standard bell distribution. So the majority are nowhere near as far out as -10% or +10%. So usually you'll be lucky with intRC. What's more Atmel test them in the factory and write calibration bytes into the chip. With the right temperature and Vcc that value (which is loaded at power on) might be enough to make the chips accurate.

 

note however that you said "mega16". Unlike modern AVR that have just one intRC those chips had four different intRC and four different factory calibrations. At power on, however the fuses may be set, they load the value for the 1MHz oscillator. So if you are using the 8MHz oscillator you need to load its calibration value manually. At the right Vcc and temperature it will reduce +/-10% to +/-1%

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
If it is "point to point" why are you using a mode that is intended for one-to-many addressing usage? If you just want to get two micros to "talk" between the UARTs why do you think MPCM needs to be involved?

 

I asked the same question:

 

jgmdesign wrote:
But why would you want to do that for point to point unledlss its for learning experience?

 

And the response was:

 

AhmedHamdy wrote:
Yes I am learning 

 

So this may simply just be that.  A base for a future project.  But as noted there are some issues with the OP's setup physically, and the code as well.

 

Jim

 

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using JTAGICE clone for burning fuses.

And thank you for your explanation.

 

And of course thanks Jim I wish I had a tag for your name.  ๐Ÿค—๐Ÿค—๐Ÿค—๐Ÿค—๐Ÿ˜Ž

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am sorry I am using mobile

And yes it is part of more bigger idea that is why I am trying to issue all the things I need for the bigger idea 

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So you DO need MPCM because there ARE going to be more than 2 micros in the eventual solution?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What I really wanna do after the initialization counting on a logic for translation I will take it for full duplex tests using max488 or Max 489 I don't remember the part number

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah that is how I should learn experiment 

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Max488/489 are not full duplex parts. They are half duplex. And with multiple micros you cannot have full duplex very easily either.

Hint. With many 485 comms systems 9bit is not used. Packet/CRC is used amd the address is embedded in the packet. 9bit is a pain in the a$$ to use.

East Coast Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

Last Edited: Wed. Apr 24, 2019 - 03:20 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Man I am still learning let me get it run forever loop first. That is a dream the thoughts you are talking about.

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you had basic comms without the 9th bit/mpcm then you should be fine.

And the packet/crc is not that difficult to learn.
Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Did you miss my post in #14?  Your code

has some serious problems that you need

to fix.

 

--Mike

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry I am trying to use mobile more less than PC because it hard.
Volatile. Comments. Breaks

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
If you are using the internal RC clock that might be part of your problem. They drift and if they both drift differently you can lose comms.

Second you have that call to a function in your receive interrupt routine with a switch. You can lose a charachter coming in while servicing all of that. Better to make your ISR lean and have main handle the "processing". Have you been able to get solid comms without 9 bit by just passing bytes? If not then i suggest you start there first and once you have that going add on the 9 bit.

Jim


Datasheets details. The error detection can be more further with bootloader. And binary format SD CRC.
Why is it hard for me sometimes to understand the bootloader section. Hard road right? All about learning

Ahmed Hamdy

Last Edited: Wed. Apr 24, 2019 - 03:10 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you all for your kindness

Ahmed Hamdy

Last Edited: Wed. Apr 24, 2019 - 03:18 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dont know why you tagged my post as a solution, but hey ho whatever.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The thing is that can't find much options for ics and ordering  it isn't that easy

But I thought max488 is full duplex?

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Yes the 488 is but its for point to point communications only. Not multiple devices.

Lets take a step back. Tell us what your end goal is and in return we can provide suggestions on what you should look at to make the goal a reality.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I know that is my target now "full duplex chip to chip and my goal is already reality but counting on Arduino as a platform.
And private sources. If you really can help me.... I need something about signal circuit in radio transceiver area.

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Radio tranceivers are totally different than copper communications.

You seem to be all over the place with this.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
You seem to be all over the place with this.

Mainly due to a lack of a well thought out plan for this...

What you need is a data transfer protocol that will work regardless of the transport layer, something like S.N.A.P : http://www.hth.com/snap/

Have fun.

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually that a thing I haven't heard about before but Thank you I am done with internet of things and yeah it will be a very good library for communication if I need but I am willing to migrate to ARM after 8bit arch or may be XMega if I can get it. Or as they say in S.N.A.P's library. """All these often uses resource limited MCU's""". Which if I want I can use all this modules with Arduino platform. I wanna dig more.
And may be this is my first appearance here with a question but I am here from more than 2 years old reading and learning all what I can get or missed in my formal education age

Ahmed Hamdy

Last Edited: Wed. Apr 24, 2019 - 06:27 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Best resources and best teachers

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you again. Hope I can be a good partner here as a student

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Again
Make a detail outline if what you want to accomplish and post it. We will help but changng things around the way you have does not help.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't worry outline is there but I only miss the details so I am breaking it down to section like logic problems. And I will be here from now on because that is my only team work I have. And what makes you unique in your way is your SIGNATURE. big step for me believe me for me to be here. I would not dear to be here from 1 year ago. 

And is there anyway to private message here?

Ahmed Hamdy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have no idea what my signature has to do with anything

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ahmed Hamdy