A must-see for beginners! Getting started with embedded you need to know this! (I)
In the era of advanced information teaching documents and videos on the Internet everywhere, so there is no need to repeat the wheel, the role of this document is: to provide a learning method, examples of meaningful learning videos and documents, for 0 basic reference and learning. The learning here may help to enhance the overall interest in embedded and conceptual understanding.
Before exemplifying the videos and documents for learning I want you to understand:
Self-learning ability is one of the first abilities that need to be developed when stepping into any industry. The cost of learning a thing must be time, how to spend a small amount of time to learn more content has been the pursuit of many people, in fact, many people's learning style has a big problem - time waste. Waste or not the judgment depends on the purpose of learning, if the purpose is to quickly achieve a certain function, then in fact the learning cost is far less than the time to fully understand a function. The reason is that the rapid realization of a feature does not need to understand the underlying principles, and often the underlying principles are the most difficult part of the gnawing, the appropriate abandonment of this part can greatly enhance our learning speed.
When learning a brand new subject in an uncharted field it is wrong and dangerous not to find a book or an instructional video and start watching it from beginning to end! A recommended way to learn is to first understand what the entire field is specifically about. Start with an outline, i.e., what are the parts of the whole field? What are the roles of the parts? How are these parts used? A little understanding is enough to have some concepts. First is a rough study, all over again, know how to use on the line, without detailed understanding of the underlying principles of computing, mathematical formulas, logic operations and other complex content. The back of the basic framework has a certain understanding of the later more detailed study.
Then, you start learning the specifics of each section, still using the "know a little" tactic, i.e., know the concepts, the basics, and how to use it. For example, if I know that a calculator can be used to do arithmetic, and I'm learning about addition, I'm just going to use it to do my addition, and I know that I can press the keys '1' '+' '1' and '=' is all that's needed, no need to understand how the logic of the chip inside it works, let alone how the electrons inside it move. This helps to improve our learning speed and the learning area of the framework of the rapid construction (everything can be speed pass bushi), as if the high level of construction, with the support of the framework and then go slowly fill in the blanks can be!
Self-learning ability and part of the ability to explore independently, to be able to develop through a point of exploration into a face of exploration, such as learning stm32 you can not say that you only know stm32 do not know other microcontrollers, you can not only know microcontrollers and do not know embedded, you can not only know embedded and do not know what part of its internal also contains. Self-exploration is especially important! This is also a source of motivation to support the interest in the later stages, and to keep discovering new and interesting things on your own to keep learning and updating! Higher and stronger!
Examples of introduction of some concepts
What is a microcontroller ? A superficial and relatively quick way to understand it is a small computer that is less powerful but can be programmed. For more details you can refer to the web for a detailed description. It is enough to have an idea of what it is. In the same way I introduce the following concepts.
What is programming? Programming means editing a program, programming in a computer language way, or simply writing code (not advanced all of a sudden hhh).
Programs that are made up of logical code.
What is a computer language? Computer language is a way of speaking that computers can understand, the process of writing logic in computer language is called writing code, there is a need to use to some convenient text editor with a variety of functions, a few common computer languages for the C language, C + + +, python, java, etc. We manipulate the microcontroller to use the most is the C language, search for your own C language to learn content. These languages are still not directly understood by computers, they need to be converted in some way to more underlying level changes to understand.
What are levels? Level can be superficially understood as the height of the voltage, there are only two ways to make a voltage high or low, high and low. We specify that high represents 1 and low represents 0. There are only two, which is one reason why computers are binary.
What binary is, by analogy with decimal being full ten to one, binary is full two to one.
Usually stm32 programming, often need to use some software and hardware to assist us to complete the programming, such as programming the need to use a hardware called stlink will be connected to the computer and stm32 in order to facilitate the subsequent logic code written, the hardware needs to install the driver. We need to use a software called keil5 to write the program, the software needs to be installed corresponding to the chip's c language package, programming language used for c language. This software needs some configuration, if our code logic is written, we need to compile the code (modified into a binary file .hex that the microcontroller understands), and burn. Burning means erasing the existing program on the microcontroller and transferring the just compiled binary file to the microcontroller. The next time it powers up, it will automatically run the logic you wrote.
Here to introduce the 2.0 version of the learning method - "incomplete follow-up method", the concept of the introduction is an example of the concept of the above you will find that my concept of the introduction is a layer of layers, the following layer is derived from the upper layer of incomprehension, but the explanation to the very detailed places can be asked to generalize can be. A layer of the following layer is derived from the lack of understanding of the upper layer, but the explanation to the very details of the place can be asked to summarize can be. That is, the "incomplete pursuit of the question", just like the martial arts masters fight, we point to the end.
stm32 c language library is mainly divided into three kinds, one for the library function, one for the hal library, one for the registers. Their respective advantages can be online in accordance with the previous method to understand their own, the laboratory used is the library version, I recommend the following two videos for the hal library version. It is recommended that you first watch the library function of the positive point of the atom for the configuration of some basic understanding of the hal library after the study.
Recommended Learning Materials
stm32f407 explorer development board V3 - Positive Atomics Data Download Center 1.0.0 Documentation
Above this proposal to download the information disk to see the document (information on the software inside the keil5), the document can not read and then watch the video. (tips: the efficiency of the information received per unit of time, the document is much higher than the video)
/video/BV1th411z7sn/?spm_id_from=333.
Above is the JKU stm32 study
Recommended upvoter:
keysking's personal space-keysking's personal home page-beep video ()
Extended Learning
If you are interested in computer system you can also learn linux operating system in advance, we mainly use ubuntu. if you are interested in robot operating system you can also learn ros or ros2.
Finally, thank you for reading!