我想在配备ATmega168/ATmega328微控制器的Arduino上存储大量数据,但EEPROM存储器仅有256KB/512KB。我的想法是利用压缩算法来减小数据大小。然而,我的压缩算法知识相当有限,我搜索现成库也没有成功。所以,有没有好的方法来优化存储大小呢?
背景: 我正在使用Atmel AVR atmega2560开发一个大型项目。该项目包含许多基于硬件的功能(7个SPI设备,2个I2C,2个RS485 MODBUS端口,大量模拟和数字I/O)。我已经为所有这些设备开发了“驱动程序”,为主应用程序循环提供接口以访问所需的数据。 问题: 我正...
我正在进行学校项目,需要学习使用AVR atmega控制器的C语言基础。 我不理解所有的设置。例如PORTB、PORTD、DDRB;DDRD、PINB、PIND等等。我也不知道如何在if语句、while循环等中使用它们。 能有人给我一个简短的解释吗? 这是我的一些代码行...DDRB =...
下午好, 最近我自己设计了一个基于ATMega328P微控制器的PCB。我对电路本身感到满意,因为我成功地通过Sparkfun AVR Pocket Programmer上传了Arduino Blink示例。 上传此示例后,我注意到ATMega正在使用其内部振荡器。我不想更改保险丝位,因此...
我正在尝试在ATmega8上的B端口的任何引脚上使用PWM来控制LED。设置定时器一直很麻烦,而且我不知道该如何处理OCR1A。以下是我的代码,希望能得到一些反馈。 我只是试图弄清楚如何使用PWM。我知道这个概念,而OCR1A应该是我想要脉冲信号占整个计数时间的一小部分。 #define ...
我认为许多Arduino/AVR MCU的程序员都可以分享一些知识。 我遇到的具体问题是这样的: 在我的情况下,使用Atmel Atmega128 AVR。 基于ADC数据,我正在运行一个循环,该循环将一些计算结果输出到串行控制台,并驱动一个中断。 当我使用一定量的串行输出时,程序突然变得...
我在我的代码中遇到了一个奇怪的错误,在我尝试调试它时却消失了。 在我的定时器中断(一直运行系统滴答声)中,我有类似以下代码: if (a && lot && of && conditions) { some_global_fla...
请问有什么最快的方法可以在最少步骤内评估三个条件吗?我有三个条件,如果其中任意两个为真,则整个表达式为true,否则为false。 我尝试了两种方法: if ((condition1 && condition2) || (condition1 &&...