Shop OBEX P1 Docs P2 Docs Learn Events
need to send 115200 baud to Graphic LCD — Parallax Forums

need to send 115200 baud to Graphic LCD

I'm using a Propeller Mini V1 with Propeller Editor\Development System V1.3.2

Serial_LCD2.spin and Simple_Serial2.spin only goes to 19200 baud max. I can use those to connect to my Parallax LCD's,

Is there anything I can use?

Thanks,
Dick

Comments

  • I have an LCD graphics display that requires115200 baud.

    Serial_Lcd2.spin and Simple_Serial2.spin max out at 19200 baud.

    what can I use achieve the higher baud rate?

    Thanks,
    Dick

  • VonSzarvasVonSzarvas Posts: 3,278
    edited 2022-12-15 17:27

    Hello @DickBu

    Could you show (photo?) or explain the hardware setup, and also attach the code you have? (If using Propeller Tool, click File, Archive, Project. Then upload the zip file here).

    If the hardware supports 115200 baud, then the Propeller will be able to - usually with a small code edit.

    At a guess from the name of the serial code, maybe it's not buffered, and that could be why you are losing data when running faster. Adjusting the serial processing code to take account of the unbuffered situation is one option, or switching to a buffered driver, such as "fullduplexserial".

    Edit:
    The fullduplexserial.spin file can usually be found in: My Documents\Propeller Tool\Library. Handy if you want to look over the code and see what functions/options are available.
    Although I believe it's also "built into" Propeller Tool, so you can include it by just using the name "fullduplexserial" in your obj statement.

  • The P1 can TX/RX 115200 with a PASM cog -- much faster if you're only transmitting or only receiving (all assumptions based on running at 80MHz). Do you need TX only, RX only, or both?

  • Any of the PASM-coded drivers will work. Note that those drivers use a cog to synthesize the serial output.

    I've attached a transmit-only object that should work for you. Unzip and put both files into your /Library folder.

  • Jon,

    Thanks for the help

    Im using a Propeller Mini and Propeller Editor\Development system v1.3.2

    I'm new at Propeller but have successfully got a few cogs running.

    Here is what I did with your code:
    CON
    GraphOut = 14

    OBJ
    graph : "jm_serial_tx"

    PUB Main
    dira[GraphOut]~~

    graph.start(GraphOut,115200)

    graph.tx(123)

    graph.start(GraphOut,115200) hangs the program

    Thanks,
    Dick

  • Sorry. My fault. Somewhere along the way I modified that object without re-testing and broke it. It's fixed now.

    I suggest you update to the latest version of Propeller Tool (2.7.0 Beta). It supports the P1 and P2. More importantly, that version moves the library and demo folders to your Documents folder instead of having them in the [protected] Program Files (x86) folder -- this makes updating your library much easier. It's also a good idea to start your programs with a template. I've attached one that you can use until you develop your own. In that archive you'll also find objects for timing/delays, random numbers, and IO. Move these to your library so you can use them in any project. In the Preferences dialog (F5) you can set a file to be used as a template. This makes starting new projects very easy.

    I tested the fixed object by writing messages to PST at 115200 -- as you can see in the image, it's working fine now. Sorry for the mistake. Make sure that you delete the old version of jm_serial_tx.spin and replace it with the one that is dated 16 DEC 2022.

    Tips:

    • You [usually] don't need to manipulate the IO pin used by a driver in the top-most cog; the driver will setup the pin
    • The ~~ operator (you used to make the pin an output) is confusing to people not well-versed in Spin, and slower than using := 1
Sign In or Register to comment.