:: Re: [DNG] Help needed - - running i…
Top Page
Delete this message
Reply to this message
Author: David Billsbrough
Date:  
To: dan
CC: dng
Subject: Re: [DNG] Help needed - - running into issues with python and its tools
You wrote:

> If you're already using Arduino, you'll already know C/C++ (or at least
> be familiar with it), and all you're doing is learning how to interact
> with the micro-controller.


Dan,

I have seen the Makerfaire (Maker Lab members) types using Arduino's UNO's to do projects that
do NOT know how to program in the 'C/C++' language. That they simply cut and paste someone else
Arduino sketch verbatim into the Arduino IDE and install some optional library files per the
'cookbook' documentation of prior project and upload the compiled output to the target board.

They have a working project. (assuming they did follow closely enough to the 'cookbook' details)

A few years back I wanted to learn with 'deeper' understanding a 'target' board so I choose the
Texas Instruments (TI.com) 430 CPU and an affordable Lanchpad(tm) eval board (not this exact
board but similar) and used the Eclipse IDE not the simpler Arduino IDE. The language chosen
was ANSI 'C' (99) language.

link to similar target board:

    https://www.digikey.com/en/products/detail/texas-instruments/MSP-EXP430FR2433/7931876


I didn't start by expecting the 'students' to have knowledge of host development tools and the
details of the TI 430 hardware.

Started with a (pre-class) of about 8-weeks to learn the 'C' language at the Linux CLI (aka the
command line). The editor was the student choose and was usual either the 'nano' or 'vim' editor.
I helped by providing a few example GNU make files to make it of a typing class. :-)
Topics were: numbers (various bases), variables, standard i/o, conditional flow control, looping,
characters and strings, file i/o, structures but no real deep study of advances pointer stuff.

Maybe the most advanced topics was a demo of a single and double linked list.

The first phase had about 8 student that included no electronics technicians or engineers. I
then followed on with phase 1 (part B) about 2 weeks of follow up of simple schematic circuits
and intro to simple logic gates and truth tables for (AND, OR, NOT, XOR, NAND, NOR gates and a
free-running, one-shot and a J/K flip-flop)

A *flip-flop* is a bistable multi-vibrator and not Florida beach-ware.

https://www.electronics-tutorials.ws/sequential/seq_3.html

I am NOT really a teacher but more of a technical mentor.

regards,

David
--
David - KC4ZVW
Chuluota, FL
https://www.kc4zvw.org/

> Sent: Thursday, August 08, 2024 at 1:36 PM
> From: "Dan Purgert via Dng" <dng@???>
> To: dng@???
> Subject: Re: [DNG] Help needed - - running into issues with python and its tools


> On Aug 08, 2024, o1bigtenor via Dng wrote:


>> On Thu, Aug 8, 2024 at 8:52 AM Dan Purgert via Dng <dng@???> wrote:


>>> [...] "expensive vs. cheap tool" analogy, etc.
>>> Python = "Cheap tool" (It'll get the job done, if all you need is this one thing)


>>> C/C++ = "Expensive tool" (It'll "hurt the wallet", but you'll have it forever).


>>> I wasn't going to bite but you keep insisting so:


>> Why is C/C++ so absolutely wonderful?


> *IF* your intention is "microcontrollers as a hobby", then chances are
> you'll eventually come up with an idea that doesn't work given the
> constraints imposed by your choice of "learning environment". This
> constraint could be "well, I want to use X peripheral, but the environment
> uses it already"; or it could be "well, I want to use X chip, but the
> environment doesn't support it"; or "I want to utilize the
> Ultra-Low-Power mode" (etc.)


> So, if all you know is Python, now you have to both learn C/C++ *and*
> learn how to interact with the microcontroller.


> If you're already using Arduino, you'll already know C/C++ (or at least
> be familiar-ish with it), and all you're doing is learning how to interact
> with the microcontroller.


> On the other hand, if you're just at "well, I kinda know Python, and I'm
> not sure if I want to get into microcontrollers yet."; then there's no
> reason to not test the waters with Python, and see if you like it enough
> to devote the time to learning C (etc.)