'm writing a code where a intel hex-80 file is send through the hyperterminal..in my code,i decode the hex file,extract the data and write it onto the flash memory....the problem is when i type the hex file through hyperterminal,its workin fine...bt whn i send a file ,many charcaters are missing...pls help...the baud rate is set as 9600....workin on p89lpc915 on keil....
Absolutely!
There are two key lessons that you need to learn from this:
1. Timing is important!
2. Blindly sending data and just assuming that it arrives complete & unaltered is not a good plan!
And, of course, the need to think!
While it is certainly possible, and might be appropriate, to develop a custom protocol, you should first invstigate what standard protocols are available.
I suggest that you look carefully at XMODEM: it is a simple protocol - well within the capabilities of a small microcontroller - and is (almost) universally supported by terminal applications - which obviates the need to write your own application. It is also widely supported by comms libraries if you do want/need a custom app...
wel my boss is averse to the idea of using a flow control...i was thinking of continue using the interrupt-driven reception and when the control shifts to flash memory writing function(wherein interrupts are disabled),use the polling method to continue receiving...is that possible???
In that case, get your boss to suggest a suitable method of doing this!
In the list of 3 options that I gave earlier, note that "flow control" is used as a general term for any form of "pacing" - not just the RTS/CTS ("hardware") or XON/XOFF ("software") terms used by Hyperterminal.
As already noted, protocols such as XMODEM are self-pacing
Anyhow, If you really "can't" use any form of pacing, that obviously just leaves you with the other 2 options:
1. Ensure that you process each character quickly enough to be ready before the next one arrives;
2. Provide some way to quickly store the data as it arrives, so that you can process it later, at your leisure. This is known as buffering
"i was thinking of continue using the interrupt-driven reception and when the control shifts to flash memory writing function(wherein interrupts are disabled),use the polling method to continue receiving...is that possible?"
How do you think that would help? What problem does it actually solve?
You still don't seem to have understood the problem yet! Look again at my post of 9-Jun-2011 07:31 GMT - and think about it!
You don't appear to have learned them; here they are again - note particularly number 2: