Mastering STM32: Overcoming Project Challenges

Follow,Star public number, don’t miss wonderful content
Mastering STM32: Overcoming Project Challenges
Source: Zhihu
Editor: Zhang Qiaolong
Someone asked on Zhihu:

I’ve been learning STM32 for a long time, but I still feel helpless when it comes to doing projects independently?

I started learning from 51, and now I’ve been learning STM32 for almost two years, mainly following the courses of Teacher Zhu Youpeng. I finished the first three seasons, and I haven’t started the fourth and fifth seasons, which are about operating systems. During this time, I also learned about atomic courses, wild fire courses, and modular knowledge points. I can do experiments on the development board according to the courses, but I can’t do things independently at the company, only some small modules. I have been learning intermittently, learning PCB design, and understanding some circuit knowledge (my foundation is relatively weak, I graduated from a college majoring in automation, and I didn’t learn much in school, most of my self-study after graduation), and I don’t know how to learn anymore.
Netizen Kevin replied:
It’s simple, because all you’ve been learning is superficial, without learning the essence.
I can almost guarantee that although you have been learning for so long, you have probably rarely looked at the official manual; although you have been learning for so long, you have probably always used standard libraries, HAL libraries, etc., and have almost no knowledge about registers.
Although doing low-level programming is indeed more complex, the growth cycle of a low-level software engineer is indeed longer. But I still believe that learning requires methods; different methods lead to different learning efficiencies.
Today’s learning conditions are much better than 20 years ago, and there are a lot of materials, especially for STM32, but when I lead people, I always emphasize two points:
1. You cannot watch videos; you can only read manuals.
2. You cannot use HAL libraries; you can only read register manuals.
Some people may refute, saying that the configuration tools of various manufacturers are very complete now, why shouldn’t I focus on applications and algorithms instead of writing my own drivers? My answer is: you can certainly choose that, then you can go and be a software engineer; don’t interfere with the low level. And don’t complain later about why you always feel “helpless” when doing projects, unable to complete projects independently.
I have been in the industry for nearly 20 years and have seen both excellent and poor engineers. Poor engineers generally have one characteristic: their algorithm ability is okay, but their understanding of the low level is limited, and they know nothing about hardware. Usually, after working for 3 to 5 years, they still can’t make any progress and then change careers.
Since you are now working with microcontrollers, you need to know what your future development direction is. Do you want to be a software engineer for a few years and then switch to management?
Some people will choose this, but I can’t say it’s wrong. But if you have higher expectations for yourself, your direction of effort must be to become a system architect.
To become a qualified system architect, algorithm ability is just a small part of the upper layer; you also need to understand how the microcontroller works at a low level, and you even need to have a considerable degree of hardware knowledge.
The reason these low levels are called “low level” is that they are indeed the most basic parts of the entire system framework. Just like building a building, these are the foundations. If you don’t understand the foundation, how can you build a building?
Although I don’t know your specific situation, from my experience, if you have worked as a software engineer for a few years and still lack confidence in doing projects, it’s mostly for this reason. Normally, according to my method, after about six to eight months, doing some simple projects should not be a problem.
Of course, there will indeed be some people with particularly poor qualifications, who have the right methods but just can’t learn and respond slower than others. In this case, I would advise them to seriously consider whether they should change careers. But I hope you are not that kind of person.
So listen to me, don’t watch any more videos, seriously read the manuals, and seriously look at the registers. Write every driver yourself. At first, it may feel difficult, but that’s okay, just do it little by little, and after doing more, you will be able to connect the dots.
Once you connect the dots, your understanding of the system will elevate two levels.
At the same time, you should also learn some hardware knowledge, not that I want you to start drawing boards, but the hardware knowledge related to microcontrollers, which is essentially everything about 51.
It’s not that I look down on you; although you claim to have learned 51, you probably just learned a little bit, right?
To be honest, 51 includes all the principles of microcontrollers and SOCs. If you seriously learn 51 well, no chip will be a problem for you.
I wonder what everyone thinks about this issue; feel free to leave comments for discussion~
-END-
猜你喜欢



STM32:从菜鸟到牛人就是如此简单!

老司机们都是怎么学习STM32的?

带你深入浅出学STM32

最 后

若觉得文章不错,转发分享,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等!
在公众号内回复「更多资源」,即可免费获取,期待你的关注~
长按识别图中二维码关注






Leave a Comment

×