Peter L. Peres email (remove spam text)
On Thu, 5 Nov 1998, Gavin Jackson wrote:
> The first thing that comes to mind is to decode the
> dot dash dash dot into 0110 with a '1' representing
> dash and a '0' representing the dot. Then store a
> table in the PIC and do a simple compare through
> the table until a match is found. The only problem
> I see with this method is trying to tell the difference
> between a J ( . - - - ) and a 2 ( . . - - - ) which would be
> 0111 and 00111 respectively.
The usual way to encode decoded morse for id purposes is a 4-way code,
with 2 bits per symbol. That's like:
00 - dot
01 - dash
10 - long space
11 - error (neither of above) or end symbol.
Then you can pack these 4 per byte and life becomes easier. The end symbol
is used in the table and in the receiver buffer, in the latter it having
the meaning of 'error'. There are other schemes too. Note that you can
encode strings like this in tables. This is used for beacons, ids etc.
Of course you can compress the symbol recognition table by dropping the
MSB in each symbol using the code outlined above.
hope this helps,
In reply to: <01BE089D.8144A5C0@p58-max57.akl.ihug.co.nz>
See also: www.piclist.com/techref/index.htm?key=morse+decoder
You must be a member of the
piclist mailing list
(not only a www.piclist.com member) to post to the