is bs2p capable of having a baud rate of 19200?
ice-egoz
Posts: 55
My program requires a connection between the Bs2p and Nokia 7110(modem) of 19200bps. I know that it is equivalent to 16494(baudmode). But the debug terminal keeps showing 9600. My program works fine with another modem at the rate of 9600. but i need to use nokia, so any suggestion?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
By using this conditional compilation block I can change SEROUT/SERIN·baud rates easily and I don't have to think about which BASIC Stamp I'm using because the program handles that too.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
By the way what does "Data occupies same location as program"
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
In response to your question,"Data occupies same location as program", unfortunatly is only one sad answer.
Your data stored in the eeprom is overlapped by the program. I did have the same problem too. Maybe you have too many data statements on your program, or the program grow so big that it needs more space and it will try to write on the locations which you assigned as data statements. The solution is to check your code and make it more eficient and smaller , or to move all the data statements to a diferent bank. On my programs i have usualy bank 6 defined as LCD_Data. All the statements on the eeprom i store them there. It is a big place and if you put them well you have a lot of room to store. To retrive them i just use store command before reading or writing . See below a subroutine which i use (dumy code of course) :
if value· < 10 then
eeaddr=100································· 'address on bank 3 wher i store messages to display on LCD
gosub show································· ' go and display a message
endif
if value >= 10 then
eeaddr=100································ 'address on bank 4 where i store messages to print on the printer
gosub print
endif
SHOW:
STORE 3······································ 'THIS WILL REDIRECT TO READ FROM SLOT 3
DO
· READ EEADDR, eeData
· SEROUT lcdpin,lcdbaud,[noparse][[/noparse]eedata]
· eeaddr=eeaddr+1
· IF (eedata =0) THEN EXIT
LOOP
STORE 0····································· ' This will return the control to slot 0
RETURN
PRINT:
STORE 4····································· 'this i read the messages to print from slot 4
DO
· READ EEADDR, eeData
·SEROUT prnpin, prnbaud,[noparse][[/noparse]EEDATA]
·eeaddr=eeaddr+1
· IF (eedata = 0) THEN EXIT
LOOP
STORE 0···································· ' here i return the control to slot 0
RETURN
I hope that will help you with the overlapping problem.
To see where your program overlap, a temporary solution is to comment· " ' " all the data statements and look on the memory map. On the left you can see how big is the program and how much data you can use. Then, uncoment one data statement at the time and look at memory map to see where you are. At one point you will get back the message and you will now that you are at the limit of data and program
Good luck
Ion
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I need all ya guidance Masters. [noparse]:)[/noparse]
In the message slot, I would define data statements like this:
By using @$x0 in the DATA statments I can force the message locations to be on eve 16-byte boundaries.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office