您认为您需要一些有关微控制器编程的简单教程吗?
这并不是 100% 与编程相关。 但我认为这有点有用,因为它针对的是 SO 社区中的少数人。
微控制器编程是编程中有趣的领域之一。 我在这里看到一些主题请求用于开始/学习/讨论 PIC 的资源。
由于我在该领域拥有丰富的知识和经验,因此我正在考虑发布一些资源可以帮助新手从基础知识开始学习。 它不仅仅是一本理论出版物,而且将基于示例项目。 我希望从一个新的博客+论坛开始,这样用户就可以动态地相互交互。 我做出这个决定是因为我发现新手可以开始学习和协作工作的网站非常少。
大家对此有何看法? 你是否也经历过这样的困难呢? 你认为你能利用它吗? 您喜欢在网站上看到哪些内容?
如果您不打算以 NPR 的身份关闭此内容,我将不胜感激。 我只是想为其他微控制器爱好者提供一些服务:)
This is not 100% programming related. But I think this is somewhat useful because it is addressing a minority in the SO community.
Microcontroller programming is one of the interesting areas in programming. I saw some topic here requesting the Resources for starting / learning / discussing about PICs.
Since I have plenty of knowledge and experiences in this area I am thinking of publishing some resources that helps a novice to learn them from the basics. It will be not just a theoretical publication and will be based on example projects. I hope to start this over a new blog + forum so the users can dynamically interact with each other. I came in to this decision because I found very small amount of Sites that a novice can start learning and work collaboratively.
What do you guys think about this? Have you ever experienced such difficulty? Do you think you can get some use of that? What are the things you like to see on the site?
I would be thankful If you are not going to close this as NPR. I just want to do some service to other microcontroller lovers :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
就我个人而言,我更倾向于为特定微控制器版本(典型用途)创建完整程序的示例存档,而不是制作另一个“通用”教程。 例如,启用串行端口的微控制器 x/y 之一、配置一些数字输出的微控制器(设置 TRIS 和朋友)、如何设置公共频率/振荡器选项等。
当我开始使用 PIC 时(非常短的 PIC16,然后PIC18,然后是 24F,现在是 dspic),主要问题之一是所有示例要么只是片段,要么描述了非常普遍的原理。
如果需要比教程所教授的更多技能才能使示例真正发挥作用,那么教程就不好。
我通常无法找到一个完整的程序来完全适合我的控制器,甚至无法找到稍微广泛的组(仅在引脚和内存/闪存数量上有所不同)。
最初的程序总是有问题,但有时后来我又遇到同样的问题(初始化某个外围设备)(例如编码器)如果是新的微控制器系列的第一次运行,则特别令人沮丧,而且您可能不会对您的硬件有 100% 的把握。
不幸的是,这需要论坛、用户组等的一些协调,因为没有人拥有所有设备以及连接它们的所有变体(例如不同的振荡器选项)。
Personally I would go more in the direction of creating an example archive of complete programs for specific microcontroller versions (in typical uses), instead of making yet another "general" tutorial. E.g. one of microcontroller x/y that enables a serial port, one that configures a few digital outputs (setting TRIS and friends), how to set up common frequency/oscillator options etc.
When I started with PIC, (very short PIC16, then PIC18 then 24F and now dspic), one of the main problems is that all the examples are either only fragments or describing very general principles.
A tutorial is no good, if it takes more skills to get the examples actually working than the tutorial teaches.
I usually couldn't find one single complete program for exactly my controller, or even for the slightly wider group (that only vary in number of pins and memory/flash).
The initial program was always the problem, but sometimes later I had the same problem (initializing a certain peripheral) all over again (e.g. the encoder) It is specially frustrating if is the first run of a new micro controller line, and you might not be 100% sure of your hardware.
Unfortunately that takes some coordination, from a forum, an user group or so, since nobody has all devices, and all variants to wire them up (e.g. different oscillator options).
是的! 用于帮助嵌入式软件(微控制器编程)的资源越多越好。
一开始可能会非常令人畏惧,特别是如果您过去只为 PC 或类似的软件编写过软件。 还有更多的限制(例如 RAM 和代码空间),以及您需要了解的大量内容不适用于非嵌入式软件。
正如其他人在这里提到的,有许多网站涵盖了这方面的不同方面; 其他一些是OnARM,对于ARM处理器,相关的STM32 Circle,以及 Jack Ganssle 关于他的 网站 和 Embedded.com。
尽管嵌入式系统是一个巨大的市场(想想你的房子里或你的车里有多少这样的设备),但我的印象是,网络上和 Stack Overflow 上对这个主题的报道比非嵌入式。
所以,我期待看到您的劳动成果!
Yes! The more resources out there for helping with embedded software (microcontroller programming) the better.
It can be quite daunting to start with, especially if you've only written software for PCs or similar in the past. There are lot more constraints (e.g. on RAM and code space), and a whole load of things you need to know that don't apply to non-embedded software.
As others have mentioned here, there a number of websites that cover different aspects of this; some others are OnARM, for ARM processors, the related STM32 Circle, and Jack Ganssle's articles on his website and on Embedded.com.
Though embedded systems are an enormous market (just think how many such devices there are in your house, or in your car), my impression is that there is a lot less coverage of the subject on the web - and on Stack Overflow - than for non-embedded.
So, I look forward to seeing the fruits of your labour!
我自己写过很多这样的例子,但它们很分散,没有组织,可能很少阅读(有一次 avrfreaks 的人借了一些东西)。 StackOverflow 可能会抑制这种情况,但理论上可以使用 SO。 询问有关 ARM Whatsit 的启动代码的问题,然后使用示例代码和有关其工作原理和原因的文本回答您自己的问题。 SO 标签会很好,因为您可以搜索“boot”“arm”“embedded”,然后搜索“boot”“avr”“embedded”等,并获得针对不同平台的类似示例程序。
I have written many such examples myself but they are scattered and not organised and probably rarely read (one time the folks at avrfreaks borrowed something). StackOverflow might curb this but SO could in theory be used. Ask a question about boot code for an arm whatsit, then answer your own question with example code and text on how and why it works. The SO tags would be nice in that you could do a search on "boot" "arm" "embedded" and then one on "boot" "avr" "embedded", etc and get similar example programs for different platforms.
针对初学者时值得考虑的其他事情是直接提供有用资源的指针,例如合适的模拟器/模拟器,甚至是您可以轻松订购入门套件甚至某些芯片的免费样品的地址/网页。
例如,大多数半导体制造商提供其产品的免费样品,例如,请参阅 microchip.com 或 atmel.com。
理想情况下,入门课程将基于一开始就使用此类硬件模拟器或仿真器,以便一旦初学者有兴趣将其工作转移到真实芯片上,项目和所有相关经验就可以直接映射到真实设备上,提供免费资源或非常实惠的入门套件的指导可能非常有用。
这将确保初学者能够尽可能轻松且便宜地入门。
Something else that's worth to take into account when targeting beginners, is to directly provide pointers to useful resources, such as suitable simulators/emulators, or even addresses/webpages where you can easily order a starter kit or even free samples of some chips.
For example, most semiconductor manufacturers provide free samples of their products, e.g. see microchip.com or atmel.com.
Ideally, an introductory course would be based on working with such a hardware simulator or emulator in the beginning, so that the project and all relevant experience may directly map onto a real device once the beginner is interested in moving his work onto a real chip, providing pointers to freely available resources, or very affordable starter kits can be very useful.
This would ensure that beginners can get started as easily and cheaply as possible.
也许对于不同的 ARM7 和 CortexM3...?
这里每个人都假设有很多信息,但它遍布整个网络,没有任何红线……
但是如果你使用 AVR,在 http://www.avrfreaks.net,我猜那张图片也有很多。
Maybe for the different ARM7 and CortexM3...?
Here everyone asumes there is a lot of information, but it is spread all over the net and without any red line what so ever...
But if you take AVR there is quite a lot of stuff over at http://www.avrfreaks.net, and I guess that PIC has quite a lot as well.
www.mikrocontroller.net 上有一些很棒的教程,但它们是德语的。
如果您能为英语社区创建类似的东西,那就太好了。
There are the excellent tutorials at www.mikrocontroller.net, but they are in German.
If you could create something similar for an English speaking community, that would be great.
网上已经有一些这样的教程(例如 SparkFun 的这个教程),另一个可能是有价值的补充,但前提是它在某些方面更好或不同。
您将提供哪些真正的改进?
一些建议:
你所做的每件事,我都很期待(只是在业余时间学习嵌入式的东西...)。
There are already a few such tutorials on the net (e.g. this one from SparkFun), another one might be a valuable addition, but only if it is better or different in some way.
What will you offer that is a real improvement?
Some suggestions:
What every you do, I'm looking forward to it (just learning embedded stuff in my spare time...).