问题标签 [atmelstudio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
183 浏览

arduino - 如何使用选定的 arduino 库?

我想知道是否可以在我们的 AVR 项目中使用选择性 arduino 库。例如:我正在使用 Atmega328 和 Atmel 工作室。我想在我的项目中使用 DS1307 相关的库文件(我猜是 twi.c 和 Wire.c 源文件)。我们可以使用单独的库,然后在我们的构建中包含适用的头文件吗?如果是这样,这些库位于哪里,扩展名是什么?我在 Atmel 工作室中看到很少有关于构建整个 arduino 项目的文章,我对此不感兴趣。如果可能的话,我想在不安装 arduino 的情况下进行管理(如果需要,我只能安装 arduino 来获取库)。我想包括源文件,但它们是在 C++ 中,当包含在 C 项目中时我开始收到错误消息。是否可以在不大量修改源文件的情况下做到这一点?

0 投票
1 回答
923 浏览

sd-card - 对 FatFS 进行必要的调整以使其与 Arduino Due 一起使用

:)

首先原谅我的英语不好。我希望你能理解我的写作。

我的目标是为学生项目构建一个高精度(24 位)数据记录器,将数据存储到 SD 卡中。我使用 Arduino Due (ATSAM3X8E) 和额外的带有 SD 卡连接器的自制屏蔽。

此外,我使用 Atmel Studio 6.2 和 ASF 库“SPI 接口上的 SD/MMC 堆栈”和“FatFS 文件系统”。

完全可以通过 spi 使用 sd/mmc 模块进行读写,但没有文件系统。所以硬件工作正常。

我想我的错误可以定位在 FatFS 模块中。

在 main.c 我调用以下函数:

  • sd_mmc_init();

  • sd_mmc_check(SD_SLOT); //直到这个程序工作,我可以用终端窗口读写有效值

  • f_mount(LUN_ID_SD_MMC_0_MEM, &fs);

//它返回 FR_OK 但这里可能是第一个小错误,因为我不确定我是否选择了正确的 LUN。

  • f_open(&file_object,(char const *)test_file_name, FA_CREATE_ALWAYS | FA_WRITE);

// 这里出现错误 FR_DISK_ERR // 当我将错误跟踪到较低级别时,我来到函数: - chk_mounted(&path, &dj.fs, (BYTE)(mode & ~FA_READ)); - fmt = check_fs(fs, bsect = 0); - 然后在最低级别我的 disk_read 函数,它是 diskio.c 的一部分(附加)

稍后它必须遵循函数 f_puts 和 f_close(&file_object); 但是没有 f_open,它们就无法工作。

我附加了我的 diskio.c 文件,其中分配了导致错误的 disk_read 文件。

我真的希望有人能帮助我。谢谢大家的回答和提示!!!

0 投票
0 回答
1167 浏览

c++ - C++ 构建:ld 返回 1 个退出状态和未定义的引用

我正在 Atmel Studio 6.1 中为 Atmega328p 开发程序这是我的库:

.cpp 文件:

头文件:

当我在类定义中只有 lcd_init() 作为公共方法时,一切都很好并且可以正常工作。然后我在我的类中添加了其他方法(clear_display()、shift_display_right() 等...),我得到了这些错误:

输出:

我无法理解这个问题(在添加一些方法之前一切正常!)...

提前致谢

注意:libm 被加载到链接器中......

0 投票
1 回答
111 浏览

c - 无法从 atmega128 C 代码中找到错误

这是 ATMEGA 128 微控制器中的 3 位定时器代码。如果您按下连接到端口 D 的按钮,定时器将启动。但是,如果您按下它一段时间,计时器将重置。在我按下按钮后,在 proteus 模拟中,微控制器仅计数为 1。从那以后什么都没有发生(显示仍然是“001”)

0 投票
4 回答
2414 浏览

c - Xmega 只有两个 IO 端口中断(INT0 和 INT1)

在avr Xmega设备中,只有两个IO口中断向量INT0和INT1。

我有三个应该产生三个中断的开关。我已经使用 INT0 为第一个开关编写了中断代码。现在,我可以使用 INT1 编写第二个中断,这将耗尽我的向量。以下是我的 INT0 ISR 代码:

我可以重新定义此 ISR 以启用第二个开关的中断吗?

我在 main 函数中设置的寄存器如下:

0 投票
0 回答
449 浏览

c - Atmel sam 4c 无法运行简单程序,调试后内存变砖

背景和设置

缺少一些 Arduino 开发,我是嵌入式世界的新手。决定跳进去学习!有一个带有 ATSam4C32C 微处理器的 Sam4C-ek,还有 Atmel ICE 调试器。把所有东西都连接起来并安装了 Atmel Studio 7。查看数据表,在 PC8 上找到了一个用户可控制的 LED,在 PIO 控制器上找到了文档,最后得到了这个代码来打开那个 LED:

从 atmel 库定义:

问题

我在没有调试的情况下点击了开始,它加载了 micro,没有任何反应......嗯,好吧,所以我做错了。点击停止,点击“开始调试和中断”,我收到错误消息“无法写入 ARM 内存”。那很奇怪!尝试通过 AS7 进行全芯片擦除等操作,但最终必须跳过擦除引脚并重置微控制器。点击“开始调试并中断”它加载程序并在“int main(void)”上中断,点击 F10 以逐步执行,SystemInit() 很好,点击 PIOC->PIO_OER = PIO_OER_P8; 在“跨过”之后,它就会进入看起来像无限循环的状态。如果我点击停止并尝试重新开始,我会得到相同的“无法写入手臂记忆”并且必须跳转擦除。

有任何想法吗?!

0 投票
1 回答
878 浏览

c++ - AVR XMEGA USART 模拟

使用下面的测试代码,我正在尝试使用Watching the I/O view 中USART的数据寄存器发送数据,即使我正在设置它也永远不会设置。我的代码或模拟器有什么问题吗?xmega128a3usimulatorAtmel Studio.

在此处输入图像描述

0 投票
1 回答
322 浏览

c - AtmelStudio 编译代码:如何优化编译器

对于代码:

生成的程序集是:

现在,正如我所见,至少可以消除一个,最多两个 push-pop 对:

  1. 要保存一个 push-pop,请改用 r0 来消除 r24

    /li>
  2. 看到没有代码将 r1 用于 0 值,因此仅将 r1 用于所有目的。

    /li>

这些中的任何一个都为我们节省了宝贵的字节和微秒。

有没有办法可以以某种方式将这些或类似的优化放入 atmel 工作室工具链/库中,以便我的编译代码生成得更好一些?
许多围绕中断和函数调用的代码,以及一些 C 到汇编的翻译都可以进行很多优化。

0 投票
0 回答
36 浏览

windows - 将文本文件更改重定向到批处理文件输出

我正在使用一个仅将其输出写入文本文件的构建工具,我想在构建服务器上使用该构建工具。该工具是 Atmel Studio,我尝试以这种方式开始构建。

在构建运行时,它将其结果写入文本文件,然后该工具的过程结束。

我希望将文本文件输出写入标准输出,即我希望获得与工具写入命令行输出而不是文本文件相同的效果,以便查看构建期间发生的情况。

批处理文件上是否有任何类型的命令来实现这一点?如果没有,有没有好的选择?

0 投票
1 回答
162 浏览

atmelstudio - Atmel SAM4S Xplained Pro 在调试停止后继续运行

我有一个 Atmel SAM4S Xplained Pro,我通过 USB 电缆和 Atmel 的板载 EDBG 芯片(换句话说,按照上帝的意图)对其进行编程和调试。目前,如果我通过 Atmel Studio (v7.0) “停止调试”,代码似乎会继续运行(因为我继续在终端中获得输出,这是特定于应用程序的输出)。

有谁知道如何阻止这种情况发生,即如何使“停止”意味着“停止”?它让我头疼!