Всем ку. Хочу на мк (стм32ф030) сделать индикатор уровня звука на головках м68502. Приемлимо ли брать сигнал с линейного выхода ПК или надо именно брать сигнал с выхода усилителя? КУ140уд6 нет и не будет

Комментарии: 78

  1. Karboflex

    зависит от того хочешь ли ты чтобы поворот ручки усилителя влиял на индикатор)

    • Eduard

      У меня ручки толком нету, сигнал с линейного летит сразу на вход усилителя. Вся регулировка уже на ПК

      • Karboflex

        тогда вобще пофиг) главное чтоб вход показометра был достаточно высокомным чтоб не влиять на сигнал)

  2. Vga

    А зачем тут мк?

    • Eduard

      как минимум можно усиление менять

      • Vga

        это можно сделать одним переменником...

        • Eduard

          Можно подсветку сделать нескучную на адрес диодах

        • Karboflex

          а вот так делать не стоит)

          • Vga

            обоснуй

            • Karboflex

              на усилке по входу стоят конденсаторы переменник имеет переменный входной выходной импеданс что влияет на ачх

        • Eduard

          коеф усиления на оу регулировать?

          • Aristarh

            Подключить индикатор - мк не нужен. Сделать весёленькую подсветку - мк нужен. Итого: имеем две независимые задачи.

            • Vga

              Ну поставь буфер перед крутилкой, если хочешь минимально влиять. АЦП МК тоже штука с весьма интересным входным импедансом В принципе тоже не нужен, есть светодиоды веселенькой подсветки.

              • Karboflex

                да ну как сказать импдеансом он может вобще срать иголками в измеряемую цепь)

                • Vga

                  Я из калонки такой выпаял, потому что он меня заебал своим миганием ну так импеданс там при измерении может скакать)

                  • Eduard

                    да в целом вопрос откуда лучше и логичнее сигнал взять, а не о реализации и исполнении...

                  • Aristarh

                    Отправь его Эдуарду почтой России :)

                    • Eduard

                      по емейлу)

                  • Karboflex

                    он скорее током в обратку срёт)

                    • Vga

                      Он заряжает кондер, отключает его от входа, при измерении напряжение на кондере меняется, потом он подключается обратно ко входу. Короче, вход ацп - штука веселая, веселее переменника

                      • Karboflex

                        лучше всего взять моту М2 там уже классненькие индикаторы из каропки) не идеал конечно но всёже ой там 33 вида ацп)) без буферного усилителя там в любом случае терашак будет)

                        • Vga

                          Но вообще, так ли уж сильно на ачх повлияет параллельно включенный переменник, учитывая что импеданс выхода у звуковухи довольно низкий? Так там конкретный ацп указан, и он афайк именно такой)

                          • Karboflex

                            стм они щас все поддельные кроме G L U H7

                            • Vga

                              Так они с тех же стм свои подделки и тырят!)

          • Vga

            Обычно проито делают регулируемый аттеньюатор перед фиксированным усилком

            • Karboflex

              это фу фу фу) сейчас обычно делают по другому берут цифровой операционник) и прикручивают его к мк)) на практике это конечно инструментальник и цифровой резистор)

              • Vga

                ну тогда да, без мк никак не обойтись...

                • Karboflex

                  вот ты ржошь а разброс между каналами 0 дб)

                  • Magistrdev

                    Товарищи нужна помощь)

                  • Vga

                    Это прям важно для показометра декоративного?

                    • Magistrdev

                      Компуктер из магазина, картинку показывать не хочет)))

                    • Karboflex

                      это важно для усилителя)

                      • Magistrdev

                        Говорят он разок показывал Биос и больше не хочет)

                        • Vasiliy

                          Когда наткнулся на инженера-проектировщика с купленным дипломом.. Кот Шрёдингера

                          • Karboflex

                            эт полюбому полигон для какихт омчсников или спецназа)

                            • Aristarh

                              Не, строят дезигнерскую херотень, будут там проводить выставки современного искусства

                            • Vladimir

                              Дипломная работа студента архитектурного))

                      • Vga

                        Но речь-то не о нем

                        • Karboflex

                          я так понял он хочет ещё крутилку приделать к усилку)

                          • Magistrdev

                            https://www.mvideo.ru/products/sistemnyi-blok-igrovoi-raskat-strike-520-i5-12400f-16gb-ssd512gb-rtx3050-noos-400327960 Вот такая балалайка

                            • Vga

                              вот теперь странно... та же рекомендация

                              • Sobol

                                проверил на 7-ке, всё та же проблема Severity Code Description Project File Line Error syntax error, unexpected INTEGER, expecting SYMBOL or REGDEF AssemblerApplication1 C:\Users\Evgeny\Documents\Atmel Studio\7.0\AssemblerApplication1\AssemblerApplication1\ Library.inc 2

                                • Boris

                                  Он на библиотеку ругается...

                                  • Sobol

                                    Что ты имеешь ввиду под "методиками сопроваждения"? На JS ни разу не писал, поэтому хз да, на строчку .IFDEF __div8u

                                    • Karboflex

                                      ну самое просто блок схема прошивки сейчас так никто не делает(кроме учителя информатики) но когда кодили на машинных кодах и асьме по другому было никак)

                                      • Sobol

                                        Я периодически на листочке пишу, но это выглядит как рандомные записки сумасшедшего

                                        • Karboflex

                                          разибиение по файлам это когда действительно длинная портянка текста

                                • Vga

                                  не знаю в чем проблема. можно попытаться выкинуть попытки в смартлинк в лице заворачивания функции в ифдеф

                                  • Sobol

                                    Ого, скомпилилось

                              • Magistrdev

                                Вытащил видюху и втащил обратно)))

                                • Vga

                                  И?

                                  • Magistrdev

                                    Завелось Хз чё было)

                                    • Vga

                                      Вывалилось из слота. Подвинешь на столе - еще раз вывалится)

                                      • Magistrdev

                                        Да вроде по двигал и прикрутил) А тут нет тех кто с wiren board конторой имел дело? Мож работал у них?

                                        • Vga

                                          Для нонешних видях этого мало. Надо еще чтоб защелка на слоте держала и желательно жопу костылем подпереть

                                    • Karboflex

                                      интел)

                          • Vga

                            Мне так не показалос...

                            • Sobol

                              Не могу вкурить в чем проблема. Прочитал эту статью про использование макросов https://habr.com/ru/articles/465261/#:~:text=%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B%20%D0%B4%D0%BB%D1%8F%20%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8%20%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4 . , решил проверить пример (ссылка на него). Суть в том, чтобы разбить макросы, подпрограммы и основную программу в отдельные файлы ( Macro.inc , Library.inc соответственно). Программа использует подпрограмму через макрос Код макроса ( Macro.inc ) .macro DIV8U #ifndef __div8u #define __div8u #endif mov TMPL, @0 mov TMPH, @1 call _div8u .endm Код подпрограммы ( Library.inc ) _div8u: .IFDEF __div8u clr AL; clr AH; ldi TMPQL,9 d8u_1: rol TMPL dec TMPQL brne d8u_2 ret d8u_2: rol A sub AH, TMPH brcc d8u_3 add AH, TMPH clc rjmp d8u_1 d8u_3: sec rjmp d8u_1 .ENDIF Часть кода программы (AVR_start.asm) .def TMPL = R16 .def TMPH = R17 .def TMPQL = R18 .def AL = R0 .def AH = R1 .include "m328Pdef.inc" .include "Library.inc" .include "Macro.inc" ... LDI R10, 0x7 LDI R11, 0x3 DIV8U r10, r11 ; r0 = r10/r11 r1 = r10 % r11 Студия ругается и выдаёт ошибку: C:\Users\Evgeny\Documents\AVR_start\ Library.inc (16): error: Label 'd8u_3' changed between pass 1->2 (0x0000->0x000d): Check use of forward references Я перепроверил несколько раз код, и лэйбл d8u_3 используется ровно один раз в файле с функцией. Что такое pass 1->2?

                              • Vga

                                Видимо при первом проходе функция выкинулась ифдефом Попрбуй library.inc в конец перекинуть

                                • Sobol

                                  Теперь на эту строку .IFDEF __div8u Выдает C:\Users\Evgeny\Documents\AVR_start\ Library.inc (2): error: syntax error, unexpected INTEGER, expecting SYMBOL or REGDEF А ещё пропапил файлы из инспектора (или как здесь он называется) раньше inc файлы были в папке Include Files

                                  • Vga

                                    а вот это странно. покажи как заинклудил

                                    • Sobol

                                      Прикол в том, что я с неё перешел на 4, ибо эмуляция прерываний на 7 не работала, а на 4, сюприз, работала моменто

                                      • Boris

                                        Интересное уточнение...

                                    • Sobol

                                      .def TMPL = R16 .def TMPH = R17 .def TMPQL = R18 .def AL = R0 .def AH = R1 .include "m328Pdef.inc" .include "Macro.inc" ;= Start macro.inc =============================== . . . ;= End macro.inc ================================= ; RAM ============================================= .DSEG Var1: .byte 3 ; FLASH =========================================== .CSEG .ORG 0x00 RJMP Start .ORG INT_VECTORS_SIZE Start: . . . LDI R10, 0x7 LDI R11, 0x3 DIV8U r10, r11 ; r0 = r10/r11 r1 = r10 % r11 . . . ; EEPROM ========================================== .ESEG .include "Library.inc"

                                      • Vga

                                        не, ну ты конечно молодец, в еепром положил. ты в .cseg клади.

                                  • Sobol

                                    аой щас Та же ошибка. Выглядит код теперь так .def TMPL = R16 .def TMPH = R17 .def TMPQL = R18 .def AL = R0 .def AH = R1 .include "m328Pdef.inc" .include "Macro.inc" ;= Start macro.inc =============================== . . . ;= End macro.inc ================================= ; RAM ============================================= .DSEG Var1: .byte 3 ; FLASH =========================================== .CSEG .ORG 0x00 RJMP Start .ORG INT_VECTORS_SIZE Start: . . . LDI R10, 0x7 LDI R11, 0x3 DIV8U r10, r11 ; r0 = r10/r11 r1 = r10 % r11 . . . .include "Library.inc" ; EEPROM ========================================== .ESEG В инспекторе файлы также не видны

                                • Sobol

                                  почему это помогает? Из-за того, что library.inc будет полностью копироваться в код? Но тогда почему файл с макросами может быть в пространстве вне сегментации. Я подправил код, и компилилось только при условии, если .include " lib.inc " будет в конце сегмента кода, а макросы с m328Pdef.inc вне сегментации

                              • Sobol

                                Я перезапустил. Не помогло Вдруг в полном коде я что-то сделал. Вот полный: ; ; AssemblerApplication1.asm ; ; Created: 9/14/2024 7:05:41 PM ; Author : Evgeny ; .def TMPL = R16 .def TMPH = R17 .def TMPQL = R18 .def AL = R0 .def AH = R1 .include "m328Pdef.inc" .include "Macro.inc" ;= Start macro.inc =============================== .macro UOUT .if @0 < 0x40 OUT @0, @1 .else STS @0, @1 .endif .endm .macro UIN .if @1 < 0x40 IN @0, @1 .else LDS @0, @1 .endif .endm .macro XRI LDI @2, @1 EOR @0, @2 .endm ;= End macro.inc ================================= ; RAM ============================================= .DSEG Var1: .byte 3 ; FLASH =========================================== .CSEG .ORG 0x00 RJMP Start ; (USART,RXC) USART, Rx Complete .ORG INT_VECTORS_SIZE Start: ; . . . LDI R16,Low(RAMEND) OUT SPL,R16 LDI R16,High(RAMEND) OUT SPH,R16 LDI TMPL, 0xAA ; UOUT UDR0, BIN1 ; . . . LDI R10, 0x7 LDI R11, 0x3 DIV8U r10, r11 ; r0 = r10/r11 r1 = r10 % r11 ; . . . XRI TMPL, 1<<3|1<<4, TMPH LDI R19, 0xAA CLR R20 CLC CALL Amount RJMP Start Amount: CPI R19, 0 BREQ endf LSL R19 BRCC Skip INC R20 Skip: RJMP Amount endf: RET ; . . . .include "Library.inc" ; EEPROM ========================================== .ESEG код файлов library и macro идентичные этому

                                • Karboflex

                                  достоинством ассемблера является то что поддерживать прошивку не сможети никто кроме автора да и автор не дольше 2 недель после релиза

                                  • Boris

                                    Всё зависит от количества и качества комментариев в исходнике...

                                    • Karboflex

                                      при этом автор думал что он прав а он не прав ибо баг)

                                      • Boris

                                        Не всё идеально в этом мире...

                                  • Sobol

                                    Ну, там ещё прост нагромождение рандомного коода "на проверить". Когда увидел ту статью про разбиение по файлам, то подумал делать такой файл подпрограмм на ежедневне эксперименты, но вот не получилось скомпилировать пример даже

                                    • Karboflex

                                      во времена когда кодили на асьме рисовали блок схему прогу а потом уже каждый блок превращали в код) щас так никто не делает а текстовые комментарии портянку текста размотать не помогут) вобщем то я о чём если хочешь писать на ассемблере то надо использовать методики сопроваждения кода для ассемблера) а не для жаваскрипта)

                                      • Boris

                                        Вот это правильное замечание, ассм - это Спарта, но интересно и захватывающе...

                                  • Vga

                                    он ее уже не может поддерживат)

    • Karboflex

      многа лампочек наверное)

    • Ivan

      Если там есть АЦП почему бы и нет

Не нашли ответ?

Вам также может быть интересно