I have been using the Basic Micro compiler for several years. It seems they have turned their back on their compiler for the PIC and I would like to find a new compiler to migrate to. I build MIDI foot controllers and I need to be able to configure a serial port for 31250 bps to allow the controller to communicate with other devices. I guess I have 2 questions. First is can I configure serial ports in GCBASIC to communicate at 31250 bps? Secondly, what kind of learning curve may I be up against.
Thanks in advance, Baron Youn
The short answer is YES, GCBasic can set the Usart speed to 31250bps. Check out a previous Midi topic http://sourceforge.net/projects/gcbasic/forums/forum/579126/topic/2214396 Hugh has since incorporated the hardware usart routine into the lowlevel library, haven't tried yet personally. Having a external high speed crystal, and a device with a Hardware usart, would be important. See RS232(Hardware), in the Help file, from the GCBasic folder.
Hard to answer the learning curve part, I can imagine it would be short. Give it a try, the price is right! The GCBasic syntax is pretty easy to learn in my opinion, and the default device configuration should keep you out of trouble. Have any problems? then have a look in the Help file, or the forum for getting over the speed bumps along the way.
For migrating from annother language, the two greatest issues was variable allocating and variable sharing
For variable allocating, it seems that variable are allocated sorted alphabetically.
so instead of wiring
dim green_val, red_val, blue_val , green_val1 …
you must use
dim val_green, val_blue, val_red, val1_green, …
in order the vars could be addressed with pointers too.
The other issue is variable sharing.
Currently, the variables inside subs and main, if having the same name, are the same.
This allows some possible optimisations too, but you must be aware of the fakt in order to
not occur in side effects.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.