<div dir="ltr">One of the nice things about programming is that no effort goes to waste. Learning to use any one of the languages you mention builds a solid foundation to learn another one. <div>But, we have to make the distinction between the language (the grammar, if you will) and the framework-hardware. C is just the language you will speak to the board, you still need to give it valid orders to make it do what you want. Think of it like being the manager in a chocolate factory - you sure speak English, so the workers should understand you. However, unless you know what the machines do and what chocolate processing is all about, you're unlikely to give any meaningful instructions to their operators.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 4, 2020 at 9:58 PM MTG <<a href="mailto:grant@musictechnologiesgroup.com">grant@musictechnologiesgroup.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I agree that something simpler than STM32 is a good starting point. <br>
There are many, many projects based on the Atmel AVR line (Arduino nano <br>
being one).  The Arduino framework might be a good start, then go bare <br>
metal to understand how a micro boots, etc. I would recommend eventually <br>
getting to the point of using a proper debugger (for breakpoints, etc). <br>
I'm stunned at how some folks have the most beautiful editors and use <br>
only printf for debugging?!<br>
<br>
I am learning STM32 now and it's surprisingly daunting, but that's due <br>
in part because of the sheer number of toolchains available. Each seems <br>
to have it's own abstraction layer(s). I'll probably get this wrong, but <br>
I've seen gcc with libopencm3, STM's own STM32Cube tools with their own <br>
LL and HAL, Keil which supports CMSIS and there are combinations of the <br>
above such as using STMs tools to generate starter code for Keil.  Then <br>
there's Rowley and Segger and IAR and ... who knows how many more.?<br>
<br>
I'm the kind of guy that likes to know where every bit is going so I am <br>
taking it very slowly and I've been doing C for quite some time. Too <br>
long perhaps because the coding standards from the last millennium are <br>
quite different from modern practices.<br>
<br>
As a reality check, there are those that only want to create quickly <br>
with minimal knowledge and it seems there is no shortage of platforms <br>
that will do that too. The mind boggles.<br>
<br>
<br>
On 12/4/2020 11:05 AM, Gordonjcp wrote:<br>
> On Fri, Dec 04, 2020 at 12:57:45PM -0500, Shawn Rakestraw wrote:<br>
>> Spiros, if you were at about the same level with either C or Arduino, would<br>
>> you say one is better to fully learn before the other? Thanks for<br>
> Arduino is a framework, based on C with a certain amount of C++isms in it.<br>
><br>
> It's not a language.<br>
><br>
> If you are familiar with C, programming stuff for the Arduino framework is easy, and if you learn your way around the Arduino stuff you'll find C fairly easy once you realise it doesn't "hold your hand".<br>
><br>
<br>
_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use <a href="mailto:marketplace@synth-diy.org" target="_blank">marketplace@synth-diy.org</a><br>
</blockquote></div>