问题标签 [attiny]
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.
assembly - 我如何更优雅地进行此 AVR 组装
我目前有这个代码:
如您所见,重复了许多非常相似的代码。
如果没有办法以更短的方式编写它,例如 with.irp
或 may .if
s,那将是荒谬的。但是,我无法让它发挥作用。因为.irp
我试过这个:
虽然 Atmel Studio 确实突出显示.irp
(它没有突出显示以 a 开头的所有内容.
)但它不起作用:Invalid directive: '.irp'
另请参阅我的另一个相关问题:MOV into a register specified by macro argument。
c - attiny uart 传输失败
我正在尝试在 attiny2313 的 uart 上传输一个字节,但传输挂在等待 UDR 可用的循环中。
我正在使用内部 8MHz 时钟。串口配置为 9600baud 8bit 1stopbit
我的初始化代码如下:
在初始化之后,我使用 sei() 启用全局中断。
转移:
它挂在while循环上,当我从设备上断电时,它最终在最后一刻打破while循环并发送B.
我尝试在初始化后添加 200 毫秒的延迟,但没有奏效。
我对 atmega88 使用类似的代码,这工作正常。有人知道为什么它会停留在while循环中吗?
performance - 如何在低资源设备上测试算法性能?
我有兴趣使用 atmel avr 控制器从 LIN 总线读取数据。不幸的是,这种总线上的消息没有开始或结束指示符,唯一合理的解决方案似乎是蛮力解析。来自总线的可用数据被加载到循环缓冲区中,并且蛮力方法在缓冲区中找到有效消息。
使用 64 字节缓冲区和 20MHZ 服装,我如何测试我的代码的性能以查看是否可能发生缓冲区溢出?补充:我担心算法会运行缓慢,从而缓冲更多数据。
关于蛮力算法的一点。缓冲区中的第二个元素被假定为消息大小。例如,如果假定长度为 22,则对前 21 个字节进行异或并针对缓冲区中的第 22 个字节进行测试。如果校验和通过,代码会检查第一个(SRC)和第三个(DST)字节是否是它们应该是的。
arduino - Atmel ATTINY84 可以在不添加任何程序或模块的情况下读取 I2C 吗?
我最近将陀螺仪(L3G4200D)连接到ATTINY84,但是,陀螺仪使用I2C,而ATTINY84使用USI,因此我在编程时遇到了一些问题。我正在使用 Arduino Uno 作为 ISP,我已将陀螺仪的两根线连接到 Attiny84 上的 SDA 和 SCL 引脚,但它仍然无法正常工作。有没有人有任何解决方案?
serial-communication - 带有多个输入的 ATtiny85 串行通信
在一个项目中,我们尝试在三个 ATtiny 之间建立一个通信网络,其中第一个必须接收来自其他两个的消息。其他两个微型连接到第一个微型的两个不同引脚。然后,第一个 tiny 必须从其他 tiny 接收两个字符串,每个字符串一个,并将其发送到 Arduino。对于我们使用的通信SoftwareSerial
。我们设法接收和发送来自一个微小的输入,但不是来自它们两个,因为我们无法找到一种方法来一次只从一个特定的引脚读取输入。这是我们使用的代码:
上面的代码在没有mySerial2.listen();
. 也许listen
-functionSoftwareSerial
对 tinys 不起作用,但如果是这种情况,是否有另一种方法来监听特定的输入引脚?或者你有什么建议吗?
atmel - 推荐 Attiny85 编译器/IDE
我需要为 Attiny85 编译 C 项目,但不确定要使用哪个编译器 - 如果可能的话免费。Atmel Studio 是一个不错的选择吗?
c++ - ATtiny85 数字“开”输出无法提供 5 V
我正在使用 ATtiny85 作为微控制器。我正在尝试读取两个大约 3 V 的输入,并为每个“开”输入(超过 1 V)输出 5 V。我使用 PINB0 和 PINB1 进行输入,使用 PINB3 和 PINB4 进行输出。问题是当 PINB0 和 PINB1 都打开时,我得到两个 5 V 输出,但是当只有一个打开时,我只得到 2 V,我正在尝试解决这个问题,所以我得到 5V 输出。
这是我的代码:
arduino - 在工具菜单 Arduino IDE 中找不到 Attiny 1634
我使用 arduino uno r3 开发了一个设计,我想使用 attiny 1634 而不是 atmega 328p。学习了如何使用 arduino isp 对 attiny 85 进行编程。需要帮助对 attiny 1634 进行编程,在 arduino IDE 的工具菜单中找不到 attiny 1634 板。在网上做了一些研究,发现我需要为 attiny 1634 写一个头文件。请帮助这个头文件。
avr - 即使我可以重置保险丝,也无法使用 avrdude 使 LED 闪烁
所以我从 ebay 上买了一个便宜的 USBasp 编程器,并尝试对 attiny2313 进行编程。Avrdude 说闪光灯已上传并验证,但 LED 没有闪烁。我用电压表检查了引脚的输出,什么也没有。我为 attiny2313 尝试了一些其他版本的闪烁程序,并得到了相同的结果。然后我犯了一个错误,试图重置保险丝并立即将芯片变砖。
我再次尝试了这个过程,更加小心保险丝并得到了相同的结果。多次检查我的接线,LED 本身等。没有闪烁。然后我尝试对 atmega8 进行编程,但我无法得到任何响应。程序员无法识别芯片。
我尝试重置两个芯片上的时钟。我不断收到“无法设置 sck”时钟速度错误,但同时 avrdude 说它成功重置了时钟速度。我尝试在第二个 attiny2313 上重置与时钟相关的保险丝,然后将另一个芯片变砖。
我的程序员有什么可能的方法可以重置保险丝,但不能对芯片进行编程?因为我知道保险丝已重置,所以在命令通过后我无法再识别或编程芯片。但是我的程序只是没有产生任何输出。
在这一点上,我完全迷失了。
尝试了其他几个程序并得到了一个上传并由 avrdude 确认,但 LED 仍然不闪烁。我试过交换它们和电阻,并多次检查我的接线。
avr - ATtiny84 pwm led 闪烁
我对 avr 编程相当陌生,我试图简单地淡化 3 个独立连接到 ATtiny84 pwm 引脚的 LED。现在我有代码应该改变两个不同 LED 的亮度。这是我的代码:
代码大部分是从互联网上复制的,我不太了解初始化,但现在连接到 PB2 的 LED 工作正常,但连接到 PA6 的 LED 不能正常工作。PA6 LED 确实会相应地改变其亮度,但它也会快速闪烁(大约每秒 10 次)。
首先,我认为这与 PA6 也是用于编程的 MOSI 引脚有关,但断开编程器并没有帮助。
任何帮助表示赞赏!此外,任何一般的 avr 编程技巧都非常受欢迎!