Embedded 任务规划器如何更新参数列表值?

Embedded 任务规划器如何更新参数列表值?,embedded,serial-communication,arduino-c++,mission-planner,Embedded,Serial Communication,Arduino C++,Mission Planner,在中,当您更改参数列表中的任何参数时,如RC limits或PID;按下“写入参数”后,软件更新参数 我试着找出同样的情况是如何发生的,但没有结果(我不知道确切的名称)。Mission Planner如何将参数写入计算机上已有的固件。或者用更新后的参数再次重写固件 我想实施类似的程序。为了测试,我有一个运行代码的arduino板。不必一次又一次地上传整个代码,必须有一种方法可以使用PC上自定义软件发送的协议(串行)更新变量的值。就像在需要时更新参数一样。怎么做 谢谢。ArduPilotMega上

在中,当您更改参数列表中的任何参数时,如RC limits或PID;按下“写入参数”后,软件更新参数

我试着找出同样的情况是如何发生的,但没有结果(我不知道确切的名称)。Mission Planner如何将参数写入计算机上已有的固件。或者用更新后的参数再次重写固件

我想实施类似的程序。为了测试,我有一个运行代码的arduino板。不必一次又一次地上传整个代码,必须有一种方法可以使用PC上自定义软件发送的协议(串行)更新变量的值。就像在需要时更新参数一样。怎么做


谢谢。

ArduPilotMega上使用的ATMEGA1280芯片上有4K EEPROM。Arduinos中使用的其他MCU具有不同容量的EEPROM。Arduino库包括对它的支持:


EEPROM(电可擦除可编程只读存储器)是一种类似于闪存的非易失性存储器技术,但其特性使其更适合于存储少量配置数据,例如字节级可重写。它比闪存密度小得多(占用更多空间),因此不太适合代码存储。

谢谢您的输入!这就像是软件更新了EEPROM?使用串行协议?因此,您需要一个微控制器来将串行数据写入EEPROM?EEPROM在微控制器中(在本例中)。您可以使用类似的方法观察串行交换,但很明显,会有一些协议,其中串行数据由micro接收并用于写入EEPROM-但这不是您所要求的,否则我会将其包含在答案中。ArduPilot的软件和硬件都是开源的,所以你可以看看。