If you want to work on a single-chip microcomputer, what level of C language should you achieve?

Today I will talk about what level of C language should be achieved in the development of single-chip microcomputer.

It may be more appropriate for me to use my own experience from getting started to finding a job.

I graduated in 2011, not my major, but majored in electrical engineering, and decided to change careers after seeing how miserable my senior was.

The internship period was relatively free, so I started to study by myself. It took about 4 months from getting started to successfully changing careers.

At first, I was also very anxious....

Can I learn it by myself? How much can I learn to find a job?

What if you spend months studying and can't find a job?

Although the process was tortuous, I finally succeeded in changing careers, and I also recorded some notes I studied at that time.

As long as you are willing to persevere, with soldiers coming to block you, and the courage to cover up with water, the result will not be too bad .

The worst fear is that you will shrink back and question when you encounter problems, so it is better not to start.

I started learning from the 51 single-chip microcomputer, and bought a 51 single-chip microcomputer development board on a certain treasure.

The development board generally has a supporting video tutorial, just follow the tutorial step by step.

I learned the basic circuit, C language, and 51 single-chip microcomputer together, and watched the function effect on the development board while learning.

The technical learning process is too boring. If you don't get timely feedback on the results, it's hard to stick to it.

I suggest that everyone must also learn in this way.

After learning all the content of the development board, it will take more than a month to persist in studying for a few hours every day.

At this time, you will encounter a bottleneck period, that is, every peripheral resource of the microcontroller will be used, but you still cannot complete the code of a project independently.

This is normal, because the positioning of the development board is for you to learn how to use the single-chip microcomputer.

At that time, I just finished learning the development board, and then I made an electronic clock function on the development board and went to find a job.

I have been rejected by almost 20 companies before and after. That year, I went to the job market and interviewed on the spot.

They mainly rejected me because I had no project experience, followed by academic qualifications and non-majors.

Later, I bought a smart car kit on a certain treasure, and assembled it by myself to do this project from the beginning to the end.

I obviously feel that my abilities have improved, such as the idea of ​​realizing functions and the level of programming.

The most important thing is that there is one more item that can be blown.

I went to the interview later, and I succeeded in less than 5 interviews with a total of 5 companies.

But my experience may be more difficult now.

Mainly, there are too many excellent students now. Many of our Wuji MCU programming students are college students, even the youngest freshman.

Freshmen have the awareness of learning. If your knowledge level is still 10 years ago, it will definitely not work.

The position of microcontroller development does not mean that you have to reach an advanced level of C language. Generally, you can modify other people's code.

Just entering the company will not let you develop new projects immediately, but maintain old projects, change codes and upgrade functions.

Therefore, I think that if your c language level can reach the level of changing other people's code, it is enough for the time being.

The main thing is to do more projects, do 3-5 projects, apply the commonly used peripherals of single-chip microcomputers to actual scenarios, and you can also make ordinary products independently.

It is very difficult to improve your c language level to an advanced level based on the content of books and tutorials.

How did I improve?

From work, read more codes written by veteran engineers, and read more authoritative firmware libraries and protocol stacks.

In the early stage, I imitated their writing methods, such as how to write their key detection function and how to write the LCD menu.

When imitating, think about what advantages and disadvantages they have in writing like this?

Come from actual projects, go to actual projects, and practice repeatedly.

Slowly, your thinking and experience in programming will have a qualitative leap.

I also came here in this way. I also recorded a video of the program architecture in 2019, which can be regarded as a summary of myself.

This architecture can be directly transplanted to products, and inherits many commonly used functions, such as task management, queue, LED special effects, and key detection.

It is also open source at present, you can find Wuji MCU programming to get it, and it has the same name on the whole network.

At a certain stage, you may be able to realize that any programming language is just a tool.

The most important thing is whether the thinking to achieve a certain function is optimal.

Guess you like

Origin blog.csdn.net/weixin_43982452/article/details/123179122