问题标签 [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 投票
5 回答
31437 浏览

microcontroller - 使用带有 AVR 微控制器的旋转编码器

我无法让旋转编码器与 AVR 微控制器一起正常工作。编码器是机械ALPS 编码器,我使用的是Atmega168

澄清

我曾尝试使用外部中断来监听引脚,但似乎太慢了。当引脚 A 变为高电平时,中断程序开始,然后检查引脚 B 是否为高电平。这个想法是,如果在引脚 A 变高的那一刻引脚 B 为高,那么它会逆时针旋转。如果引脚 B 为低电平,则它正在顺时针旋转。但似乎 AVR 需要太长时间来检查引脚 B,所以它总是被读取为高。

我还尝试创建一个程序,它只会阻塞直到 Pin B 或 Pin A 发生变化。但是可能是编码器旋转时噪音太大,因为这也不起作用。我最后一次尝试是有一个计时器,它将最后 8 个值存储在缓冲区中,并检查它是否从低到高。这也不起作用。

我尝试过对编码器进行范围界定,从第一个 Pin 更改到另一个 Pin 更改,它似乎使用了 2 到 4 毫秒。

0 投票
21 回答
12708 浏览

embedded - 学习嵌入式编程的最佳平台?

我正在寻找学习嵌入式编程(主要是 C,但我也希望复习我的 ASM),我想知道最好的平台是什么。我在使用 Atmel AVR 并使用 stk500 对其进行编程方面有一些经验,并且发现这相对容易。我特别喜欢 AVR Studio 和可让您查看寄存器状态的调试器。

但是,如果我要花时间学习,我宁愿学习工业中流行的东西。我在想ARM,除非有人有更好的建议。

我还会寻找一些参考资料,我在 ARM 网站上找到了书籍部分,如果其中一本在技术上比另一本更好,我将不胜感激。

我要寻找的最后一件事是原型/编程板,例如具有一些按钮等的 STK500。

谢谢=]

0 投票
6 回答
5727 浏览

embedded - 适合初学者的简单串行 AVR 编程器

为 AVR atMega 和 atTiny 制作串行(RS232)编程器的便宜又好方法是什么?网上有好几种电路,但哪一种更好呢?

我希望能够使用一些标准工具从 Linux 和 Windows 对我的控制器进行编程。

0 投票
8 回答
2870 浏览

embedded - 用于在嵌入式 CPU 和 PC 之间进行通信的协议

我正在构建一个带有自己的 CPU (AVR Mega8) 的小型设备,它应该连接到 PC。假设已经完成了物理连接和字节传递,那么在这些字节之上使用的最佳协议是什么?计算机需要能够在设备上设置某些电压,并回读某些其他电压。

目前,我正在考虑一个完全由主机驱动的同步协议:计算机发送请求,嵌入式 CPU 应答。还有其他想法吗?

0 投票
2 回答
2172 浏览

embedded - (avr-gcc) 子目录的 Makefile 支持

我正在开发一个 AVR 项目,并且有多个文件夹包含我的代码。

我使用的 makefile 是 Pat Deegan 的“Standardized AVR Makefile Template”。它能够正确编译每个文件夹中的每个 cpp 文件并生成正确的对象 (.o) 文件。

但是,链接器失败,因为它尝试在子文件夹中查找 .o 文件(编译器将它们放在主文件夹中)。这是我得到的错误示例:

avr-gcc: subfolder/module.o: 没有这样的文件或目录 make: ***

[GrandCanyon.out] 错误 1

你能帮我修改它,以便链接器和编译器将文件(.o)放在同一个文件夹中并检查它们吗?

谢谢

你可以在这里得到makefile:http: //electrons.psychogenic.com/articles/Makefile.tpl

0 投票
2 回答
559 浏览

c - WinAvr 编程所需的帮助

我正在尝试运行 win avr 的源代码。当我尝试使用 avrdude 发送 makefile 后,它给了我错误。

请任何人都可以帮助我

0 投票
2 回答
473 浏览

c++ - winavr中的帮助需要

我正在尝试通过串行端口将 ---.hex 文件发送到我的 siemens C55,但是在执行此操作时出现错误

“make.exe”程序 avrdude -p atmega8 -P com2 -c stk200 -U flash:w:gsm_remote.hex avrdude: 端口名称“com2”既不是 lpt1/2/3 也不是有效数字 avrdude: 无法打开设备“ com2"

avrdude: 未能打开并口“com2”

make.exe: *** [程序] 错误 1

请指导我该怎么做源代码也可以在 http://www.4shared.com/file/88235332/4b2370f8/080324-11.html获得

0 投票
3 回答
2363 浏览

c++ - 错误:从 'const prog_uchar*' 转换为 'byte' 会丢失精度?

错误在这一行:

dataArray是:字节 dataArray[NUMBER_LED_MATRIX][NUMBER_ROW_PER_MATRIX];

bufferPattern是: const patternp * bufferPattern;

patternp是以下类型的 typedef: typedef prog_uchar patternp[NUM_ROWS];

我可以在参考中看到 prog_uchar 是 1 个字节(0 到 255)。所以我不明白失去精度的错误?任何想法?

0 投票
2 回答
391 浏览

c - 指针内存错误

问题

使用返回 Flash 中所需模式的地址的函数时,我无法从 Flash 存储器中获取数据(在下面的示例中进行了简化,只有 1 个常量:PATTERN_P)。

解释前的一些代码

类型patternp定义为

全局 PATTERN_P 变量是一个 patternp 类型的数组,定义为

获取模式():

主要的():

说明

如您所见,代码获取了模式(在本例中,它每次都会返回 PATTERN_P...而不是我使用 pgm_read_byte 从闪存中获取数据。这使用 AVR pgmspace(下面的链接)。它需要一个地址并返回数据。上面的代码在我使用模板的直接访问时有效:&PATTERN_P[iRow],但在我使用 bufferPattern[iRow] 或 &bufferPattern[iRow] 时不起作用。知道吗?

参考:pgm_read_byte 在pgmspace中定义

0 投票
20 回答
71498 浏览

unit-testing - 如何对 Arduino 代码进行单元测试?

我希望能够对我的 Arduino 代码进行单元测试。理想情况下,我可以运行任何测试,而无需将代码上传到 Arduino。哪些工具或库可以帮助我解决这个问题?

开发中的Arduino 仿真器可能很有用,但似乎还没有准备好使用。

Atmel 的AVR Studio包含一个可能有用的芯片模拟器,但我不知道如何将它与 Arduino IDE 结合使用。