Sean As I said in my note I have the modedefs in there and it compiles 100%
I have also tried it direct with 1k resistors and via an interface and i get garbage in all cases.
Mark
Sean As I said in my note I have the modedefs in there and it compiles 100%
I have also tried it direct with 1k resistors and via an interface and i get garbage in all cases.
Mark
With the debug command I have also tried to use 4800 Bps and both inverted and non inverted with no luck still garbage.
Mark
Mark you say you are using VB.
Have you simply ran up hyperterminal, set the com port to 2400 8 n 1, hit retunr to open port and then looked for the data, this will illiminate another step if the data is clear and then it has to be the VB side of things.
Regards
Sean.
I have used my own comms software, hyperterminal etc plus vb (gives me bit stream access) and nothing works.
I have this nagging feeling that this is the comms port to be honest or rarther the wrong caps on teh max232cpe level converter I have built several of these and have used 20uf instead these are proper maxim devices as well
but I have this feeling that it may be possible that the caps are wrong as the ICD does not connect either mmmmmm off to replace the caps I think.
But I have also tried without the interface as well and get exactly the same datastream ... The operating system is irrelevent but I have used W2k and OS X I have windows 98 so I may give this a try, I also need to check the fifo buffers for the W2K box and see if these are not messing me up...
The vaio machine I am using does not want to talk to some devices sometimes and maybe this is the root, of course it could be guess work as the Mac is rock solid.
Mark
Its not the serial ports
b var byte
include "modedefs.bas"
for b = 1 to 100
SEROUT PORTB.6,T2400,[#b]
next
Counts as you would expect, on the pic simulator with the code complied for the F84 and simulator set for F84 works great, set compiler to 877 and simulator to the 877 it delivers garbage.
This is telling me that there may be something wrong with my basic compiler
in the include files ?????
this should give 12345 etc but give junk with the 877 selected
Mark
After deinstalling all of the software and cleaning the machine (I do many different development tasks) I then re-installed the software components again. Checked the MAX232-Interface with another type of system requireing a level converter this checked out fine.
The same problem existed.
Then I decided to move to hSerOut as I could get closer the baudrate generator values..
Got the picbasic example, and still the same garbage.... Then I got the scope connected and sent a constant stream of one character with a second delay
bingo after some calculations it was easy to see what the problem was
if you use SPBRG = 24 ' Set baud rate to 2400
you get garbage or can only send single characters
but if you use
SPBRG = 23 ' Set baud rate to 2400
as per the spec sheet bingo it works, this means that in picbasic 244 the default defines are not correct for the 877.
the use of debug could be fixed I guess by attacking the mac files (but I will not) because this could be for a reason.
So I will use hSerOut with the above to solve the problem I had.
Don't you just love RS232 lol,
Thanks for all you help guys and if anyone has seen this before and
has a fix then please drop me a line..
Mark
G4LCH
Guy's
I have located the real source of the problem. The crystal supplied
by maplins that is marked as 4.00MHz is actually a 3.5MHz crystal.
Hence why the baud rate calcs were off. I swapped this for a real 4.00MHz
crystal and bingo everything works fine. Including the ICD which is cool.
Just thought you should know to always check the actual frequency the pic
is operating at. If a crystal is quoted as 4Mhz and debug or serial routines
give junk and you do have
Define OSC 4
Then the chances are that the crystal is either off frequency or the padding caps are wrong or in my case is 500 odd KHz low.
I located this by first checking the PicBasic includes and their calculations
were correct 100% this pointed to only one thing the crystal was off frequency.
Hope this help someone else.
Mark G4LCH
Bookmarks