Например TDA7294

Форум РадиоКот • Просмотр темы - Вопрос по чужому коду
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 12, 2025 14:58:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 12:32:21 
Друг Кота
Аватар пользователя

Карма: 5
Рейтинг сообщений: 61
Зарегистрирован: Ср сен 30, 2020 16:51:47
Сообщений: 4625
Откуда: РФ
Рейтинг сообщения: 0
Есть вот такой код (фрагмент кода управления цифровым потенциометром):


#define CS 4
#define INC 5
#define UD 6
#define STEP 5

LiquidCrystal_I2C lcd(0x27, 20, 4);

volatile bool intFlag = false;
unsigned long delayFront;
unsigned long previousMillis;
unsigned long currentMillis;
const long interval;
int pop, dat = 0, dat_old;
bool w = 1;
volatile bool startDelay = false;

void setup() {
interrupts();
delayFront == 0;
Serial.begin(57600);
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(CS, OUTPUT);
cl();
attachInterrupt(0, event, RISING);
}

void event() {
intFlag = true;
}


Что такое cl(); в этом коде?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 12:41:07 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 26
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 300
Рейтинг сообщения: 1
скорее всего cli() - запрет прерываний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 12:53:38 
Друг Кота
Аватар пользователя

Карма: 5
Рейтинг сообщений: 61
Зарегистрирован: Ср сен 30, 2020 16:51:47
Сообщений: 4625
Откуда: РФ
Рейтинг сообщения: 0
Вот ещё фрагмент этого кода:

void cl() {
digitalWrite(UD, LOW);
for (int i = 0; i < 100; i++) {
digitalWrite(INC, LOW);
digitalWrite(INC, HIGH);
}
}
void up(byte data) {
digitalWrite(UD, HIGH);
for (int i = 0; i < data; i++) {
digitalWrite(INC, LOW);
digitalWrite(INC, HIGH);
}
}
void dw(byte data) {
digitalWrite(UD, LOW);
for (int i = 0; i < data; i++) {
digitalWrite(INC, LOW);
digitalWrite(INC, HIGH);
}
}


Пояснение к этому фрагменту кода.

блок void cl()... это выполнять все 100 шагов изменения сопротивления цифрового потенциометра.

блок void up... это увеличивать сопротивление потенциометра на количество шагов задаваемых переменной data
блок void dw.. это уменьшать сопротивление потенциометра на количество шагов задаваемых переменной data


Последний раз редактировалось electroget Пт авг 22, 2025 13:13:36, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 13:07:47 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 26
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 300
Рейтинг сообщения: 0
Вот ещё фрагмент этого кода:


cl(); // сбросить на минимум (потенциометр)
up(50); // установить 50%
dw(25); // уменьшить на 25 %

как понял 1 шаг = 1 %


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 13:08:55 
Мудрый кот

Карма: 25
Рейтинг сообщений: 485
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1785
Откуда: KN34PC, Болгария
Рейтинг сообщения: 1
cl() - функция.
Код:
void cl(){digitalWrite(UD,LOW);for(int i=0;i<100;i++){digitalWrite(INC,LOW);digitalWrite(INC,HIGH);}}

Предложенный источник инфо (найден по фрагменту):
X9Cxxx — электронный потенциометр (Arduino)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 13:19:03 
Друг Кота
Аватар пользователя

Карма: 5
Рейтинг сообщений: 61
Зарегистрирован: Ср сен 30, 2020 16:51:47
Сообщений: 4625
Откуда: РФ
Рейтинг сообщения: 0
Вот ещё фрагмент этого кода:


cl(); // сбросить на минимум (потенциометр)
up(50); // установить 50%
dw(25); // уменьшить на 25 %

как понял 1 шаг = 1 %


Понял, спасибо.

Добавлено after 1 minute 25 seconds:
cl() - функция.


Благодарю вас за информацию.
В языке Arduino C можно вот так запросто объявлять какие угодно функции? Не знал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 13:26:32 
Мудрый кот

Карма: 25
Рейтинг сообщений: 485
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1785
Откуда: KN34PC, Болгария
Рейтинг сообщения: 1
Возможно. Главное, чтобы имя не совпадало, например, с именем служебной функции.

Функция с таким коротким именем - комментарий обязателен :).
А однострочная функция с таким количеством операторов в нем нечитабельна, но автор так решил. Для компилятора это то же самое.

Другая крайность: стиль CamelCase code - напр. 10 см функция, с 10 существительными, прилагательными и глаголами ...

напр. в STM32 SPL:
void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv);
Так как не вижу далеко, долго читаем в очках на мониторе, пока не понимаем, что хотели сказать :).


Последний раз редактировалось veso74 Пт авг 22, 2025 13:37:07, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 14:05:26 
Друг Кота
Аватар пользователя

Карма: 5
Рейтинг сообщений: 61
Зарегистрирован: Ср сен 30, 2020 16:51:47
Сообщений: 4625
Откуда: РФ
Рейтинг сообщения: 0
veso74,

Понял, спасибо.
Не знал этого, так как не программист ни разу.

Добавлено after 35 minutes 5 seconds:
Другая крайность: стиль CamelCase code - напр. 10 см функция, с 10 существительными, прилагательными и глаголами ...
напр. в STM32 SPL:
void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv);
Так как не вижу далеко, долго читаем в очках на мониторе, пока не понимаем, что хотели сказать :).


Для меня это всё другая планета. Про стили программирования я только слышал, а STM32 лишь на картинках видел. Я себе вообще не представляю как с ними люди мучаются. Лучше уж тогда какой-нибудь Raspberry Pi наверно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пт авг 22, 2025 17:48:28 
Друг Кота
Аватар пользователя

Карма: 59
Рейтинг сообщений: 1575
Зарегистрирован: Вт окт 22, 2013 04:37:23
Сообщений: 3419
Откуда: Казань
Рейтинг сообщения: 2
Лучше Sony Playstation. Сидишь, гамаешь и никаких мучений. :roll:

_________________
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезисты Ordyl Alpha 350 и AM 140.
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльная маска XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Сб окт 04, 2025 22:43:46 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
electroget писал(а):
Лучше уж тогда какой-нибудь Raspberry Pi наверно.
Думаете там будет проще?
Тоже писать код, но еще и с линью взаимодействовать нужно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 00:19:37 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2723
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не обязательно. Raspberry PI Pico (RP2040) вполне себе обходится без Linux :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 00:44:06 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 18
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 273
Рейтинг сообщения: 0
В линухе гораздо проще, потому что "всë есть файл". И основная часть низкоуровневого кода за тебя уже написана. Да и ресурсов куда больше, чем 4к оперативки и 20к флеша…
Что до STM32, ничего сложного. Надо просто начинать с чтения документации, разбора сниппетов от ST и написания своих. А пользоваться всякой дрянью вроде SPL/HAL/opencm3 не стоит. А еще хуже - генерировать убогие портянки кода всякими "генераторами".

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

_________________
Windows must die! And the users of this crap should either become smarter or become janitors.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 03:14:54 
Это не хвост, это антенна

Карма: 12
Рейтинг сообщений: 136
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1306
Рейтинг сообщения: 0
Иначе можно заработать "абдурину головного мозга" со всеми вытекающими.

Ардуино от плюсов чем отличается? Наличием фреймворка? Из за мозг то страдает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 09:36:38 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 18
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 273
Рейтинг сообщения: 0
Абдурина - это когда даже документацию не читают, а качают готовый говнокод из интернета.
Я не против плюсов на МК: без аллокаторов он очень хорош за счёт шаблонов, констэкспров и многого другого. Идеальный HAL для МК возможно написать исключительно на С++.
Но писать такую жесть, что вытворяют абдуринщики...
Загонять флоаты на 8-битку, их не умеющую; i2c ногодрыгом, аллокаторы, принтфы всякие... Да и сам подход: как будто у них там конкурс на самый бессмысленный код!

В общем, суровое такое поражение мозга бесконечной тупизной.

_________________
Windows must die! And the users of this crap should either become smarter or become janitors.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 10:04:41 
Это не хвост, это антенна

Карма: 12
Рейтинг сообщений: 136
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1306
Рейтинг сообщения: 0
Абдурина - это когда даже документацию не читают, а качают готовый говнокод из интернета.

А потому что Ардуино - это массовость, это просто и доступно, это горы софта. Потому и популярно, и занимаются все кому не лень. Естественно, при такой массовости и таком уровне необдуманно занимающихся всегда будет много мусора и тупизны. Только ничто не мешает писать и с нормальным подходом.
А так да, куда ни плюнь, везде классы, флоаты, ногодрыг. Хотя, во многих случаях, заради простоты и это не имеет особого значения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Вс окт 05, 2025 12:58:34 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15285
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Абдурина - это когда даже документацию не читают, а качают готовый говнокод из интернета....
В общем, суровое такое поражение мозга бесконечной тупизной.

8)
Такой отзыв про пользователей адуринки вызывает только соболезнование его написавшему.
:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пн окт 06, 2025 00:15:03 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
ПростоНуб писал(а):
Не обязательно. Raspberry PI Pico (RP2040) вполне себе обходится без Linux
Только проще от этого не станет. :dont_know:
linux_rulezz писал(а):
В линухе гораздо проще
Написал участник форума с ником linux_rulezz. :))) Явно предвзятое отношение к линю. :wink:
linux_rulezz писал(а):
потому что "всë есть файл". И основная часть низкоуровневого кода за тебя уже написана.
И код для цифровых резисторов тоже написан и они винды как файл? :wink:
Или предлагаете писать драйвер (модуль) ядра чтобы работать с резисторами?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пн окт 06, 2025 00:55:01 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4593
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Написал участник форума с ником linux_rulezz. :))) Явно предвзятое отношение к линю. :wink:
Это же вновь возродившийся Eddy_Em :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пн окт 06, 2025 09:07:11 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 18
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 273
Рейтинг сообщения: 0
Мурик, прикинь, в линуксе уже давно есть готовые модули для цифровых потенциометров!
Набери в гуголе "linux digital potentiometer kernel module". А вы там со своим маздаем - как в каменном веке!

_________________
Windows must die! And the users of this crap should either become smarter or become janitors.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по чужому коду
СообщениеДобавлено: Пн окт 06, 2025 09:49:13 
Открыл глаза
Аватар пользователя

Карма: -6
Рейтинг сообщений: -10
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 61
Рейтинг сообщения: 3
linux_rulezz писал(а):
Абдурина - это когда даже документацию не читают, а качают готовый говнокод из интернета.

[uquote="linux_rulezz"]В линухе гораздо проще, потому что "всë есть файл". И основная часть низкоуровневого говнокода за тебя уже написана..[/uquote]
ты не понимаеш, это другое :)))

_________________
глаза баяца, руки из жопы, но я не здаюсь


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y