如何将 .c 和 .h 文件添加到 Atmel Studio 6?

2023-12-05

我知道关于这个主题有很多问题,而且我已经研究了其中相当多的问题。但是我仍然遇到问题。

我开始为 PCB 原型编写测试程序,现在它已增长到近 1000 行,我正尝试将其分解为可用于特定功能的库。

我以为这会很简单。为我需要的每个库制作 .c 和 .h 文件。 IE。我将使用 OLED.h 和 OLED.c 来实现控制 OLED 显示屏的功能。将适当的函数/定义复制到每个文件中。然后将这些文件复制到 Atmel Studio 的解决方案中。我将它们放入项目名称下的 src 文件夹中。

然而,这不起作用!我收到一长串错误。就编译器而言,.h 文件中定义的所有内容显然都是未定义的。我还收到许多类型为“未知类型名称 int16_t/uint16_t/uint8_t/etc...”的错误消息,这部分对我来说确实令人困惑。为什么函数位于外部库中很重要,现在编译器不理解这些数据类型的含义?

所以,这可能是一个愚蠢的问题。我不希望 Atmel Studio 通过将它们包装在某些“库项目”或其他东西中来控制我的库,我想将它们放在我选择的文件夹中,并在需要时添加它们。我已经搜索了这个问题的答案,并且找到了有关更改项目的编译器设置、链接器设置等的长教程...我尝试了这个教程,但仍然没有骰子:http://www.engblaze.com/tutorial-using-avr-studio-5-with-arduino-projects/#setup

我也找不到通过右键单击项目并单击“添加”来添加内容的方法。它要我找到 .a 文件。 Atmel Studio 中的“添加库”对话框看起来很糟糕。

当然,仅仅将库添加到现有项目并使其正常运行不会那么复杂吗?!我过去使用过 PIC,来到 Atmel 后,我发现了可怕的文档和奇怪的超级光滑的超级飞翔的界面,它不能很好地单独放置,并且混淆了简单的功能。我可以做什么来添加这些库?

UPDATE:似乎回答了我自己的问题。结果我需要将所有用于识别数据类型等的库包含到 .c 文件中。我以某种方式认为这只需要在主文件中完成,但显然我错了。添加 asf.h 似乎效果很好,因为它包含所有 MCU 特定端口定义/名称等等。目前一切都好!


将库文件添加到解决方案应该很简单。转到解决方案资源管理器,右键单击您的解决方案,然后转到“添加->现有项目”。如果要添加预先存在的库并将其保存在与解决方案不同的文件夹中,请单击“添加”旁边的箭头并选择“添加为链接”。由于解决方案文件夹中存在库的重复副本,并且文件无法保持最新​​,因此可以避免许多麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 .c 和 .h 文件添加到 Atmel Studio 6? 的相关文章

  • 编写自定义重构脚本的最佳 Java 库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 包 android.support.v4.app 不存在;在Android Studio 0.8中

    我最近将 android studio IDE 更新至 0 8 以与新的 android L SDK 配合使用 首先 我导入了一个已完成的 android 项目 该项目在旧版本的 android studio 中没有收到任何错误 在版本 0
  • 有一个不错的 OpenCL 入门套件吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一些经验OpenGL它是可编程管道 我愿意给OpenCL不过 尝试一下 有人可以提出一个很好的集成套件来使用OpenCL 我只知道石英作曲家看起来
  • 嵌套 Linq Min() 使 Visual Studio 崩溃

    我有一段代码使 Visual Studio 2008 IDE 运行速度非常慢 消耗大量内存 最终导致其崩溃 我怀疑 VS 达到了操作系统内存限制 以下代码不是我的真实应用程序代码 但它模拟了问题 本质上 我试图使用 LINQ 找到树中的最小
  • Eclipse 中是否有键盘快捷键可以折叠当前方法/块?

    问题说明了一切 我在 Eclipse v3 4 中打开了折叠功能 并且不必单击页面装订线中的小 我想知道是否有一个键盘快捷键 折叠当前方法 快速浏览一下 Eclipse 中的菜单和其他内容不会显示它的菜单项 所以也许您无法做到这一点 Any
  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • 如何在 IDE 中使用 Grails 依赖项

    So I finally https stackoverflow com questions 1867064 grails and local maven dependencies让我的依赖项与 Grails 一起工作 现在 我的 IDE
  • 在 Visual Studio 中进行嵌入式代码开发(尤其是使用 C18 的 PIC)

    我使用 Visual Studio 编写桌面应用程序 我发现它非常用户友好且易于使用 如果可能的话 我还想在Visual Studio中编写嵌入式代码 例如 是否可以使用 C18 或任何其他类似的基于 C 的语言为 PIC18Fxxx 系列
  • 错误:在“int”之前应有“=”、“,”、“;”、“asm”或“__attribute__”

    在 LINUX 中编译 C 程序时 我得到了以下信息 错误 stream h 1123 error expected asm or attribute before int stream h 1124 error expected asm
  • 免费的 C 语言 IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 谷歌搜索 c ide C 会产生太多 C 结果以及不相关的结果 这些搜索词似乎太短 无法产生相关结果 有人有免费的 Win32 C IDE
  • 有没有办法在 JetBrains“运行配置”中仅运行“外部工具”

    JetBrains IDE 中的所有 或几乎所有 运行配置 都提供了一个选项来运行 外部工具 作为其执行的一部分 有没有办法only在运行配置中运行外部工具 不知道为什么你需要它 我可以建议尝试 Bash 支持插件 http plugins
  • “完美”的 Python 调试器具有哪些功能? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 请告诉我您希望当前的 Python 调试器具有哪些功能 我正在创建一个新的 Python IDE 调试器 并期待着具有挑战性的请求 请原谅我无耻
  • 如何在 IntelliJ IDEA 中的当前文件上运行外部工具

    我需要通过 scp 将当前编辑的 JSP 上传到服务器 我的 Windows 计算机上的路径上有 pscp 如何设置 intellij idea 以一键单击当前打开的文件来执行此操作 我可以在 eclipse 中设置它 通过 运行工具 和参
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Intellij Idea 12 中重命名/移动项目?

    就像声明的那样here http link sheidaei com mozcw人们可以更改项目的名称 但是 它仅更改项目名称 不会更改文件夹结构 例如 如果您的项目名为sample1并且位于 user1 development IdeaP
  • VBA:新集合 -> 模块不是有效类型

    我尝试使用集合作为函数的一部分 但是在编译时不断收到错误 模块不是有效类型 即使该函数只是定义一个集合 我也会得到相同的结果 Function CountUniqueTags Dim table As Collection Set tabl
  • android studio 和 android SDK 捆绑的 eclipse 版本有什么区别

    我没有 Android 开发经验 我想开始编写应用程序 The 官方开发者工具页面 http developer android com tools index html包含两个不同 IDE 的链接 第一个包含捆绑的 ADT 版本Eclip
  • 在 Eclipse 中突出显示修改的行

    在 netbeans 中 如果我打开一个受版本控制的文件 则修改的行会在左侧突出显示 绿色表示新行 蓝色表示修改行 在Eclipse中是否可以得到类似的效果 打开首选项窗口 搜索 差异 选择快速差异 将 使用此参考源 更改为 SCM 提供程
  • 防止 Visual Studio Code 或 IDE 泄露 Python 类私有方法

    只是想问一个简单的问题 本质上 我想知道是否可以从 Visual Studio Code 或其他 IDE 提供的建议列表中隐藏 Python 类私有方法 例如 假设我们有一个类 A Creating a class class A Decl
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用

随机推荐

  • 查找缺少任意字段的 CouchDB 文档

    我需要一个 CouchDB 视图 可以在其中获取所有没有任意字段的文档 如果您事先知道文档的哪些字段 这很容易做到might没有 例如 这可以让你发送view my view key foo 轻松检索没有 foo 字段的文档 functio
  • 在后台发送 WhatsApp 消息或在 Android 中发送消息并关闭应用程序

    是否可以在不打开应用程序的情况下发送whatsApp消息 在后台发送 就像使用发送短信一样 smsManager sendTextMessage 12546304580 null Test Message null null 如果是这样怎么
  • 删除每个组的第一行

    假设我有一个这样的数据集 df lt data frame group c rep 1 3 rep 2 2 rep 3 2 rep 4 3 rep 5 2 score c 30 10 22 44 6 5 20 35 2 60 14 5 gr
  • OleDB 和混合 Excel 数据类型:丢失数据

    我有一个 Excel 工作表 我想读入数据表 除了 Excel 工作表中的一个特定列之外 一切都很好 ProductID 列是值的组合 例如 and n 我尝试过了让 OleDB 自动处理一切通过将其读入数据集 数据表 但 ProductI
  • 一次仅允许有一个 UITableViewCell 附件复选标记

    我有一个表格视图 其中一个部分包含用户可以 选择 的声音列表 只有当前选择的声音应该显示UITableViewCellAccessoryCheckmark 基本上我已经成功了 然而 当例如底部单元格被选中 我向上滚动表格视图 使选中的单元格
  • 如何在 python 2.6 中使用日志记录 NullHandler

    目前我的大部分代码都设计为在 python 2 76 上运行 因此 我编写的库使用以下代码 以便我的库的任何使用者都可以拥有来自该库的调试日志记录 所以在每个库文件中我都有这个 log logging getLogger name log
  • 这个插值搜索实现有什么问题?

    这是在 Internet 上找到的插值搜索算法的常见 C C 实现 然而 当与大约 100000 个整数的排序数组一起使用时 中间变量开始生成负数组索引 从而导致分段错误 问题可能是什么 include
  • 使用 boost 迭代 xml 文件

    我是 boost 和 xml 的新手 我正在尝试扫描 xml 文件并保存一些特定值 I read this文章和我的问题是 如果 xml 包含几个
  • 预测时间序列数据

    我做了一些研究 但我一直在寻找解决方案 我有一个时间序列数据 非常基本的数据框架 我们称之为x Date Used 11 1 2011 587 11 2 2011 578 11 3 2011 600 11 4 2011 599 11 5 2
  • 更改编辑控件中文本的背景

    您可以更改编辑控件区域中保持静态的文本背景吗 在编辑控件的父级中 处理WM CTLC彩色静态消息 该消息的wParam是Edit控件将要绘制的HDC 对于大多数 CTLCOLOR 消息 如果您在此 DC 中设置文本和背景颜色 则控件将使用您
  • 对象处理触摸事件但也让它通过

    我想创建一个像这样工作的对象MultiPointTouchArea 因此它将具有 touchUpdated 信号 但它也不会窃取触摸 因此放置在其下方的对象也将接收触摸事件 该解决方案可能需要创建 C 对象 有没有一种简单的方法来创建这样的
  • 在 silverlight 中单击子窗口外部即可关闭子窗口

    当我点击子窗口外部时如何关闭子窗口 如果您使用默认的silverlight子窗口样式 当它打开时 外部部分 透明的灰色部分 实际上是子窗口样式内的网格 称为覆盖 所以你需要做的是处理它的MouseLeftButtonDown事件
  • 良好的命名空间命名约定

    我正在为 CRUD 业务应用程序创建一个类库 业务对象 以及相关的数据访问层对象 的主要 类别 是 维护 用于与master一起工作 数据库中的表 主列表 事件 大多数对象与现实世界的事件相关 搜索 显而易见 到目前为止 我的命名空间设置如
  • 使用 Java 将 At 命令发送到 gsm 调制解调器

    我正在尝试编写一个发送短信的程序 我写了程序 但没有成功发送消息 我的程序向我的计算机中的 COM 端口发送一条 At 命令 但我没有从我的 gsm 调制解调器收到响应 我正在使用 COM 终端 Temp pro 通过 at 命令发送短信
  • 如何在java中将mm / dd / yyyy转换为yyyy-mm-dd [重复]

    这个问题在这里已经有答案了 我将输入日期作为字符串输入 mm dd yyyy 并希望将其转换为 yyyy mm dd 我试试这个代码 Date Dob new SimpleDateFormat yyyy mm dd parse reques
  • 如何在SPRING MVC POJO的字段中保存日文字符

    我正在使用构建网络应用程序 春季MVC 春季安全 Hibenate MySQl 我想为我的应用程序添加国际化支持 我想使用 Hibernate 将日语字符存储并检索到 mySQL 数据库 我已将数据库字符集设置为UTF 8并且还添加了属性h
  • 适用于 iOS 的 RTSP 视频流 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想在iPhone屏幕上显示视频流RTSP 可以抛出项目的源代码或如何实现它的详细信息 找到2个项目 但还没有编译 https github com mooncatventure
  • 通过 python odoo 9 自定义报告

    如何将多个模块数据传递到 QWeb 报表 在从控制器渲染 html 时是否有类似于传递字典的东西 class account model Models name account main name fields Char class acc
  • 帮助页脚始终位于底部

    我知道这个问题已经在这里讨论过很多次了 但是我在这里找到的答案似乎都没有解决我的问题 我有这个可变 高度 布局 并且希望页脚始终粘在底部 我使用了最小高度 100 到容器 div 并以某种方式让它始终位于底部 问题是 它沉得太低了 我在这里
  • 如何将 .c 和 .h 文件添加到 Atmel Studio 6?

    我知道关于这个主题有很多问题 而且我已经研究了其中相当多的问题 但是我仍然遇到问题 我开始为 PCB 原型编写测试程序 现在它已增长到近 1000 行 我正尝试将其分解为可用于特定功能的库 我以为这会很简单 为我需要的每个库制作 c 和 h