问题标签 [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.
c++ - ATtiny84A 和 RFM12B 模块不适用于 RF12
我正在做一个项目,我需要在带有 RFM12B 收发器的设备之间发送一些数据。我将 RF12 库与 pingPong 示例一起使用——没有任何修改。
我的微控制器是ATTiny84A,接线可以在这里看到
我的问题是它根本不起作用。初始化似乎工作。前几秒 rf12_canSend() 也返回 true,但之后返回 false。我的猜测是它开始发送一些数据,但由于某种原因它不能。我不知道问题是什么,但我唯一的猜测是它没有使用正确的引脚,但我遵循了这个例子。
忽略 LED,它用于测试。
arduino - ATtiny84a 和 RFM12b 问题
我正在尝试使用适用于 arduino 的 Jeelib 库来设置 attiny84a 和 RFM12b。它与 arduino 完美配合,但不适用于 ATTiny。我们是 3 个人试图在没有运气的情况下解决问题树天。
我们可以轻松地将软件上传到tiny。没问题。一切似乎都很好,只是我们无法发送和接收数据。我们目前正在使用终端 6 (PA7) 上的闪烁二极管进行调试,并且我们正在使用 init 方法完成,但好像我们没有比这更进一步。
这是ATTiny的图纸。不要介意小号的错误名称。1 号航站楼从右上角开始。
我们试图改变味噌莫西线(绿色)的服务时间。尝试使用和不使用 Slave Select(黄色)和许多其他东西。
我的问题是:我们错过了什么吗?图片上的接线正常吗?
arduino - I2C 在 Arduino 发出 7 个请求后停止传输
我正在使用运行 TinyWire 库的 ATtiny85 从 I2C 连接与运行 Wire 库的 Arduino Uno 通信。对于我想要的任意数量的请求,我可以一次传输一个字节,但是当我尝试一次发送两个字节时会出现问题。下面是我正在使用的代码(注意 - 我使用的是 TinyWire 库的流行修改版本,它实现了 OnRequest 方法)。这是我的奴隶代码:
对于主人:
不管延迟时间长短,我总是只能得到 7 个请求。我尝试了许多值,从没有延迟到通话之间的 5 秒延迟。如果我关闭 ATTiny 电源,然后在 Uno 仍然连接到串行端口时再次供电,我可以在再次停止之前再收到 7 个请求。串行监视器总是显示 Uno 的主循环在调用 requestFrom() 后以某种方式直接暂停,这让我看起来像是在等待什么,但我不知道是什么。当我拔下 ATTiny 时,Uno 会打印到串行端口 -28412。在从缓冲区读取之前,我也尝试过放置以下内容:
谢谢你的帮助。
compilation - shiftPWM 和 ATtiny85 错误
我在这一点上迷路了,不胜感激!我从旧的 GitHub 下载了这个库,但我什至无法编译它。
attiny - ATtiny85 上的模拟输入不起作用?
编辑:已解决
正如标题一样,我无法让 ATTiny85 上的任何模拟输入从 POT 中读取。为了调试和测试,它目前连接到一个带有 8 个 LED 的移位寄存器。仅输出 int 值时,此设置工作正常。在这一点上,我有点失落。
我对ATTiny的经验很少,所以我打赌它很傻。POT 与 +5VDC 的一侧和模拟读取引脚上的中心抽头相连。
arduino - NRF24L01 与 ATtiny 和 Uno 未连接
我有一个 ATtiny85 使用此接线图连接到 NRF24L01+ 模块:图。ATtiny85 定期进出睡眠,以向接收器 Arduino Uno 发送一些值。如果 ATTiny 使用 Arduino 电源 (3.3v),一切正常。当我从提供大约 3v 的单独 CR2032 纽扣电池上运行 ATTiny 时,Arduino 永远不会收到任何数据。我有一个连接到 ATTiny 的状态 LED,以确保 ATTiny 正确唤醒,就是这样。这是两者的代码:
编辑:将它连接到不是来自 Uno 的外部 3.3v 使一切正常 - 为什么纽扣电池的电压不能工作?我认为所有东西的额定电压都低于 2.8v,即 CR2032 的最小值。
附件代码
收货人代码
这里的问题是ATTiny和Uno需要同时打开才能建立连接,还是与电池有关,或者完全是其他什么?任何帮助,将不胜感激。
serial-port - 两个attiny 85 IC之间的主从通信
两个 ATtiny85 之间可以通信吗?我可以使用我的 Arduino 与 ATtiny85 进行通信,将 Arduino Uno 用作主机,将 ATtiny85 用作从机。但我想用一台 ATtiny85 作为主机,一台作为从机。这可能吗 ?
我无法理解 TinyWireM 库中给出的示例。我想要一个简单的主从代码进行通信。例如,master 应该要求 1 个整数值,slave 应该回复。
我的奴隶代码:
我的主代码
我尝试了上面的代码,但仍然看不到 LED 闪烁。但是,如果我保持从属代码不变并在 Arduino 上使用以下主代码,那么一切正常。
Arduino Uno 代码作为主控。
连接是,连接是 SDA 到 SCL 引脚
主 attiny85 的引脚 5 - 从属 attiny85 的引脚 7 从属 attiny85 的引脚 7 - 主 attiny85 的引脚 5
我也尝试过不交叉连接它们。示例和连接是 SDA 到 SDA 引脚
主阁楼 85 的插针 5 - 从阁楼 85 的插针 5 从阁楼 85 的插针 7 - 主阁楼 85 的插脚 7
但仍然没有成功。
microcontroller - Attiny13 时钟频率和 ADC
我正在使用由 arduino UNO 通过 SPI 编程的 Attiny13 AVR。
我找到了 attiny13 的核心,boards.txt 文件的内容如下;
当我对 attiny13 进行编程时,我选择“Attiny 13A Standalone 9.6Mhz”作为目标板。
所以,我希望它以 9.6Mhz 运行。
我将 TCCR0B 寄存器设置如下以获得“无预分频”
还可以通过更改 TCCR0A 寄存器将 PWM 模式设置为“快速 PWM”。
通过这些设置,我应该得到 9.6Mhz/256 = 37.5 Khz PWM 频率。但是,当我将 PWM 的输出连接到用于驱动和 LED 灯条的 MOSFET 时,我会听到 MOSFET 发出的嗡嗡声。
这促使我认为我的时钟没有以 9.6Mhz 运行,因为 37.5Khz 不是可听频率。
因此,我又快速搜索了时钟频率的主题,并找到了以下网页;
https://www.avrprogrammers.com/howto/sysclk-prescaler
如果我没记错的话,这个页面说我的时钟频率默认是 8 分频。
为了能够得到除数,我需要重置所有位。
我这样做并重置了所有 CLKPS 位。
所以,理论上,我应该得到 9.6Mhz 时钟频率,除数为 1。
当我使用所有上述设置时,我不再听到嗡嗡声。
然而,这一次又出现了一个问题。
我使用电位器来控制亮度。将时钟除数设置为“1”时,电位器的行为发生了变化。当我转动电位器时,模拟输入没有立即读取值,所以我需要再转动一点以获得最小亮度,并在我到达电位器的另一端之前达到最大亮度。所以,我认为ADC有问题。
在模数转换器标题下,我找到了以下信息;
默认情况下,逐次逼近电路需要 50 kHz 到 200 kHz 之间的输入时钟频率才能获得最大分辨率。如果需要低于 10 位的分辨率,则 ADC 的输入时钟频率可以高于 200 kHz 以获得更高的采样率。
所以,我的时钟频率是 9.6Mhz,我需要为 ADCSRA 寄存器设置一个介于 9.6Mhz/20Khz= 48 和 9.6Mhz/50Khz = 192 之间的预分频器。我选择了 128 的分频因子,这需要设置所有三位 ADPS2、ADPS1 和 ADPS0。
这应该设置所有三位并将 ADC 的频率保持在 50Khz - 200Khz 之间。
但是,我仍然从电位器中得到相同的行为。
我哪里错了?
arduino - ATtiny85 eeprom 在 arduino IDE 中写入
我有一个问题:我可以从我的阁楼读取 EEPROM,但我不能在里面写东西。
这是我的代码:
编辑
现在我的写代码是:
我的阅读代码:
我总是只得到 255 的价值。在每个地址上。现在我将我的 int 转换为字节。在我的情况下,我的 int 不会超过 255。
顺便说一句:我可以创建一个 int 作为字节吗?所以我可以像普通的int一样使用它,但是可以直接写吗?
arduino - Attiny85 EEPROM 擦除,断电后
如果我打开电源,我的 Attiny85 会丢失整个 EEPROM 数据。我使用 Arduino IDE,我确定 EEPROM 是写的,因为我得到了串行反馈。这是我的代码:
谢谢 :)