TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How to pick a microcontroller

227 点作者 adastra大约 8 年前

13 条评论

pjc50大约 8 年前
Related on EE.stackexchange: <a href="https:&#x2F;&#x2F;electronics.stackexchange.com&#x2F;questions&#x2F;264794&#x2F;how-do-i-come-up-with-a-list-of-requirements-for-a-microcontroller-for-my-projec&#x2F;264813#264813" rel="nofollow">https:&#x2F;&#x2F;electronics.stackexchange.com&#x2F;questions&#x2F;264794&#x2F;how-d...</a><p>I agree with OP&#x27;s &quot;grief factor&quot; - difficult to estimate but really critical to your project timeline.<p>I&#x27;m also going to advocate my &quot;pick <i>something</i>&quot; suggestion; the first one of anything you buy in an unfamiliar product area will always be wrong. This applies to computers, cars, cameras, houses, everything; when you&#x27;re entering the market you won&#x27;t understand your own requirements and anti-requirements. So buy something cheap and standard then use it to understand how it&#x27;s inadequate for you specifically. You&#x27;ll also appreciate the expensive options.<p>If you&#x27;ve never bought a microcontroller, buy an Arduino. It may not be right but you&#x27;ll have a lot of company.
评论 #13909737 未加载
评论 #13909403 未加载
zw123456大约 8 年前
This was a pretty good overview. I get asked this same question a lot because I have been working with microprocessors for decades and I have used many different ones from the old 8051 to Microchip, Arm and even FPGA embedded. The way I usually start is I ask this &quot;will you need an OS like Linux ?&quot; (there are a bunch of follow on questions on that issue to decide that.<p>If the answer is yes then that steers you to a much bigger and more expensive chip, usually and increases the complexity significantly. For beginners who need an OS for their project, I steer them to the RPI simply because there is just a ton of resources on the web to help them along. There are other really good boards but I steer them to an off the shelf solution like that and the RPI seems to be really well supported.<p>If you don&#x27;t need Linux or RTOS or similar then that narrows it to a lower end simpler solution. For beginners I almost always steer them to the Arduino even though I rarely use it myself but for the same reason, tons of support on the web and you can, over time move to C or C++ on it as you advance your skills.<p>I am not a big super fan of those platforms I personally have my own dev system using my own boards and system that I have evolved over the years to be able to get designs done very fast. But I just think those are good starting points for a beginner.
jwr大约 8 年前
One more thing to consider: if your time is limited and you have to design&#x2F;build lots of different devices, stick to more extensive product lines. As an example the NXP Kinetis, while having its share of warts and issues, is a huge product line with hundreds of chips, sharing a similar architecture.<p>This means that you can use a chip that fits requirements well, ranging from tiny simple M0+ devices all the way to monster M4 chips with 1M flash and every peripheral one can imagine. They not only share some peripherals, but you use the same SDK, documentation formats are the same, etc.<p>This is a huge time saver and lets you use the right chip for each project, instead of sticking the same expensive microcontroller everywhere, or using ones from different manufacturers.
评论 #13908314 未加载
ChuckMcM大约 8 年前
Generally solid advice (although its more like &quot;how to pick a micro-controller for your design you&#x27;re trying to keep as cheap as possible.&quot;) and one of the areas where I quibble is the use of &quot;generator&quot; tools to generate I&#x2F;O code. The STCube application is easy to use for beginners but easily uses twice as much flash as actual user written code. That isn&#x27;t a problem if your app is small and the flash is large but puts you at a disadvantage if you are competing with people who know how to write that code.<p>My philosophy has been to develop an understanding of the peripheral fairly deeply, write a &#x27;driver&#x27; for it and a bunch of documentation that will remind me of the quirks when I come back to it, and then put that in a library. The benefit is &#x27;easy code&#x27; (just use the library) that is more efficient and smaller than generated code, and a quick spin up document if I need to dive in and do more complex work with the peripheral.
评论 #13909385 未加载
falcolas大约 8 年前
Now that you&#x27;ve picked a microcontroller, here&#x27;s some tips on the next steps: &quot;How to be: A smart hardware programmer&quot;<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;g8QDCMuy6oM" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;g8QDCMuy6oM</a><p>I link to this only partially in jest - you really will need way more components than the plan says you&#x27;ll need. Even microcontrollers; misaligning a header by one pin can result in things like putting the output of a 3C Li-Poly over a signal header...
评论 #13910626 未加载
评论 #13910454 未加载
std_throwaway大约 8 年前
A quicker guide for real beginners:<p>Do you want to understand in detail what&#x27;s happening? =&gt; Arduino UNO<p>Is the UNO too small&#x2F;slow? =&gt; Arduino Due<p>Still too small or you really just want a small computer running Linux but with GPIO-Pins? =&gt; Raspberry PI
评论 #13907434 未加载
评论 #13908074 未加载
评论 #13907414 未加载
评论 #13907526 未加载
评论 #13907438 未加载
评论 #13908014 未加载
评论 #13909227 未加载
评论 #13907646 未加载
评论 #13907986 未加载
jordz大约 8 年前
We use NXP&#x2F;Kinetis chips (Cortex M0+) and have been relatively happy with them from a cost and hassle point of view. When developing we use SWD with a kinetis dev board as the programmer hooked up to the target MCU. We have had strange issues with the MSB bricking things when updating the bootloaders but thankfully they&#x27;re cheap enough to replace.
contingencies大约 8 年前
1: PLAY &quot;Shenzhen I&#x2F;O&quot;[0]<p>2: JMP :1<p>[0] <a href="http:&#x2F;&#x2F;www.zachtronics.com&#x2F;shenzhen-io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.zachtronics.com&#x2F;shenzhen-io&#x2F;</a>
评论 #13907655 未加载
评论 #13907678 未加载
bschwindHN大约 8 年前
How is almost no one talking about the esp32? WiFi, Bluetooth, two cores, and an ultra low power processor that can wake the main cores for when you need low power consumption are just the main features of this thing, there are plenty more. Not to mention they have a great tool chain with lots of example code.
plandis大约 8 年前
Starting with a beefy ARM chip! Try Arduino. If you are not familiar with micro controllers you might as well stick to something that is made for beginners. Plus as you get more advanced you can always use the raw AVR chip without the added Arduino bootloader.
maxander大约 8 年前
Its slightly ironic that this article &quot;for beginners&quot; is filled with obscure acronyms he doesn&#x27;t define (UART, BOM, BLE...).
评论 #13908500 未加载
69mlgsniperdad大约 8 年前
Couple of thoughts after skimming the article. Consider weighing the importance of being able to upgrade or change uC. Don&#x27;t choose a controller made by only one manufacturer (unless there is a level of certainty or confidence in their continued production&#x2F;support and profitability). It would be unfortunate for example, if you used an atmega microcontroller and they went out of business, or changed their strategy and abandoned a platform, requiring you to switch to an alternative and rewrite some or all of your code. Having a codebase that can be made to run on different platforms easily would be ideal.<p>If there is a good chance, after a small order, you realize from feedback you are missing some crucial features and need to make changes, changes which require more it&#x27;s higher or more precise clock, or whatever, make sure that the jump to the next size chip doesn&#x27;t abandon or make a drastic jump in price or available volume. If you plan to manufacturer your product for a long time, ensure that you are confident in the availability of quantities at similar price for however long you expect to require it. Always be wary of jumping on board anything brand new. The Intel Edison&#x2F;Curie for example based on the Quark ended up having an unfixable segfault, and was virtually abandoned shortly after it&#x27;s release.
cmrdporcupine大约 8 年前
Parallax Propeller
评论 #13907802 未加载