17得票9回答
Arduino:轻量级压缩算法用于将数据存储在EEPROM中

我想在配备ATmega168/ATmega328微控制器的Arduino上存储大量数据,但EEPROM存储器仅有256KB/512KB。我的想法是利用压缩算法来减小数据大小。然而,我的压缩算法知识相当有限,我搜索现成库也没有成功。所以,有没有好的方法来优化存储大小呢?

16得票5回答
嵌入式应用程序测试代码

背景: 我正在使用Atmel AVR atmega2560开发一个大型项目。该项目包含许多基于硬件的功能(7个SPI设备,2个I2C,2个RS485 MODBUS端口,大量模拟和数字I/O)。我已经为所有这些设备开发了“驱动程序”,为主应用程序循环提供接口以访问所需的数据。 问题: 我正...

14得票3回答
Arduino Uno PWM引脚冲突

我基于L298N芯片搭建了这个电机驱动板以控制坦克上的两个电机。其中一个电机使用引脚5和6,另一个电机使用引脚10和11。 在尝试添加TSOP 4838以便使用红外遥控器控制坦克时,我注意到将引脚10/11上的电机反转只能以全速运行的方式实现 - 即在引脚11上设置高电平(255)才能正常工...

14得票4回答
C语言 - AVR单片机 - 简单的PORTB、DDRB、PINB解释

我正在进行学校项目,需要学习使用AVR atmega控制器的C语言基础。 我不理解所有的设置。例如PORTB、PORTD、DDRB;DDRD、PINB、PIND等等。我也不知道如何在if语句、while循环等中使用它们。 能有人给我一个简短的解释吗? 这是我的一些代码行...DDRB =...

11得票7回答
ATMega328P "AVRDude: Could not find USBTiny Device (0x1781/0xc9f)" ATMega328P“ AVRDude:无法找到USBTiny设备(0x1781 / 0xc9f)”

下午好, 最近我自己设计了一个基于ATMega328P微控制器的PCB。我对电路本身感到满意,因为我成功地通过Sparkfun AVR Pocket Programmer上传了Arduino Blink示例。 上传此示例后,我注意到ATMega正在使用其内部振荡器。我不想更改保险丝位,因此...

9得票2回答
AVR Studio中的脉宽调制(PWM)

我正在尝试在ATmega8上的B端口的任何引脚上使用PWM来控制LED。设置定时器一直很麻烦,而且我不知道该如何处理OCR1A。以下是我的代码,希望能得到一些反馈。 我只是试图弄清楚如何使用PWM。我知道这个概念,而OCR1A应该是我想要脉冲信号占整个计数时间的一小部分。 #define ...

9得票3回答
Arduino/AVR ATmega微控制器,随机重置、跳转或变量/数据损坏。

我认为许多Arduino/AVR MCU的程序员都可以分享一些知识。 我遇到的具体问题是这样的: 在我的情况下,使用Atmel Atmega128 AVR。 基于ADC数据,我正在运行一个循环,该循环将一些计算结果输出到串行控制台,并驱动一个中断。 当我使用一定量的串行输出时,程序突然变得...

9得票1回答
Arduino Nano定时器

我想了解更多关于Arduino Nano定时器的信息。 有哪些定时器? 它们是否产生中断? 如何将中断处理程序附加到它们上? delay()和delayMicroseconds()是如何实现的... 它们是否使用定时器中断?(如果是这样,我如何在此期间执行其他代码?) 还是它们重复轮询...

8得票5回答
当设置断点时,Schrödinger错误会消失

我在我的代码中遇到了一个奇怪的错误,在我尝试调试它时却消失了。 在我的定时器中断(一直运行系统滴答声)中,我有类似以下代码: if (a && lot && of && conditions) { some_global_fla...

7得票8回答
什么是三个条件排列的最快算法?

请问有什么最快的方法可以在最少步骤内评估三个条件吗?我有三个条件,如果其中任意两个为真,则整个表达式为true,否则为false。 我尝试了两种方法: if ((condition1 && condition2) || (condition1 &&...