具有相同控制器的多个功能

时间:2014-03-25 12:29:39

标签: c++ arduino

我正在使用arduinos的项目。这是我的想法: 我有一个可以稍微改变的平方信号。该信号给我58个脉冲,然后是2个空位,表示循环开始。 我的目标是生成另一个根据这个变化的信号。 我的想法是首先得到每个X时间的信号样本,以获得脉冲数。之后,我想读取我的周期开始,以便能够知道每次信号的位置。然后我会根据它生成我的信号。 我的问题是,我认为我需要一个循环来获取我的样本,这个循环持续时间与我想要生成的信号的脉冲一样长,或者甚至更长,以及另一个用于检测我的开始的循环。 有没有办法用相同的芯片做这个?或者我的功能总是会被样品卡住而不是产生我的脉冲? 谢谢!

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,并且有很多方法可以解决这个问题。

我会使用状态机。 在第一个状态中,您正在等待“开始”,因此您在输入引脚上执行pulseln(),如果Pulase持续时间良好,您将增加变量,如果不重置该变量。 然后查看变量值:如果是56,则进入第二个状态。

在第二种状态下,你做你必须做的事情,最终回到状态1(等待一个新的“开始”)或进入另一个状态。

正如您所看到的,如果您具有有限(且相对较小)的状态(如协议),则该方法很有用。如果您只需要在“开始”之后执行某些操作并返回等待“开始”,则可以使用状态1中的代码