If you look at what im sending you will notice that it already in machester format:
$55,$55,$66,$95 = 01010101 01010101 01100110 10010101
If you look at what im sending you will notice that it already in machester format:
$55,$55,$66,$95 = 01010101 01010101 01100110 10010101
Hello,
try more preambel-characters,
Use "DEFINE CHAR_PACING 1000" at the transmitter
We use such simple receivers/transmitters... ;-)
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
so just add the line "DEFINE CHAR_PACING 1000" at the beginning of the transmitter program? no need to change anything else?
Not sure I agree with this statement. I'm no RF engineer by any means, but I think the manchester equivelent for this would be:Originally Posted by Kamikaze47
Melanie explains it HERE very well.Code:0110011001100110 0110011001100110 0110100101101001 1001011001100110
Wisdom is knowing what path to take next... Integrity is taking it.
Ryan Miller
What im saything there is it is allready encoded. If you encode 1111 1111 1010 0111, you get 01010101 01010101 01100110 10010101 which is what im transmitting. The numbers you worked out is what you get if you encode 1111 1111 1010 0111 twice![]()
Last edited by Kamikaze47; - 4th November 2005 at 19:47.
OK... gotcha.... what, you don't want superdooper redundant encoding? Just kidding.
Wisdom is knowing what path to take next... Integrity is taking it.
Ryan Miller
You want to try and figure out if SERIN2 is hanging on the wait qualifier or if it is receiving garbage after the qualifier. You could try something like this:
This will not hang the SERIN2 command on waiting for $66, it's kind of crude and it will not be great if it misses sync (i.e. receives $95 before 66$). To properly do this you want to have what is referred to as a ring buffer (good topic for search).Code:start1: Serin2 PORTB.1,16572,[qual] ' wait for $66, then store data if qual=$66 then start2 goto start1 start2: Serin2 PORTB.1,16572,[recvd] ' once qualifier is recieved store data new data if recvd=$95 then High PORTB.0 ' if recvd=1 turn on LED if recvd=$99 then Low PORTB.0 ' if recvd=2 turn off LED goto start1 ' loop
Ive tried adding the "DEFINE CHAR_PACING 1000" line, but it dosnt seem to have made much difference either.
The range is still about 15m with obsticles, or 30m line of sight... That might be as good as it gets?
These modules you are using should get further but long time ago, I run a test on these and was disappointed by their behaviour. Then switch to Aurels and after that I am building my own modules for superegenarative and hyperodyne ones.
I would suggest if you don't need many, to try some other brand.
Ioannis
Bookmarks