我正在尝试深入学习 C。我的最终目标是更倾向于 AVR 编程和硬件,所以我下载了 AtmelStudio。
我正在阅读一本 C 入门书,想知道如何在 AtmelStudio 中编写控制台程序?所有项目类型似乎都以 AVR/ARM 为重点(有道理),并要求我选择一个设备。
我可以使用 AtmelStudio 来编译简单的程序并在 cmd 窗口中运行它们吗?
我正在尝试深入学习 C。我的最终目标是更倾向于 AVR 编程和硬件,所以我下载了 AtmelStudio。
我正在阅读一本 C 入门书,想知道如何在 AtmelStudio 中编写控制台程序?所有项目类型似乎都以 AVR/ARM 为重点(有道理),并要求我选择一个设备。
我可以使用 AtmelStudio 来编译简单的程序并在 cmd 窗口中运行它们吗?
据我所知,这是不可能的。您只能使用模拟器来研究微控制器的模拟内部状态,仅此而已。
那里有avrtest或 simavr 之类的东西,但我不确定这是否适合你。
如果您只是想在进入微控制器开发之前学习 C - 这是一个相当不错的主意 - 只需获取另一个 IDE,如Eclipse C/C++并从它开始。掌握基础知识后,您也可以仅使用 AVR 模拟器调试微控制器。
这是您想要的另一种(可能的)解决方案,但我想这不是您作为初学者想要得到的答案。
对于打算在 Windows 控制台窗口中运行的程序,我可以建议使用 MinGW 吗?那是 GCC C/C++/etc 的一个端口。Atmel Studio 使用的编译器和 Code::Blocks IDE 非常适合 Windows 下的编译器。我通常不推荐软件包,但有一个方便的二进制下载 codeblocks.org 带有稳定的 Code::Blocks 和最近稳定的 MinGW。
至于使用 AtmelStudio 编译程序以在“cmd”窗口中运行,所使用的编译器将是某种 CPU 和操作系统的交叉编译器,而不是您正在运行的操作系统。除非你有一个在 Windows 控制台中运行的目标平台的模拟器,否则我认为你不走运。嵌入式系统通常没有键盘或控制台设备,因此真正的程序不会具有经典的 Unix 风格的main()
功能。您仍然可以编写和测试不执行控制台 I/O 或系统调用的函数。正确编码后,它们将重新编译而无需更改以在任一环境中运行。