-1

我正在使用 C# 语言(WinForms、Web、WPF)处理 .NET Framework。现在我需要完成我的大学任务。它应该是用于嵌入式设备(如微控制器或类似设备)的简单程序。我完全没有数字电子学的基础知识,但我对C有一点了解。我有很多时间研究这些东西(大约半年或更长时间)。所以我该怎么做?什么对我更好?

  1. 你能推荐一些书籍或培训课程来开始使用嵌入式系统吗?

  2. 我听说过一些关于 .NET Micro Framework 的信息。这是解决我问题的最佳方法吗?我应该买什么设备来学习编程(eBay上有很多设备)。

  3. 还有很多建议使用 PIC 单片机和 C 语言对其进行编程。所以我再次询问我需要什么设备和什么IDE?

PS对不起英语不好。

4

3 回答 3

4

很难回答你的问题,因为你没有提到你想做什么。我熟悉微芯片微控制器 (PIC),他们有一系列价格合理的开发板,您可以从他们的网页免费获得 IDE 和编译器(IDE 称为 MPLAB,编译器取决于您的设备采用)。但是,如果您来自 pc 世界,开始为微控制器开发有时会有点令人沮丧。这些工具有它们的怪癖,你必须习惯它们。

您的问题的另一个替代方案可能是 arduino 板,它们非常便宜(大约 20-25 美元)并且它们易于编程,您不需要任何额外的设备来对其进行编程。(板直接插入USB)。您还可以从 arduino 网站免费获得所有开发工具。

我看到 Arduino 和 PIC 之间的主要区别在于,Arduino 有点像业余爱好者的玩具,而用 C 语言编写 Pics 可以让您更好地了解嵌入式软件的开发方式。与其他微控制器相比,pic 的好处是它们在业余爱好者中非常受欢迎,这意味着有很多适合初学者的书籍。

根据您对学习嵌入式软件的认真程度,如果只是为了一个简单易用的项目并且再也不会看到微控制器,我会选择 Arduino,但是如果您想真正学习编写嵌入式软件,我会选择功能相当强大的开发板,这将允许您将来运行 RTOS。根据开发板,您可能需要也可能不需要外部编程器(许多开发板板载 USB 编程器)

我只是快速浏览了一下 .net 微框架是什么,显然它只被移植到 ARM 内核并且需要相当多的内存才能运行,所以除非你开发了一个开发板来运行 .net 微框架(只是遇到了一个叫做netduino的东西)我不会考虑的。

于 2012-06-06T14:20:48.460 回答
0
  1. 嵌入式系统大多是用 C 语言编程的,部分软件是汇编语言。因此,如果没有很好的 C 知识(堆栈如何工作,如何修改给定地址的内存内容......)和计算机体系结构(什么是中断,什么是后端缓存,处理器如何启动...)。有很多关于这些的优秀文献,你可以从维基百科开始。

  2. 我对 .NET Micro Framework 了解不多,也不认识任何使用它的人。对于嵌入式系统的开始,您应该只考虑另一种设备,请参见 3。

  3. 正如 praemdonck 所说,带有 MPLAB 调试探针的 Microchip dsPIC 可能是最实惠的解决方案,而且您实际上可以用这些微控制器做很多事情。我不会考虑基于嵌入式 Linux 的解决方案,因为您不会深入到底层来理解嵌入式编程的真正含义。

于 2012-06-07T12:43:35.677 回答
0

1) 你能推荐一些书籍或培训课程来开始使用嵌入式系统吗?

这是一本不错的在线书籍。它基于一个被称为 68HC12 的过时微控制器,尽管讨论的主题对所有微控制器都是通用的,尤其是关于嵌入式 C 编程的部分。

(68HC12是摩托罗拉90年代中期开发的,2002年左右过时。被现代HCS12取代,指令兼容。作为参考,68HC12被认为是一个老旧的,过时的MCU,但它是在第一个20年后设计的PIC。仅供参考 PIC 到底有多过时。)

2) 我听说了一些关于 .NET Micro Framework 的事情。这是解决我问题的最佳方法吗?我应该买什么设备来编程(eBay上有很多东西)。

我专门从事嵌入式系统工作,但从未听说过。所以不......这可能不是一个好主意,听起来像是微软又一次绝望地尝试涉足嵌入式系统。如果我认识他们,那只会是另一种风格的 PC。

3)我还看到很多建议使用 PIC 微控制器和 C 语言为它们编程。同样,我需要什么设备和什么 IDE?

其他人已经回答了这个问题。C语言绝对是嵌入式系统所需要的。如果您是 C 语言的初学者,尤其是嵌入式 C,我强烈建议您选择一个平台,该平台的编译器以其 C 标准合规性而闻名。任何使用 GCC 的平台都可能是初学者的明智选择。

于 2012-06-08T06:54:52.123 回答