User interface

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
How good are you at user interfaces on a PC?

How good are you at working with micro controllers?

What kind of user interface are you thinking of? Text-based? Graphical? Touchscreen?
I have one USB Ttl Fdpi chip UART the coe was written by some one else.
real term serial window.
How good are you at working with micro controllers.
I have used pic16f676/72/887a with digital only an analog with help.
What kind of user interface are you thinking of? Text-based? Graphical? Touchscreen?
what is text based? is that hyper terminal ?
all..


 

WBahn

Joined Mar 31, 2012
29,979
You need to work up to making a GUI (Graphical User Interface) step by step. There are a number (i.e., LOTS) of books and websites devoted to GUI development on all kinds of different platforms. Find one that starts with the very basics and then build things up incrementally.

But I have a feeling I know what you are going to do. You are going to jump in expecting to have something fabulously complicated working overnight and then, after not being able to get someone to explain how this fabulously complicated thing is supposed to work at a level that matches your very novice skill level, you will move on to something else.
 

MrSoftware

Joined Oct 29, 2013
2,188
I'm mostly a low level back end guy, but I've done a little GUI work and I had a key role in a project involving both a Windows GUI and micro controller, so here's my 2 cents:

For the Windows PC the easiest language I've personally used for GUI is C#. Actually C# really simplifies a lot of stuff, though the memory management is frustrating when you're used to lower level languages. So check out C#, you can design the GUI using XAML first, completely independent of the back end, then fill in the back end using C#. Learn about C# delegates, because you're going to want your back end to work on a different thread than the main GUI code to keep the GUI responsive, and you're going to need delegates to allow multiple threads to access the same data.

If you're already going to have a PC running for the GUI, then my advice is try to not use a micro controller if you can avoid it. Use the PC to control your peripherals; it will be multi threaded, much easier to debug, more forgiving to code for and you won't have to worry about creating an interface between the PC and your micro controller.

If you must use a micro controller, then there are several options for interfacing the micro controller to the PC. A serial interface using something like the FTDI USB/Serial bridge will work fine, but you're going to need to come up with your own API to interface the two. Depending on what you ask the micro controller to do (or if it just freaks out on you), it might not get back to the PC with the result right away (or at all), so be sure to code your interaction between the micro controller and PC in multiple threads so the lack of response doesn't hang up your GUI application. I would use 2 separate threads, one for sending data to the uController and one for receiving. If you use something like the arduino, then you can hard reset the uController by toggling DTR on the serial port, which can be useful when the uController just won't respond and you want to reboot it from code.

I'm not sure if this answers your question, but I hope it helps somehow.
 

MrSoftware

Joined Oct 29, 2013
2,188
C# is a language. Possibly the most common C# compiler is included with Microsoft Visual Studio. I believe the express version of Visual Studio is free to download from Microsoft.

Arduino is an easy platform to begin on, but lay out your requirements first and decide what hardware and processing features you need before making your final selection. If an Arduino will fit your needs then great. Good luck!

Here is a link to the Visual Studio Express 2013 download. Version 2015 is available in the non-free version, I do not know if it is available in the free version, but it's worth checking before you download:

https://www.microsoft.com/en-us/download/details.aspx?id=44914
 

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
Arduino is an easy platform to begin on, but lay out your requirements first and decide what hardware and processing features you need before making your final selection. If an Arduino will fit your needs then great. Good luck!
i will learn then i will change as per requirement.
 
Top