What is the experience of microcontroller project? Is project development training really reliable?

Publisher:琴弦悠扬Latest update time:2022-12-27 Source: zhihu Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Every time I see the movie Iron Man, my adrenaline surges and I want to vent its thousands of lines of code.

Many people learn and engage in microcontroller development out of interest. Although it is difficult to reach Tony Stark's level in reality, it is already a great sense of accomplishment to be able to write what you want by writing your own code.

10 years ago, I was the same. I became obsessed with microcontroller development from the moment I lit up the first LED. It turns out that this is how I write programs to control hardware.

For this reason, I quit playing games during that time, and my mind was very bright. After lighting up the LED of the development board, I was thinking about how to control the lights at home with a program.

Later I found that the control is also very simple, just add a relay in the middle.

At that time, I was self-taught and changed careers. I only learned the 51 microcontroller and then went out to find a job. In the first month of my job search, I encountered obstacles everywhere. Every company I interviewed told me to go back and wait for notification.

After waiting too much, I looked away.

Finally, I analyzed the needs of the company and worked on a smart car project before I found a job. This was 10 years ago, and it would probably be difficult now.

In this 10-year product development career, I have jumped many times, sometimes 4 or 5 companies a year, and accumulated a lot of interview experience.

I also held project manager and technical lead positions, and interviewed a few engineers.

Nowadays, when companies recruit people, if they are small and medium-sized enterprises, the most important thing is the technology you master, and whether the projects you have done are technically related to your company's products.

If there is, the advantage will be very big, that is, the chance of being admitted is very high. At least when I interview others, I pay more attention to this.

Because if you have never done it, the cost to the company will be much greater. First of all, you may not be able to directly participate in the development, but you need to cultivate familiarity for a period of time.

At this time, you need to find an experienced engineer to guide you, which will indirectly have a certain impact on the progress of research and development.

Every industry will have professional knowledge. For example, automotive electronics requires you to be familiar with communication protocols such as ISO15765, KWP2000, ISO9141-2, and J1850 PWM/VPM.

If you are not familiar with these, it will take a lot of time and energy to learn to make automotive electronic communication products.

When you are unfamiliar with an industry, making commercial products is itself a risk, and this risk is borne by the enterprise.

So, if you have project experience, you will stand out from many competitors when looking for a job.

This is why our Wuji Microcontroller Programming leads students to learn microcontrollers through practical projects.

It’s really hard to find a job when you’ve just graduated. If you have no experience, most companies will ask you to go back and wait for notification. If you have a bad attitude and get hit too many times, you will easily give up and be completely insulated from this industry.

At present, most microcontroller training does not solve this problem. Most of them only provide introduction. In order to allow students to graduate quickly, they arrange some content that is not very helpful for actual work.

This is why many companies turn away training institutions when they hear about them.

If you are engaged in microcontroller development, in fact, it mainly depends on your programming level and thinking. The so-called project experience can be traced back to your programming thinking.

For example, if you are given a function, what ideas and methods do you have to implement it? These ideas and methods are truly reliable after product verification.

Many people study microcontrollers and spend a lot of energy studying hardware circuits. This path is wrong. There are usually dedicated hardware engineers in charge of hardware. As long as you can understand the schematic diagram.

So what level of programming should be achieved to be useful and helpful in actual work?

I think there are several conditions:

1. Can shorten the development cycle

2. The code implementation method has been verified by product batches

3. Streamlined code, good stability, portability and scalability

If you don’t have 4-7 years of experience in the industry (depending on your personal understanding), you won’t be able to understand the above three points if they are forcefully taught to you.

Today I can give you the answer first. You will definitely encounter this kind of demand when you are engaged in microcontroller development in the future. When you look back, you will suddenly realize it!

I condensed the above three conditions into one word: program architecture

My personal understanding is that RTOS is also a program architecture, but this architecture is more powerful and includes many functions.

If you are not able to write the architecture yourself, using an architecture like RTOS is the best choice. After all, other people's architectures have undergone a lot of verification.

This architecture is generally used when developing medium and large projects.

Generally, veteran engineers who have been tempered by many projects will write a streamlined one by themselves.

This architecture was written by me many years ago. Its advantage is that it is streamlined and can flexibly control the scheduling time of each task. It also provides the most commonly used functions of products such as queue algorithm, LED special effects, and multi-function detection of buttons.

Based on this architecture, your product development cycle can be greatly shortened. The code is also what I have been using in products and has been verified in batches.

Reference address:What is the experience of microcontroller project? Is project development training really reliable?

Previous article:How to implement modular programming of microcontroller? Thinking + examples + system tutorials
Next article:I just graduated from undergraduate degree and am a little confused. I want to get started with microcontrollers. How should I start?

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号