Пт янв 26, 2024 22:22:42
Сб янв 27, 2024 10:51:31
Сб янв 27, 2024 10:58:28
Пн янв 29, 2024 13:26:48
Пн янв 29, 2024 13:46:41
Пн янв 29, 2024 16:06:31
Пн янв 29, 2024 17:39:52
Вт янв 30, 2024 10:50:31
Вт янв 30, 2024 10:57:20
Вт янв 30, 2024 13:03:26
Вт янв 30, 2024 14:18:03
i - это переменная цикла, целое число. а радианах должен быть аргумент синуса.Alex_ka писал(а):Если значение i переводить в радианы
Вт янв 30, 2024 14:18:34
Alex_ka писал(а):i=130, чтобы в таблице получить 129 значений.
uint8_t sin_table [129] = {
40, 42, 44, 46, 48, 50, 52, 53,
55, 57, 59, 60, 62, 64, 65, 67,
68, 69, 71, 72, 73, 74, 75, 76,
77, 78, 78, 79, 79, 79, 80, 80,
80, 80, 80, 80, 79, 79, 78, 78,
77, 76, 76, 75, 74, 73, 71, 70,
69, 67, 66, 64, 63, 61, 60, 58,
56, 54, 52, 51, 49, 47, 45, 43,
41, 39, 37, 35, 33, 31, 29, 28,
26, 24, 22, 20, 19, 17, 16, 14,
13, 11, 10, 9, 7, 6, 5, 4,
4, 3, 2, 2, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 2,
2, 3, 4, 5, 6, 7, 8, 9,
11, 12, 13, 15, 16, 18, 20, 21,
23, 25, 27, 28, 30, 32, 34, 36,
38
};
Вт янв 30, 2024 15:04:03
Вт янв 30, 2024 15:21:13
Вт янв 30, 2024 17:07:51
uint8_t sin_table [129] = {
128, 134, 140, 145, 151, 157, 163, 168,
174, 179, 184, 189, 194, 199, 204, 208,
212, 216, 220, 224, 227, 230, 233, 236,
238, 241, 242, 244, 245, 246, 247, 248,
248, 248, 248, 247, 246, 245, 243, 242,
240, 237, 235, 232, 229, 226, 222, 218,
214, 210, 206, 201, 197, 192, 187, 182,
176, 171, 165, 160, 154, 148, 143, 137,
131, 125, 119, 113, 108, 102, 96, 91,
85, 80, 74, 69, 64, 59, 55, 50,
46, 42, 38, 34, 30, 27, 24, 21,
19, 16, 14, 13, 11, 10, 9, 8,
8, 8, 8, 9, 10, 11, 12, 14,
15, 18, 20, 23, 26, 29, 32, 36,
40, 44, 48, 52, 57, 62, 67, 72,
77, 82, 88, 93, 99, 105, 111, 116,
122
};
Вт янв 30, 2024 21:27:26
Ср янв 31, 2024 06:29:51
Думаю, при тактовой 8МГц частота при такой таблице будет 8'000'000/256/129~242Гц вместо 775 требуемых. Придется уменьшать число точек/период или задирать тактирование до 25,6МГц. Не каждая mega8 справится.viiv писал(а):Таблица синуса для амплитуды 120 (смещение 128)
Можно таблицу синуса нормировать типаlinkov1959 писал(а):Чтобы управлять амплитудой, таблицу нужно пересчитывать.
Ср янв 31, 2024 09:25:48
то есть, мои слова, что аргумент должен быть в радианах, для тебя пустой звук?akl писал(а):SIN(I*360/129)
Starichok51 писал(а):градусы в формуле вообще не нужны.
360 градусов - это 2*PI.
и формула должна выглядеть так:
sin(2 * PI * i / steps)
где steps - число шагов, у тебя их 129.
Ср янв 31, 2024 10:05:08
да.Starichok51 писал(а):мои слова, что аргумент должен быть в радианах, для тебя пустой звук
Ср янв 31, 2024 11:37:35