Discussion forum for the BasicX family of microcontroller chips.
|
I've been wondering why the BasicStamp seems to be more popular than the BX-24. Perhaps it's not but some superficial evidence is that the basicstamps Yahoo group has about three times as many members as this one and has activity roughly in the same proportion. Does anybody have any ballpark idea of the number of Stamps out there versus BX-24 (or the Atom, etc.)? I can't figure out why anyone who's just getting started would choose the Stamp over the BX-24. The Stamp, even in it most powerful form, has a raft limitations and shortcomings compared to the BX-24: archaic language, slower execution speed, extremely limited RAM, small program space (partially ameliorated in the higher end Stamps with a clunky paging scheme), no real math... So what is it? Better marketing, better PR, being there first, dumb luck? By the way, I have seen that Radio Shack had a pilot program to sell Stamp "Board of Education" kits. The scuttlebut is that the pilot went well and they're planning a more significant roll-out shortly. it also sounds like the Stamp is being used in quite a few college and tech school courses. Too bad, that. Don who confesses to having built a project using the Stamp2 but now uses the BX-24 instead. |
|
|
|
So what is it? Better marketing, better PR, being there first, dumb luck? A bit of all those Don. Their advertising is certainly well done, and they have a good range of bits and peices and free handouts, dbooklets etc which do appeal to the first time user. I also like you, have to admit that I used a stamp first off, and had never heard of the bx24, until I needeed to do some maths that the stamp could not do. It was Peter who suggested the BX24. neil Don Kinzer wrote: > I've been wondering why the BasicStamp seems to be more popular than > the BX-24. Perhaps it's not but some superficial evidence is that > the basicstamps Yahoo group has about three times as many members as > this one and has activity roughly in the same proportion. > > Does anybody have any ballpark idea of the number of Stamps out there > versus BX-24 (or the Atom, etc.)? > > I can't figure out why anyone who's just getting started would choose > the Stamp over the BX-24. The Stamp, even in it most powerful form, > has a raft limitations and shortcomings compared to the BX-24: > archaic language, slower execution speed, extremely limited RAM, > small program space (partially ameliorated in the higher end Stamps > with a clunky paging scheme), no real math... > > So what is it? Better marketing, better PR, being there first, dumb > luck? > > By the way, I have seen that Radio Shack had a pilot program to sell > Stamp "Board of Education" kits. The scuttlebut is that the pilot > went well and they're planning a more significant roll-out shortly. > it also sounds like the Stamp is being used in quite a few college > and tech school courses. Too bad, that. > > Don > who confesses to having built a project using the Stamp2 but now uses > the BX-24 instead. > > ------------------------------------------------------------------------ > *>. |
|
|
|
--- In , Neil Jepsen <njepsen@i...> wrote: > So what is it? Better marketing, better PR, being there first, dumb > luck? A bit of all those Don. Their advertising is certainly well > done, and they have a good range of bits and peices and free handouts, I have migrated to the BX from the Stamp via the Atom. The latest move was all to do with good floating point support, sensible comms & an industrial temp version. I agree with Neil and perhaps if Netmedia were to be a bit more active they could easily take a greater market share. Just out of interest I went back (today) to the basicX (I assume this is Netmedia's) website and note that the news page has not been updated since 9/4/2002, the customer apps page has not changed for many months and the last update to the program environment download was in August 2003. This lack of "movement" on the website does send out the wrong message. By contrast the Parallax website is bursting with up to date stuff which keeps people coming back for more. I would love to know how many people are using the Stamp, Atom and BX. Cheers Pat |
|
|
|
It might be just being there first. I bumped into it when friend showed me. He was not a programmer and I was (am?). It seemed that everything I wanted to do needed a faster stamp or more i/o. I ran into Peter Anderson's site and learned about the BX-24 and BX-35 and have never looked back. That said, I am running out of RAM on the BX-35! How can one really do multitasking with only 400 bytes of RAM? There is plenty of CPU power, but not enough RAM to store what you can do with it. I already use the block data class and persistent storage for as much as I can. Bob Roos On Thu, 22 Apr 2004 21:04:59 -0000, Don Kinzer <> wrote: > ... > So what is it? Better marketing, better PR, being there first, dumb > luck? > ... > Don > who confesses to having built a project using the Stamp2 but now uses > the BX-24 instead. |
|
I was looking for a PC based scope and Parallax sells a device called OptraScope. It is fairly simple and doesn't store data on the PC beyond a screen image, but for $189 (with their course) it could help someone "see" what's going on with those little electrons. My point is that Parallax is promoting and selling. I too have wondered how excited NetMedia is about their product since there has been limited updates to the website. BTW, I ordered a scope from LinkInstruments.com (50MHz, dual channel, storage through the parallel port) They have a USB adapter available. I will let you know how it works out if anyone is interested. On Thu, 22 Apr 2004 21:55:44 -0000, dongle241 <> wrote: > --- In , Neil Jepsen <njepsen@i...> wrote: >> So what is it? Better marketing, better PR, being there first, > dumb >> luck? A bit of all those Don. Their advertising is certainly > well >> done, and they have a good range of bits and peices and free > handouts, > I have migrated to the BX from the Stamp via the Atom. The latest > move was all to do with good floating point support, sensible comms > & an industrial temp version. I agree with Neil and perhaps if > Netmedia were to be a bit more active they could easily take a > greater market share. > > Just out of interest I went back (today) to the basicX (I assume > this is Netmedia's) website and note that the news page has not been > updated since 9/4/2002, the customer apps page has not changed for > many months and the last update to the program environment download > was in August 2003. This lack of "movement" on the website does send > out the wrong message. > > By contrast the Parallax website is bursting with up to date stuff > which keeps people coming back for more. > > I would love to know how many people are using the Stamp, Atom and > BX. > > Cheers > > Pat |
|
> That said, I am running out of RAM on the BX-35! How can one really do > multitasking with only 400 bytes of RAM? There is plenty of CPU power, > but not enough RAM to store what you can do with it. I already use the > block data class and persistent storage for as much as I can. I'm having exactly the same problems as you Bob, The BX-24/35 chip range is IMHO, one of the best all round chips out there, But I am finding the lack of RAM a problem. To get around the limited memory I'm considering switching to the BX-01 with a RAM sandwich to overcome this problem (the added advantage of doing this is also that you gain network access to other BX-01 chips, which means I can extend out the functionality of my project). Steve ;-) This email is intended only for the above named addressee(s). The information contained in this email may contain information which is confidential. The views expressed in this email are personal to the sender and do not in any way reflect the views of the company. If you have received this email and you are not a named addressee, please contact the sender and then delete it from your system. |
|
Don, Based on some ads I saw for Parallax, they claim to have sold more than 500,000 units! Yes the stamp is a much less capable processor, but I can certainly tell you it's reliable! Initially I started a project using the BX-24 because if it's capabilities. I purchased two units and I experienced some really strange problems. Eg. EEPROM died - had to return it to netmedia & when attempting to run the SAME code on two BX-24 the behavior was different. Maybe I just happen to order 2 lemons, but that surely diminished my confidence in the reliability. So I switched back to the trusty old Stamp! Don Kinzer <> wrote: I've been wondering why the BasicStamp seems to be more popular than the BX-24. Perhaps it's not but some superficial evidence is that the basicstamps Yahoo group has about three times as many members as this one and has activity roughly in the same proportion. Does anybody have any ballpark idea of the number of Stamps out there versus BX-24 (or the Atom, etc.)? I can't figure out why anyone who's just getting started would choose the Stamp over the BX-24. The Stamp, even in it most powerful form, has a raft limitations and shortcomings compared to the BX-24: archaic language, slower execution speed, extremely limited RAM, small program space (partially ameliorated in the higher end Stamps with a clunky paging scheme), no real math... So what is it? Better marketing, better PR, being there first, dumb luck? By the way, I have seen that Radio Shack had a pilot program to sell Stamp "Board of Education" kits. The scuttlebut is that the pilot went well and they're planning a more significant roll-out shortly. it also sounds like the Stamp is being used in quite a few college and tech school courses. Too bad, that. Don who confesses to having built a project using the Stamp2 but now uses the BX-24 instead. --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
From: Neil Grey <> > [...] > when attempting to run the SAME code on > two BX-24 the behavior was different. > [...] What behavior was different? Any chance you could post the code? I'd be curious as to why this would happen. -- Frank Manning -- NetMedia, Inc. |
|
--- In , Neil Grey <neilgrey@y...> wrote: > Don, > > Based on some ads I saw for Parallax, they claim to have sold more than 500,000 units! > > Yes the stamp is a much less capable processor, but I can certainly tell you it's reliable! > > Initially I started a project using the BX-24 because if it's capabilities. I purchased two units and I experienced some really strange problems. Eg. EEPROM died - had to return it to netmedia & when attempting to run the SAME code on two BX-24 the behavior was different. > > Maybe I just happen to order 2 lemons, but that surely diminished my confidence in the reliability. > > So I switched back to the trusty old Stamp! This has not been my experience over the past many years. And, I would love to see the same program running differently on two BX24s. Note that this kind of discussion actually happens on the BasicX Group. If brought up on the Stamp list, you will receive a nastygram and be unable to post. But, if you must go back to the weaker Stamp, you might consider the PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger than the BS2 at about $7.00 to $10.00. Peter H Anderson, http://www.phanderson.com/basicx/ |
|
|
|
Take the recent request for help with driving a relay. It seems that Parallax does a better job of making this kind of info available. For example, the Google search: drive relay "basic stamp" transistor yielded 202 hits, but the search using "basicx" in place of "basic Stamp" gave 15. And the first one in the hit list had an example. I like the BX-35 much better than the stamp -- especially because there is nothing that can handle as much i/o and it is less expensive. |
|
Hi Bob! Several of us are in the process of building a site with such info for the BX at www.bxdocs.com. I've almost got the relay drive article ready to post, but since it isn't posted, I haven't jumped in on that thread. There are several articles already posted, including one on pull-up and pull down resistors. If anyone is interested in contributing (articles, not money) to the site We're very interested! Sloan ----- Original Message ----- From: "Bob Roos" <> To: <> Sent: Saturday, April 24, 2004 7:31 PM Subject: Re: [BasicX] Re: BX-24 vs BasicStamp > Take the recent request for help with driving a relay. > > It seems that Parallax does a better job of making this kind of info > available. > > For example, the Google search: drive relay "basic stamp" transistor > > yielded 202 hits, but the search using "basicx" in place of "basic Stamp" > gave 15. And the first one in the hit list had an example. > > I like the BX-35 much better than the stamp -- especially because there is > nothing that can handle as much i/o and it is less expensive. > > Yahoo! Groups Links |
|
Reliability of the BX24 There have been several people who have reported fauulty chips when new. In the past 2 years, I have personally used over 200 BX24's in several different projects and I have NOT HAD ONE faulty device. neil jepsen. pha555 wrote: > --- In , Neil Grey <neilgrey@y...> wrote: > > Don, > > > > Based on some ads I saw for Parallax, they claim to have sold more > than 500,000 units! > > > > Yes the stamp is a much less capable processor, but I can certainly > tell you it's reliable! > > > > Initially I started a project using the BX-24 because if it's > capabilities. I purchased two units and I experienced some really > strange problems. Eg. EEPROM died - had to return it to netmedia & > when attempting to run the SAME code on two BX-24 the behavior was > different. > > > > Maybe I just happen to order 2 lemons, but that surely diminished > my confidence in the reliability. > > > > So I switched back to the trusty old Stamp! > > > > > > This has not been my experience over the past many years. And, I > would love to see the same program running differently on two BX24s. > > Note that this kind of discussion actually happens on the BasicX > Group. If brought up on the Stamp list, you will receive a nastygram > and be unable to post. > > But, if you must go back to the weaker Stamp, you might consider the > PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger > than the BS2 at about $7.00 to $10.00. > > Peter H Anderson, http://www.phanderson.com/basicx/ > ------------------------------------------------------------------------ > *>. |
|
|
|
Did you applications do any major serial communication? My application requires frequent communication between the BX-24 and PC. I ordered two units and my experience was as follows: 1) The program worked fine on the 1st BX-24 until the EEPROM died (for whatever reason I know not), 2) I then ran the SAME program on a 2nd BX-24 and then the serial communications failed. The unit would seem to lockup for no apparent reason. After this experience my confidence level in the device was reduced. I can understand that random device can be defective, but 2 in a row are too many! I was hoping to build our product around this unit but we do not want quality problems with our customers. Neil Jepsen <> wrote: Reliability of the BX24 There have been several people who have reported fauulty chips when new. In the past 2 years, I have personally used over 200 BX24's in several different projects and I have NOT HAD ONE faulty device. neil jepsen. pha555 wrote: > --- In , Neil Grey <neilgrey@y...> wrote: > > Don, > > > > Based on some ads I saw for Parallax, they claim to have sold more > than 500,000 units! > > > > Yes the stamp is a much less capable processor, but I can certainly > tell you it's reliable! > > > > Initially I started a project using the BX-24 because if it's > capabilities. I purchased two units and I experienced some really > strange problems. Eg. EEPROM died - had to return it to netmedia & > when attempting to run the SAME code on two BX-24 the behavior was > different. > > > > Maybe I just happen to order 2 lemons, but that surely diminished > my confidence in the reliability. > > > > So I switched back to the trusty old Stamp! > > > > > > This has not been my experience over the past many years. And, I > would love to see the same program running differently on two BX24s. > > Note that this kind of discussion actually happens on the BasicX > Group. If brought up on the Stamp list, you will receive a nastygram > and be unable to post. > > But, if you must go back to the weaker Stamp, you might consider the > PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger > than the BS2 at about $7.00 to $10.00. > > Peter H Anderson, http://www.phanderson.com/basicx/ > ------------------------------------------------------------------------ > *>. --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
|
|
Sounds EXACTLY like my experiences. I've used the B.S. Many times. NEVER had one do anything NOT expected. I'm sorry I can't say the same for the BX. Docs for the BX also suck by comparison. The B.S. has much better documentation than the BX, by a long shot! I've had 6 BX's now 'wack out' on my after multiple prog. lads, they no longer reliably take a program. Although I REALLY wanted the added A/D functions that the BX supplies vs. the BS. The added hardware needed for the BS to perform the same task, is much more reliable than basing any of our products on the BX. Paul Tegler www.teglerizer.com ----- Original Message ----- From: "Neil Grey" <> To: <> Sent: Monday, April 26, 2004 9:13 AM Subject: Re: [BasicX] Re: BX-24 vs BasicStamp Did you applications do any major serial communication? My application requires frequent communication between the BX-24 and PC. I ordered two units and my experience was as follows: 1) The program worked fine on the 1st BX-24 until the EEPROM died (for whatever reason I know not), 2) I then ran the SAME program on a 2nd BX-24 and then the serial communications failed. The unit would seem to lockup for no apparent reason. After this experience my confidence level in the device was reduced. I can understand that random device can be defective, but 2 in a row are too many! I was hoping to build our product around this unit but we do not want quality problems with our customers. Neil Jepsen <> wrote: Reliability of the BX24 There have been several people who have reported fauulty chips when new. In the past 2 years, I have personally used over 200 BX24's in several different projects and I have NOT HAD ONE faulty device. neil jepsen. pha555 wrote: > --- In , Neil Grey <neilgrey@y...> wrote: > > Don, > > > > Based on some ads I saw for Parallax, they claim to have sold more > than 500,000 units! > > > > Yes the stamp is a much less capable processor, but I can certainly > tell you it's reliable! > > > > Initially I started a project using the BX-24 because if it's > capabilities. I purchased two units and I experienced some really > strange problems. Eg. EEPROM died - had to return it to netmedia & > when attempting to run the SAME code on two BX-24 the behavior was > different. > > > > Maybe I just happen to order 2 lemons, but that surely diminished > my confidence in the reliability. > > > > So I switched back to the trusty old Stamp! > > > > > > This has not been my experience over the past many years. And, I > would love to see the same program running differently on two BX24s. > > Note that this kind of discussion actually happens on the BasicX > Group. If brought up on the Stamp list, you will receive a nastygram > and be unable to post. > > But, if you must go back to the weaker Stamp, you might consider the > PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger > than the BS2 at about $7.00 to $10.00. > > Peter H Anderson, http://www.phanderson.com/basicx/ > ------------------------------------------------------------------------ > *>. --------------------------------- Yahoo! Groups Links To --------------------------------- Yahoo! Groups Links |
|
Prof. Anderson: Let me explain the behavior problem: My program communicates bidirectionally with the PC via the com1 port. I developed and tested the software on the 1st unit and all worked well until the EEPROM died. I returned this one to Netmedia (which they DID replace). During this period I ordered another one. Since no changes were made to either the BX-24 code or the PC client, I expected that the replacement processor should, for the lack of a better term, "Plug and play". This was done, however for no apparent reason the communications would start then fail; the new BX-24 would "lock up" when attempting to communicate with it.. The only thing that can be done is to reboot the unit. From a price & capability perspective, this product definitely has the lead! As a side note (without any mal intent) , I purchased both units through your site. Regards. Neil Grey ps: I am pleased that we have freedom of speech on this group. I think learning comes from listening. Any company wanting to build a strong customer relationship needs to listen to what their customers and partners are saying. pha555 <> wrote: --- In , Neil Grey <neilgrey@y...> wrote: > Don, > > Based on some ads I saw for Parallax, they claim to have sold more than 500,000 units! > > Yes the stamp is a much less capable processor, but I can certainly tell you it's reliable! > > Initially I started a project using the BX-24 because if it's capabilities. I purchased two units and I experienced some really strange problems. Eg. EEPROM died - had to return it to netmedia & when attempting to run the SAME code on two BX-24 the behavior was different. > > Maybe I just happen to order 2 lemons, but that surely diminished my confidence in the reliability. > > So I switched back to the trusty old Stamp! This has not been my experience over the past many years. And, I would love to see the same program running differently on two BX24s. Note that this kind of discussion actually happens on the BasicX Group. If brought up on the Stamp list, you will receive a nastygram and be unable to post. But, if you must go back to the weaker Stamp, you might consider the PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger than the BS2 at about $7.00 to $10.00. Peter H Anderson, http://www.phanderson.com/basicx/ --------------------------------- Yahoo! Groups Links To --------------------------------- |
|
Hi Neil One of the applications has continuous data going out to 3 x LCD displays on separate com3 ports. That one has been working now for about 3 yrs. Another product talks to a single LCD on com3 and that one runs 24 hrs a day and has been running for 3 yrs non stop, no failures. A current product talks to 2 radios on com3 and an LCD on a 3rd port, and they have been running successfully for about 12 months. Generally, it has been my experience that if the code stops running, you have overflowed the stack. neil Neil Grey wrote: >Did you applications do any major serial communication? > >My application requires frequent communication between the BX-24 and PC. > >I ordered two units and my experience was as follows: > >1) The program worked fine on the 1st BX-24 until the EEPROM died (for whatever reason I know not), > >2) I then ran the SAME program on a 2nd BX-24 and then the serial communications failed. The unit would seem to lockup for no apparent reason. > >After this experience my confidence level in the device was reduced. I can understand that random device can be defective, but 2 in a row are too many! > >I was hoping to build our product around this unit but we do not want quality problems with our customers. > > >Neil Jepsen <> wrote: >Reliability of the BX24 >There have been several people who have reported fauulty chips when >new. In the past 2 years, I have personally used over 200 BX24's in >several different projects and I have NOT HAD ONE faulty device. >neil jepsen. > >pha555 wrote: > >>--- In , Neil Grey <neilgrey@y...> wrote: >> >> >>>Don, >>> >>>Based on some ads I saw for Parallax, they claim to have sold more >>> >>> >>than 500,000 units! >> >> >>>Yes the stamp is a much less capable processor, but I can certainly >>> >>> >>tell you it's reliable! >> >> >>>Initially I started a project using the BX-24 because if it's >>> >>> >>capabilities. I purchased two units and I experienced some really >>strange problems. Eg. EEPROM died - had to return it to netmedia & >>when attempting to run the SAME code on two BX-24 the behavior was >>different. >> >> >>>Maybe I just happen to order 2 lemons, but that surely diminished >>> >>> >>my confidence in the reliability. >> >> >>>So I switched back to the trusty old Stamp! >>> >>> >>> >>> >>This has not been my experience over the past many years. And, I >>would love to see the same program running differently on two BX24s. >> >>Note that this kind of discussion actually happens on the BasicX >>Group. If brought up on the Stamp list, you will receive a nastygram >>and be unable to post. >> >>But, if you must go back to the weaker Stamp, you might consider the >>PICAXE ( http://www.picaxe.co.uk ) which in some respects is stronger >>than the BS2 at about $7.00 to $10.00. >> >>Peter H Anderson, http://www.phanderson.com/basicx/ >> >> >>------------------------------------------------------------------------ >>*>. >> >> >> > > >--------------------------------- >Yahoo! Groups Links > > To > > >--------------------------------- > >Yahoo! Groups Links |
|
I may have joined the small group of people that have a program work one day, but not the next. I did rearrange my code, but I can't for the life of me figure out it doesn't work anymore.... If I have one big program and I OpenCom, OpenQueue, PutQueue, PutQueueStr, CloseCom... it works fine. When I put it into a subroutine...garbage. Like I mentioned above, it worked before, so I am really confused as to why it doesn't now... Here is my code: Call Statement: Call LCD8x2_Line2(CStr(B), LCDOut_Pin) Subroutine: Sub LCD8x2_Line2(ByVal StringOut As String, ByRef LCDOut_Pin As Byte) Dim ICom(1 To 10) As Byte Dim OCom(1 To 20) As Byte Call OpenQueue(ICom,10) Call OpenQueue(OCom,20) Call DefineCom3(0,LCDOut_Pin,bx0000_1000) Call OpenCom(3,9600,ICom,OCom) Call PutQueueStr(OCom, StringOut) Call CloseCom(3, ICom, OCom) End Sub Not really sure where to go from here. It worked as a subroutine, now it doesn't. I have another code that clears the screen & prints a string. This one is simpler, so I submitted it. Am I approaching it wrong? Actually, I changed all of my original code back in an attempt to duplicate previous results... What is the write cycle of the BX24? I have less than 30 "downloads" & I haven't gone near any code that uses Persistent code, tables (tried once, but I was unsuccessful), or writing to EEPROM... Thanks in advance for your input, Thad |
|
|
|
--- In , "Thad Larson" <highwayman_33402@y...> wrote: > I may have joined the small group of people that have a program work > one day, but not the next. I did rearrange my code, but I can't for > the life of me figure out it doesn't work anymore.... > > If I have one big program and I OpenCom, OpenQueue, PutQueue, > PutQueueStr, CloseCom... it works fine. > > When I put it into a subroutine...garbage. Like I mentioned above, > it worked before, so I am really confused as to why it doesn't > now... Here is my code: > > Call Statement: > Call LCD8x2_Line2(CStr(B), LCDOut_Pin) > > Subroutine: > Sub LCD8x2_Line2(ByVal StringOut As String, ByRef LCDOut_Pin As Byte) > Dim ICom(1 To 10) As Byte > Dim OCom(1 To 20) As Byte > Call OpenQueue(ICom,10) > Call OpenQueue(OCom,20) > Call DefineCom3(0,LCDOut_Pin,bx0000_1000) > Call OpenCom(3,9600,ICom,OCom) > Call PutQueueStr(OCom, StringOut) > Call CloseCom(3, ICom, OCom) > End Sub > > Not really sure where to go from here. It worked as a subroutine, > now it doesn't. I have another code that clears the screen & prints > a string. This one is simpler, so I submitted it. Am I approaching > it wrong? Actually, I changed all of my original code back in an > attempt to duplicate previous results... What is the write cycle of > the BX24? I have less than 30 "downloads" & I haven't gone near any > code that uses Persistent code, tables (tried once, but I was > unsuccessful), or writing to EEPROM... > > Thanks in advance for your input, > Thad Thad, Consider passing the string ByRef. I haven't done any rugged BX24 programming lately, and may well have forggoten much but I ddn't realize a string could be passed ByVal. The write cycles is many thousands. P H Anderson, http://www.phanderson.com/basicx/ |
|
From: Thad Larson <> > [...] > Sub LCD8x2_Line2(ByVal StringOut As String, ByRef LCDOut_Pin As Byte) > Dim ICom(1 To 10) As Byte > Dim OCom(1 To 20) As Byte > Call OpenQueue(ICom,10) > Call OpenQueue(OCom,20) > Call DefineCom3(0,LCDOut_Pin,bx0000_1000) > Call OpenCom(3,9600,ICom,OCom) > Call PutQueueStr(OCom, StringOut) > Call CloseCom(3, ICom, OCom) > End Sub > > Not really sure where to go from here. It worked > as a subroutine, now it doesn't. [...] A possible problem is that you might be closing the serial port before the output is finished. To prevent this problem, you need to wait until the output queue is finished, then close the port. Check out FlushSerialPort.bas in the files section of the mailing list. Another problem could be with the size of the output queue. Unless you're very careful to limit StringOut to a maximum of 11 characters, the program could hang in PutQueueStr. Other than that, I don't see any problems with the subroutine. One good thing is that by packaging the serial port code in a subroutine like this, RAM use is more efficient as compared to the usual technique of declaring queues as static data. In other words, by declaring queues locally instead of at module level, the memory allocated to the queues is reclaimed by the system as soon as you return from the subroutine. The memory then becomes available for other uses. Glad to see somebody doing that. -- Frank Manning -- NetMedia, Inc. |
|
|
|
From: pha555 <> > [...] I haven't done any rugged BX24 programming > lately, and may well have forggoten much but I ddn't > realize a string could be passed ByVal. [...] Yes, you can do this now. Earlier versions of the compiler didn't allow this. The change allows you to use string literals as actual parameters, by the way. Behind the scenes, a string passed by value is actually passed by reference. In other words, the address is passed rather than a copy of the string. This is because it is expensive to copy a string. The difference between passing a string by value instead of by reference is that the string is write-protected if it's passed by value. In the callee, the string can't be modified, nor can it be passed by reference to another subprogram. It can be passed by value to another subprogram, however. -- Frank Manning -- NetMedia, Inc. |
|
Try putting a small delay before closing the port. You might be closing it before all data has been sent. Also, whenever passing strings into a routine, pass them ByRef to save ram. You might be blowing the stack. Brad. > I may have joined the small group of people that have a program work > one day, but not the next. I did rearrange my code, but I can't for > the life of me figure out it doesn't work anymore.... > > If I have one big program and I OpenCom, OpenQueue, PutQueue, > PutQueueStr, CloseCom... it works fine. > > When I put it into a subroutine...garbage. Like I mentioned above, > it worked before, so I am really confused as to why it doesn't > now... Here is my code: > > Call Statement: > Call LCD8x2_Line2(CStr(B), LCDOut_Pin) > > Subroutine: > Sub LCD8x2_Line2(ByVal StringOut As String, ByRef LCDOut_Pin As Byte) > Dim ICom(1 To 10) As Byte > Dim OCom(1 To 20) As Byte > Call OpenQueue(ICom,10) > Call OpenQueue(OCom,20) > Call DefineCom3(0,LCDOut_Pin,bx0000_1000) > Call OpenCom(3,9600,ICom,OCom) > Call PutQueueStr(OCom, StringOut) > Call CloseCom(3, ICom, OCom) > End Sub > > Not really sure where to go from here. It worked as a subroutine, > now it doesn't. I have another code that clears the screen & prints > a string. This one is simpler, so I submitted it. Am I approaching > it wrong? Actually, I changed all of my original code back in an > attempt to duplicate previous results... What is the write cycle of > the BX24? I have less than 30 "downloads" & I haven't gone near any > code that uses Persistent code, tables (tried once, but I was > unsuccessful), or writing to EEPROM... > > Thanks in advance for your input, > Thad |
|
From: Brad Watts <> > [...] Also, whenever passing strings into a routine, > pass them ByRef to save ram. You might be blowing > the stack. This is a reasonable assumption if the compiler made a copy of a string in order to pass it by value, but the compiler doesn't actually make a copy. Behind the scenes, the address of the string is passed, which doesn't use any more RAM than passing a string by reference. The main point of passing data by value is to protect data in the caller from being changed by the callee. For strings, BasicX accomplishes this by write-protecting the string in the callee rather than making a copy of the string. Copying the string is too expensive, in both RAM and execution time. To digress, the compiler does a similar thing for objects like UnsignedInteger and UnsignedLong. The reason is that VB apparently treats ByVal as equivalent to ByRef for objects (the two data types are implemented as objects in BasicX). In other words, an object can be modified in VB regardless of whether it's passed by value or by reference. BasicX write-protects the object if it's passed by value. -- Frank Manning -- NetMedia, Inc. |
|
Response to the subject: I was going to make an order of multiple BX-24's but
customer service/sales never responded to my questions so I had to go basic stamp. I can't
buy something from a company to use in a professional application when they act as though
they do not have any customer service. |
|
I thought I has got myself into trouble one time by passing strings ByVal. I went back to check that code and found that I was working with arrays, not strings. Do the same rules hold for arrays or is a copy created when passed ByVal? Brad > This is a reasonable assumption if the compiler made a copy of a > string in order to pass it by value, but the compiler doesn't > actually make a copy. Behind the scenes, the address of the > string is passed, which doesn't use any more RAM than passing a > string by reference. > > The main point of passing data by value is to protect data in the > caller from being changed by the callee. For strings, BasicX > accomplishes this by write-protecting the string in the callee > rather than making a copy of the string. Copying the string is > too expensive, in both RAM and execution time. > > To digress, the compiler does a similar thing for objects like > UnsignedInteger and UnsignedLong. The reason is that VB > apparently treats ByVal as equivalent to ByRef for objects (the > two data types are implemented as objects in BasicX). In other > words, an object can be modified in VB regardless of whether it's > passed by value or by reference. BasicX write-protects the object > if it's passed by value. > > -- Frank Manning > -- NetMedia, Inc. |
|
From: Brad Watts <> > I thought I has got myself into trouble one time > by passing strings ByVal. I went back to check > that code and found that I was working with > arrays, not strings. Do the same rules hold for > arrays or is a copy created when passed ByVal? No, arrays can only be passed by reference. -- Frank Manning -- NetMedia, Inc. |
|
|