问题标签 [avr]

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 回答
1281 浏览

avr - 将 ADXL345 SPI 总线连接到 AtMega644 需要帮助

嗨,我正在尝试让 AtMega644 上的 SPI 总线与 ADXL345 加速度计通信。我总是得到一个 0 的回报,而且我没有出错的地方。任何帮助表示赞赏。我使用的是 avr-gcc 而不是 Arduino 代码库。谢谢

0 投票
2 回答
962 浏览

timer - AVR/Arduino: reading timer toggled port pin

I've configured the timer 2 in CTC mode and to toggle the port pin on compare match (TCCR2A=0x42, TCCR2B=0x02, OCR2A=0x20) and have set DDR3 to output. Hence, according to the ATmega328P documentation (pages 158-163). OC2A (aka PB3) should toggle on each compare match. Unfortunately, I can't read the pin state at PORTB. Is this expected? I assumed, that even if a port is configured as output I can read the set value.

0 投票
3 回答
7306 浏览

c++ - AVR Studio 5:编译 C++ 代码

在 AVR Studio 5 中创建项目时,它会创建一个包含以下内容的 .c 文件:

构建这个 C 程序工作得很好:

但是当我将文件扩展名更改为 .cpp 时,构建会发出未定义的警告设备类型(如果尝试使用任何 AVR 特定寄存器,则会变成错误):

比较这两个输出表明,对于 C 代码,它添加了选项-mmcu=atmega328pavr-gcc.exe但对于 C++ 代码,它在执行avr-g++.exe. 我在使用 WinAVR 时遇到了类似的问题。如何解决这个问题?

0 投票
3 回答
5691 浏览

programming-languages - 针对 Arduino/AVR 的编程语言

除了默认的 C++ 环境之外,还有哪些编程语言或环境以 Arduino 或 AVR 为目标?
PS:我使用的是 Mac OS 10.5。

0 投票
1 回答
1955 浏览

eclipse-cdt - Eclipse 环境中 Arduino 库的问题 (__vector_XX)

我正在尝试将基于 Arduino IDE 的项目迁移到 Eclipse。该项目非常大(10 个 .pde,使用了大约 20 个库)。我按照Arduino Playground - Eclipse中的说明编译核心库并创建一个基础项目。使用简单的 LED 闪烁程序对其进行测试时,所有编译都非常好。

为了使我的应用程序正常工作,我还需要更多库(标准 Arduino 库,例如 SoftwareSerial、SPI 或 Wire)和自定义库。我像使用上面的核心库一样导入它们(我创建了另外两个项目)并编译了它们。一切都很好。

将所有 .pde 导入 Eclipse 中的基础项目后,将它们转换为类并稍微清理代码,最后一个我无法摆脱的问题是多个变量定义,导致如下错误:

关键是,我在代码中的任何地方都找不到任何 __vector_XX 变量,也找不到包含 grep 的库。Eclipse 关于在哪里寻找原因的提示也没有多大帮助。我该怎么办?

0 投票
1 回答
2971 浏览

avr - 带有 JTAGICE mkII 克隆的 ubuntu 上的 avrdude - 连接 ATmega1280 (RSP_ILLEGAL_JTAG_ID) 的问题

希望我已经为此苦苦挣扎了足够长的时间来在这里提出问题...

我无法将 ATmega1280 与这样一个更便宜的 JTAGICE mkII 版本连接起来。我正在尝试首先为 JTAG 调试设置保险丝。我已经按照这里(和这里)的描述完成了 udev 配置。

编辑:我可以使用 AVRStudio 通过 Windows 中的 JTAGICE 将我的硬件连接到我的计算机上,所以我已经确定接线没问题。

我得到的只是:

我读过这可以帮助解决 JTAGICE 问题。可悲的是,我不明白它有什么帮助,但也许你这样做:

我的系统正在识别该设备

它也不在任何 USB 集线器后面。我三重检查了所有连接。有什么线索吗?

0 投票
3 回答
1408 浏览

c - 有关 AVR 和串行端口的帮助

我在串行通信方面遇到问题。我已经将 AtMega644 连接到需要 9600 8N1 的串行 LCD。我只是得到垃圾。通过垃圾,我只是得到一些 U、P、T 和 @ 而不是所需的“U”。我正在使用带有下面列出的保险丝的内部 8Mhz RC Osc。我怀疑是时间问题,但我不确定我哪里出错了。我添加了一个闪烁的 LED,时间看起来正确(眼球和数字秒表)。任何帮助表示赞赏。

avrdude -pm644 -cavrisp2 -Pusb -b2400 -u -Uflash:w:ImpactTarget.hex:a -Ulfuse:w:0xe2:m -Uhfuse:w:0xd8:m -Uefuse:w:0xff:m

0 投票
2 回答
3098 浏览

gcc - GCC 内联汇编:让编译器决定使用哪个寄存器来存储临时值

我需要加载 18h 并将其输出到端口 60h,以下工作(在 asm("") 内)。

我不在乎寄存器 r1 或任何其他是否用于此目的。有没有一种简单的方法让编译器决定使用哪个寄存器?

我可以使用外部 r/w 变量,但它会产生一些不必要的开销:

这适用于 AVR atmega(8 位)处理器。使用 GCC 4.3.2

0 投票
4 回答
30423 浏览

eclipse - make: *** 没有规则来制作目标“main.o”

这是 Eclipse 中控制台的输出:

我正在尝试使用 Eclipse 的 AVR 插件构建一个项目来测试FatFs库。我首先导入了 FatFs 代码,然后创建了 main.c 文件来实现它。在我第一次尝试构建它之后,我将项目的 src 文件夹添加到属性 > AVR 编译器 > 目录中的目录列表中,但我仍然收到构建错误。有什么帮助吗?

这是我的生成文件:

主程序

子目录.mk

对象.mk

来源.mk

0 投票
2 回答
1809 浏览

eclipse - Xcode 4 的 AVR?

有没有人成功使用 xcode 4 作为 AVR 微控制器的 IDE?是否可以与 eclipse 的插件具有相同数量的集成?