Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Невозможно, этот дисплей слишком медленный для AVR. Уже не раз говорилось.
Реклама
Аватара пользователя
Altair
Сверлит текстолит когтями
Сообщения: 1276
Зарегистрирован: Вс мар 01, 2009 17:49:41
Откуда: Россия

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Altair »

Так может сделать на STM32?
Ваше везение — в ваших руках: водите чёрную кошку на поводке.
Молчание не всегда означает согласие.
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Тогда это будет уже совсем другой проект и другой код: иначе доступ к портам, по-другому организована периферия, система таймеров, прерываний и т.д.
Аватара пользователя
Altair
Сверлит текстолит когтями
Сообщения: 1276
Зарегистрирован: Вс мар 01, 2009 17:49:41
Откуда: Россия

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Altair »

Конечно, это совсем другой проект. :)
Ваше везение — в ваших руках: водите чёрную кошку на поводке.
Молчание не всегда означает согласие.
Реклама
Эиком - электронные компоненты и радиодетали
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение kloker »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3147622#p3147622"]Невозможно, этот дисплей слишком медленный для AVR. Уже не раз говорилось.[/uquote]
наверно правильнее сказать AVR слишком медленная для дисплея на ili 9341 :)

DMA в ATMega сильно не хватает
Реклама
Аватара пользователя
Ant-RG
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Ant-RG »

Захотел сменить назначение выводов в проэкте на M8, скачал WinAVR 20100110 и avr-gcc-4.8_2013-03-06, сменил переменную, при попытке использовать команду "make" ошибка о том, что команда не является внутренней или внешней командой, переустановил winavr с совместимостью с winxp (установлена Win7x32), снова сменил переменную. Теперь при "make" выдаёт такое:
Спойлер

Код: Выделить всё

C:\1\ampcontrol-m8-20170109>make
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/adc.o -MF
build/./adc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7439
-c -o build/adc.o adc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/display.o
-MF build/./display.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
TDA7439 -c -o build/display.o display.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/fft.o -MF
build/./fft.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7439
-c -o build/fft.o fft.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/i2c.o -MF
build/./i2c.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7439
-c -o build/i2c.o i2c.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/input.o -M
F build/./input.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7
439 -c -o build/input.o input.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/main.o -MF
 build/./main.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA743
9 -c -o build/main.o main.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/remote.o -
MF build/./remote.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TD
A7439 -c -o build/remote.o remote.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/rtc.o -MF
build/./rtc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7439
-c -o build/rtc.o rtc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/spisw.o -M
F build/./spisw.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_TDA7
439 -c -o build/spisw.o spisw.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/ks0066.o -
MF build/display/ks0066.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_TDA7439 -c -o build/display/ks0066.o display/ks0066.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/audio.o -M
F build/audio/audio.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
TDA7439 -c -o build/audio/audio.o audio/audio.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/tda7439.o
-MF build/audio/tda7439.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_TDA7439 -c -o build/audio/tda7439.o audio/tda7439.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/tuner.o -M
F build/tuner/tuner.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
TDA7439 -c -o build/tuner/tuner.o tuner/tuner.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/rda580x.o
-MF build/tuner/rda580x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_TDA7439 -c -o build/tuner/rda580x.o tuner/rda580x.c
avr-gcc -g -Wall -Werror -mmcu=atmega8 -Wl,-gc-sections -o build/ampcontrol_m8_4
bit_tda7439_rda580x.elf build/adc.o build/display.o build/fft.o build/i2c.o buil
d/input.o build/main.o build/remote.o build/rtc.o build/spisw.o build/display/ks
0066.o build/audio/audio.o build/audio/tda7439.o build/tuner/tuner.o build/tuner
/rda580x.o -lm
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: build/am
pcontrol_m8_4bit_tda7439_rda580x.elf section .text will not fit in region text
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: region t
ext overflowed by 468 bytes
make: *** [build/ampcontrol_m8_4bit_tda7439_rda580x.elf] Error 1
В папке flash hex файл не появляется. Подскажите что делать?
I'am a Rock N' Roll-Aholic
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Всё же написано в выводе:
Ant-RG писал(а):ld.exe: region t
ext overflowed by 468 bytes
Варианты:
- попробовать взять avr-gcc посвежеее (например, 4.9)
- попробовать взять исходники поновее (там включены доп. оптимизации)
У меня оригинальные последние исходники собираются avr-gcc-5.4 без проблем, в варианте на TDA7439 ещё и 200 байтов свободных остаётся.

Кстати, есть подозрение, что у Вас сборка идёт avr-gcc-4.7 из комплекта WinAVR, который в плане оптимизации похуже будет. Версию можно проверить командой avr-gcc -v
Аватара пользователя
Ant-RG
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Ant-RG »

Спасибо, новый avrgcc и правда не подтягивался, теперь вроде подтянулось но всё равно ошибка, пробовал avrgcc 5.3.1 и 6.3.1, исходники последние для m8
Спойлер

Код: Выделить всё

C:\Users\Ant-RG>avr-gcc -v
Using built-in specs.
Reading specs from c:/program files/avrgcc/bin/../lib/gcc/avr/6.3.1/device-specs
/specs-avr2
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=c:/program\ files/avrgcc/bin/../libexec/gcc/avr/6.3.1/lto-wr
apper.exe
Target: avr
Configured with: ../../gcc.gnu.org/gcc-6-branch/configure --target=avr --prefix=
/local/gnu/install/gcc-6-avr-mingw32 --host=i386-mingw32 --build=x86_64-linux-gn
u --enable-languages=c,c++ --disable-nls --disable-shared --enable-lto --with-dw
arf2 --with-gnu-ld --with-gnu-as
Thread model: single
gcc version 6.3.1 20161222 [gcc-6-branch revision 243886] (GCC)

C:\Users\Ant-RG>cd C:\ampcontrol-m8-20170109

C:\ampcontrol-m8-20170109>make
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/adc.o -MF
build/./adc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/adc.o adc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/display.o
-MF build/./display.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
PT232X -c -o build/display.o display.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/fft.o -MF
build/./fft.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/fft.o fft.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/i2c.o -MF
build/./i2c.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/i2c.o i2c.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/input.o -M
F build/./input.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT23
2X -c -o build/input.o input.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/main.o -MF
 build/./main.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X
 -c -o build/main.o main.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/remote.o -
MF build/./remote.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT
232X -c -o build/remote.o remote.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/rtc.o -MF
build/./rtc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/rtc.o rtc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/spisw.o -M
F build/./spisw.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT23
2X -c -o build/spisw.o spisw.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/ks0066.o -
MF build/display/ks0066.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_PT232X -c -o build/display/ks0066.o display/ks0066.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/audio.o -M
F build/audio/audio.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
PT232X -c -o build/audio/audio.o audio/audio.c
audio/audio.c:47:22: error: 'grid_0_15_1' defined but not used [-Werror=unused-c
onst-variable=]
 static const sndGrid grid_0_15_1            PROGMEM = {  0, 15, 1.00 * 8}; /* 0
..15dB with 1dB step */
                      ^~~~~~~~~~~
audio/audio.c:46:22: error: 'grid_n12_12_3' defined but not used [-Werror=unused
-const-variable=]
 static const sndGrid grid_n12_12_3          PROGMEM = { -4,  4, 3.00 * 8}; /* -
12..12dB with 3dB step */
                      ^~~~~~~~~~~~~
audio/audio.c:45:22: error: 'grid_n12_15_3' defined but not used [-Werror=unused
-const-variable=]
 static const sndGrid grid_n12_15_3          PROGMEM = { -4,  5, 3.00 * 8}; /* -
12..15dB with 3dB step */
                      ^~~~~~~~~~~~~
audio/audio.c:44:22: error: 'grid_n66_20_2' defined but not used [-Werror=unused
-const-variable=]
 static const sndGrid grid_n66_20_2          PROGMEM = {-33, 10, 2.00 * 8}; /* -
66..20dB with 2dB step */
                      ^~~~~~~~~~~~~
audio/audio.c:41:22: error: 'grid_n96_31_1' defined but not used [-Werror=unused
-const-variable=]
 static const sndGrid grid_n96_31_1          PROGMEM = {-96, 31, 1.00 * 8}; /* -
96..31dB with 1dB step */
                      ^~~~~~~~~~~~~
audio/audio.c:39:22: error: 'grid_0_18d75_6d25' defined but not used [-Werror=un
used-const-variable=]
 static const sndGrid grid_0_18d75_6d25      PROGMEM = {  0,  3, 6.25 * 8}; /* 0
..18.75dB with 6.25dB step */
                      ^~~~~~~~~~~~~~~~~
audio/audio.c:38:22: error: 'grid_0_11d25_3d75' defined but not used [-Werror=un
used-const-variable=]
 static const sndGrid grid_0_11d25_3d75      PROGMEM = {  0,  3, 3.75 * 8}; /* 0
..11.25dB with 3.75dB step */
                      ^~~~~~~~~~~~~~~~~
audio/audio.c:37:22: error: 'grid_n18d75_18d75_1d25' defined but not used [-Werr
or=unused-const-variable=]
 static const sndGrid grid_n18d75_18d75_1d25 PROGMEM = {-15, 15, 1.25 * 8}; /* -
18.75..18.75dB with 1.25dB step */
                      ^~~~~~~~~~~~~~~~~~~~~~
audio/audio.c:36:22: error: 'grid_n78d75_0_1d25' defined but not used [-Werror=u
nused-const-variable=]
 static const sndGrid grid_n78d75_0_1d25     PROGMEM = {-63,  0, 1.25 * 8}; /* -
78.75..0dB with 1.25dB step*/
                      ^~~~~~~~~~~~~~~~~~
audio/audio.c:35:22: error: 'grid_0_30_2' defined but not used [-Werror=unused-c
onst-variable=]
 static const sndGrid grid_0_30_2            PROGMEM = {  0, 15, 2.00 * 8}; /* 0
..30dB with 2dB step */
                      ^~~~~~~~~~~
audio/audio.c:34:22: error: 'grid_n15_15_1' defined but not used [-Werror=unused
-const-variable=]
 static const sndGrid grid_n15_15_1          PROGMEM = {-15, 15, 1.00 * 8}; /* -
15..15dB with 1dB step */
                      ^~~~~~~~~~~~~
audio/audio.c:33:22: error: 'grid_n47_0_1' defined but not used [-Werror=unused-
const-variable=]
 static const sndGrid grid_n47_0_1           PROGMEM = {-47,  0, 1.00 * 8}; /* -
47..0dB with 1dB step */
                      ^~~~~~~~~~~~
cc1.exe: all warnings being treated as errors
make: *** [build/audio/audio.o] Error 1

C:\ampcontrol-m8-20170109>make clean
rm -rf build

C:\ampcontrol-m8-20170109>avr-gcc -v
Using built-in specs.
Reading specs from c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/device-specs
/specs-avr2
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=c:/program\ files/avrgcc/bin/../libexec/gcc/avr/5.2.1/lto-wr
apper.exe
Target: avr
Configured with: ../../gcc.gnu.org/gcc-5-branch/configure --target=avr --disable
-nls --prefix=/local/gnu/install/gcc-5-avr-mingw32 --host=i386-mingw32 --build=i
686-linux-gnu --enable-languages=c,c++,lto --with-gnu-as --with-gnu-ld --disable
-shared --with-dwarf2
Thread model: single
gcc version 5.2.1 20150816 (GCC)

C:\ampcontrol-m8-20170109>make
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/adc.o -MF
build/./adc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/adc.o adc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/display.o
-MF build/./display.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
PT232X -c -o build/display.o display.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/fft.o -MF
build/./fft.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/fft.o fft.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/i2c.o -MF
build/./i2c.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/i2c.o i2c.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/input.o -M
F build/./input.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT23
2X -c -o build/input.o input.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/main.o -MF
 build/./main.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X
 -c -o build/main.o main.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/remote.o -
MF build/./remote.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT
232X -c -o build/remote.o remote.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/rtc.o -MF
build/./rtc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT232X -
c -o build/rtc.o rtc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/spisw.o -M
F build/./spisw.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_PT23
2X -c -o build/spisw.o spisw.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/ks0066.o -
MF build/display/ks0066.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_PT232X -c -o build/display/ks0066.o display/ks0066.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/audio.o -M
F build/audio/audio.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
PT232X -c -o build/audio/audio.o audio/audio.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/pt232x.o -
MF build/audio/pt232x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -
D_PT232X -c -o build/audio/pt232x.o audio/pt232x.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/tuner.o -M
F build/tuner/tuner.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X -D_
PT232X -c -o build/tuner/tuner.o tuner/tuner.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT build/rda580x.o
-MF build/tuner/rda580x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA580X
 -D_PT232X -c -o build/tuner/rda580x.o tuner/rda580x.c
avr-gcc -g -Wall -Werror -mmcu=atmega8 -Wl,-gc-sections -o build/ampcontrol_m8_4
bit_pt232x_rda580x.elf build/adc.o build/display.o build/fft.o build/i2c.o build
/input.o build/main.o build/remote.o build/rtc.o build/spisw.o build/display/ks0
066.o build/audio/audio.o build/audio/pt232x.o build/tuner/tuner.o build/tuner/r
da580x.o -lm
c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/../../../../avr/bin/ld.exe: bui
ld/ampcontrol_m8_4bit_pt232x_rda580x.elf section `.text' will not fit in region
`text'
c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/../../../../avr/bin/ld.exe: reg
ion `text' overflowed by 60 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [build/ampcontrol_m8_4bit_pt232x_rda580x.elf] Error 1

C:\ampcontrol-m8-20170109>^A
I'am a Rock N' Roll-Aholic
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Ух ты, шестой gcc ещё строже.
Ну а в пятом 60 байт лишних. Уже лучше.
Осталось исходники взять посвежее, там пара дополнительных опций для оптимизации включена.
Ну, или для 6-го gcc попробовать отключить -Werror/-Wall у компилятора.
Аватара пользователя
Ant-RG
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Ant-RG »

Спасибо, скомпилировалось с TDA7440 что и требуется! Исходники взял здесь https://github.com/WiseLord/ampcontrol/tree/m8
avrgcc 5.2.1
Спойлер

Код: Выделить всё

C:\ampcontrol-m8>avr-gcc -v
Using built-in specs.
Reading specs from c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/device-specs
/specs-avr2
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=c:/program\ files/avrgcc/bin/../libexec/gcc/avr/5.2.1/lto-wr
apper.exe
Target: avr
Configured with: ../../gcc.gnu.org/gcc-5-branch/configure --target=avr --disable
-nls --prefix=/local/gnu/install/gcc-5-avr-mingw32 --host=i386-mingw32 --build=i
686-linux-gnu --enable-languages=c,c++,lto --with-gnu-as --with-gnu-ld --disable
-shared --with-dwarf2
Thread model: single
gcc version 5.2.1 20150816 (GCC)
С PT23xx ошибка:
Спойлер

Код: Выделить всё

C:\ampcontrol-m8>make
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/adc.o -MF build/./adc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_PT232X -c -o build/adc.o adc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/display.o -MF build/./display.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_PT232X -c -o build/display.o display.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/fft.o -MF build/./fft.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_PT232X -c -o build/fft.o fft.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/i2c.o -MF build/./i2c.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_PT232X -c -o build/i2c.o i2c.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/input.o -MF build/./input.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_
RDA580X -D_PT232X -c -o build/input.o input.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/main.o -MF build/./main.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RD
A580X -D_PT232X -c -o build/main.o main.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/remote.o -MF build/./remote.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -
D_RDA580X -D_PT232X -c -o build/remote.o remote.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/rtc.o -MF build/./rtc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_PT232X -c -o build/rtc.o rtc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/spisw.o -MF build/./spisw.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_
RDA580X -D_PT232X -c -o build/spisw.o spisw.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/ks0066.o -MF build/display/ks0066.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_
PORT -D_RDA580X -D_PT232X -c -o build/display/ks0066.o display/ks0066.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/audio.o -MF build/audio/audio.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_PT232X -c -o build/audio/audio.o audio/audio.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/pt232x.o -MF build/audio/pt232x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PO
RT -D_RDA580X -D_PT232X -c -o build/audio/pt232x.o audio/pt232x.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/tuner.o -MF build/tuner/tuner.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_PT232X -c -o build/tuner/tuner.o tuner/tuner.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/rda580x.o -MF build/tuner/rda580x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_
PORT -D_RDA580X -D_PT232X -c -o build/tuner/rda580x.o tuner/rda580x.c
avr-gcc -g -Wall -Werror -mmcu=atmega8 -Wl,--gc-sections -Wl,--relax -o build/am
pcontrol_m8_4bit_pt232x_rda580x.elf build/adc.o build/display.o build/fft.o buil
d/i2c.o build/input.o build/main.o build/remote.o build/rtc.o build/spisw.o buil
d/display/ks0066.o build/audio/audio.o build/audio/pt232x.o build/tuner/tuner.o
build/tuner/rda580x.o -lm
c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/../../../../avr/bin/ld.exe: bui
ld/ampcontrol_m8_4bit_pt232x_rda580x.elf section `.text' will not fit in region
`text'
c:/program files/avrgcc/bin/../lib/gcc/avr/5.2.1/../../../../avr/bin/ld.exe: reg
ion `text' overflowed by 40 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [build/ampcontrol_m8_4bit_pt232x_rda580x.elf] Error 1
С TDA7439 так
Спойлер

Код: Выделить всё

C:\ampcontrol-m8>make
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/adc.o -MF build/./adc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_tda7439 -c -o build/adc.o adc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/display.o -MF build/./display.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_tda7439 -c -o build/display.o display.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/fft.o -MF build/./fft.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_tda7439 -c -o build/fft.o fft.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/i2c.o -MF build/./i2c.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_tda7439 -c -o build/i2c.o i2c.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/input.o -MF build/./input.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_
RDA580X -D_tda7439 -c -o build/input.o input.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/main.o -MF build/./main.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RD
A580X -D_tda7439 -c -o build/main.o main.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/remote.o -MF build/./remote.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -
D_RDA580X -D_tda7439 -c -o build/remote.o remote.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/rtc.o -MF build/./rtc.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_RDA5
80X -D_tda7439 -c -o build/rtc.o rtc.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/spisw.o -MF build/./spisw.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT -D_
RDA580X -D_tda7439 -c -o build/spisw.o spisw.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/ks0066.o -MF build/display/ks0066.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_
PORT -D_RDA580X -D_tda7439 -c -o build/display/ks0066.o display/ks0066.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/audio.o -MF build/audio/audio.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_tda7439 -c -o build/audio/audio.o audio/audio.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/tuner.o -MF build/tuner/tuner.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_PORT
 -D_RDA580X -D_tda7439 -c -o build/tuner/tuner.o tuner/tuner.c
avr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-secti
ons -fdata-sections -ffreestanding -mmcu=atmega8 -DF_CPU=8000000L -MMD -MP -MT b
uild/rda580x.o -MF build/tuner/rda580x.d -DKS0066_WIRE_4BIT -DKS0066 -D_NO_MUTE_
PORT -D_RDA580X -D_tda7439 -c -o build/tuner/rda580x.o tuner/rda580x.c
avr-gcc -g -Wall -Werror -mmcu=atmega8 -Wl,--gc-sections -Wl,--relax -o build/am
pcontrol_m8_4bit_tda7439_rda580x.elf build/adc.o build/display.o build/fft.o bui
ld/i2c.o build/input.o build/main.o build/remote.o build/rtc.o build/spisw.o bui
ld/display/ks0066.o build/audio/audio.o build/tuner/tuner.o build/tuner/rda580x.
o -lm
avr-objdump -h -S build/ampcontrol_m8_4bit_tda7439_rda580x.elf > build/ampcontro
l_m8_4bit_tda7439_rda580x.lss
avr-objcopy -O ihex -R .eeprom -R .nwram build/ampcontrol_m8_4bit_tda7439_rda580
x.elf flash/ampcontrol_m8_4bit_tda7439_rda580x.hex

AVR Memory Usage:

Program:  7596 bytes (.text + .data)
Data:     556 bytes (.data + .bss)
WiseLord писал(а):Ну, или для 6-го gcc попробовать отключить -Werror/-Wall у компилятора.
Простите, но я не знаю как :oops:
У меня же TDA7440d, Вы писали, что она аналогична TDA7439 но без регулировки СЧ, её и буду использовать - навыдирал с муз.центров :) Кстати, что поправить в исходнике что бы убрать регулировку СЧ из меню (под TDA7440)
I'am a Rock N' Roll-Aholic
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Ant-RG писал(а):Простите, но я не знаю как
В Makefile просто отключить эти опции.

А если отключить эти строки в коде, параметр "Тембр СЧ" должен пропускаться, по идее.
Аватара пользователя
Ant-RG
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Ant-RG »

Спасибо за помощь! В железе проекта пока нет, соберу и буду пробовать.
И ещё, как я понял все изменения касательно переназначения функций выводов делаются только в файле pins.h, я прав? Переназначать можно произвольно все выводы кроме портов на I2C?
И правильно ли я понимаю, что если нужна прошивка без тюнера то достаточно просто удалить строку TUNER = RDA580X в makefile?
Извините что много вопросов, просто решил сразу разобраться :)
I'am a Rock N' Roll-Aholic
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

Отключить тюнер можно сборкой make TUNER=NO (или просто прописать этот вариант в Makefile, или просто удалить оттуда)

Да, поменять можно любые ножки кроме аппаратных (I2C, вход анализатора спектра). При большой необходимости можно I2C программный использовать (взять практически совместимый по вызовам код можно, например, из другого моего проекта).
Аватара пользователя
Ant-RG
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Ср май 05, 2010 20:47:56
Откуда: Украина
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Ant-RG »

Да три ножки не так критичны, пусть будут на месте, спасибо Вам!
I'am a Rock N' Roll-Aholic
Cheal
Грызет канифоль
Сообщения: 265
Зарегистрирован: Пн окт 31, 2011 12:35:59
Откуда: Родился в Сибири

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение Cheal »

Для windows gcc есть уже и 8.
Можно посмотреть по адресу:

https://sourceforge.net/projects/mobile ... 8Win32%29/
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение kloker »

сделал коммутацию канала с FM тюнером через гнездо штекера 3.5 мм для наушников(5 контактное гнездо). когда в гнезде нет штекера, звук идет от FM тюнера, штекер от внешнего источника в гнездо вставил, звук идет от внешнего источника сигнала.
вопрос, как софтово послать команду Mute тюнеру? аудио сигнал от тюнера идет даже при переключении темброблока на другой канал, если штекер не вставлен в гнездо с каналом тюнера, то на соседнем канале его слышно.

AMPControl собран на ATMega8, прошивка ampcontrol_m8_4bit_tda731x_tea5767 предпоследней сборки (репу с гита тяну).
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

У тюнера есть функция void tunerSetMute(uint8_t value).

На ATmega32 при переключении на отличные от нулевого входа (входа тюнера) входы это всё отрабатывает, и тюнер глушится. На ATmega8 такой обработки, ЕМНИП, нет.

Так что добавьте этот вызов в обработчики переключения входов и всё должно заработать - лишь бы в МК влезло.

Что-то вроде tunerSetMute(aproc.input) будет автоматически глушить тюнер на входах старше нулевого.

P.S. На ATmega32 используется вызов tunerSetMute(aproc.mute || aproc.input).
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение kloker »

ок, попробую допилить, спасибо

Добавлено after 22 minutes 50 seconds:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3155884#p3155884"]P.S. На ATmega32 используется вызов tunerSetMute(aproc.mute || aproc.input).[/uquote]
процедуру void tunerSetMute(uint8_t value) нашел в tuner.c в обоих ветках репы, а вызов tunerSetMute(aproc.mute || aproc.input) в ветке M-32 найти не могу, чтобы повторить в m-8.

можете указать точнее файл с обработчиком и синтаксис вызова? я в С пока в категории"чайник" нахожусь :(

там есть еще 2 процедуры, подходящие по смыслу к задаче(на мой взгляд),
void tunerPowerOn(void)
void tunerPowerOff(void)
в каких случаях их можно корректно заюзать?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение WiseLord »

В варианте ATmega8 обработка действий идёт в main.c.
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12

Сообщение kloker »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3156208#p3156208"]В варианте ATmega8 обработка действий идёт в main.c.[/uquote]
я правильно признак включения канала (не тюнера) вставил? и как убрать mute с тюнера, когда канал-0

/* Remap NEXT/PREV_INPUT actions to INPUT_X */
if (action == CMD_RC_IN_NEXT) {
action = CMD_RC_IN_0 + aproc.input;
if (dispMode >= MODE_SND_GAIN0 && dispMode < MODE_SND_END) {
action += 1;
if (action >= CMD_RC_IN_0 + aproc.inCnt)
action = CMD_RC_IN_0;
if (action != CMD_RC_IN_0)
tunerSetMute(aproc.mute || aproc.input);

}
}

совсем заблудился в коде. синтаксис Си после Делфи/objectPascal плохо в голову ложится.
Ответить

Вернуться в «Статьи»