
#!/usr/bin/perl
use strict;
use warnings;

# тактовая частота
my $Fcpu = 20e6;

# сопротивление и ёмкость
my $RC = 22e3 * 10e-9;

# опорное напряжение
my $Vref = 1.23;

# минимальное время в тактах
my $CntMin = 1024;

# максимальное время в тактах
my $CntMax = 3072;

# размер таблицы
my $TableSize = 64;

print "{";
for my $i (0 .. $TableSize)
{
    my $cnt = $CntMin + ($CntMax - $CntMin) * $i / $TableSize;
    my $t = $cnt / $Fcpu;
    my $v = $Vref / (1 - exp(-$t / $RC));
    
    print "\n\t" if($i % 8 == 0);
    #print "/*$cnt*/ ";
    printf "%3d, ", int($v * 100);
}
print "\n};";