Например TDA7294

Форум РадиоКот • Просмотр темы - Нескольно простых вопросов о программировании AVR на Си.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт июн 24, 2025 02:20:39

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1478 ]     ... , , , 71, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс апр 09, 2023 19:46:55 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Смотря что понимать под "командой". Можно макро команду написать и это будет действительно всего одна строка, типа log x))). Ну ведь красиво же!)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс апр 09, 2023 20:06:59 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
ага, создать из авр виртуальный процессор (что-то типа как Transmeta Crusoe), где log x будет настоящей ассемблерной, единичной машинной командой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс апр 09, 2023 21:49:48 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
Martian, Мы такое сделали, правда на СТМ :)
Бейсиковская команда (точнее, функция) LOG(X) реально компилируется в 2 байта - байт команды и байт - номер временного регистра.
Но под капотом виртуальной машины честный флоатный логарифм на сях )))

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс апр 09, 2023 22:45:52 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
ну вот и AQ29 такое же сделал, всё честно :)

Добавлено after 1 minute 28 seconds:
Just_Fluffy, это коммерческая разработка? или есть где посмотреть?


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс апр 09, 2023 23:17:22 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
AQ29, ваш целочисленный логарифм на АБ/ассемблере тоже применим. Что б не изобретать велописеды на асме.
Но зочем вы говорите за свой асссемблерный код в теме про язык Си?

Martian писал(а):
или есть где посмотреть?
Да какое там коммерческая....
GoldenAndy для себя задумал сделать мелкую консольку с несколькими аркадными игрульками... Типа тетриса, зоникса, питончика и т.д.
А я с ним заобщалась по поводу его тестера аккумуляторов... Слово за слово , в телеге разговорились.
И родилась мысль (с моей подачи) - не зашивать игры в МК, а сделать что то типа виртуальной машинки , в которую будут компилиться программы на ЯВУ. Выбор пал на диалект бейсика.
Сделали вдвоем. Задачка была интересная. Я там больше алгоритмами участвовала. В частности, работа с кучей и уборка мусора - один из моих алгоритмов там. Питона я под готовое изделие написала...
Ссылки не знаю, можно тут на сторонние ресурсы постить или нет, но подпись у Энди ведет в его блог - там можно почитать.


_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн апр 10, 2023 07:26:58 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Но зочем вы говорите...

Это из серии "грабить корованы"?)


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн апр 10, 2023 09:49:25 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 2
OKF, да нет, это из более древнего мема "зочем ви т'равите...."

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн апр 10, 2023 09:56:39 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 1
Ссылки не знаю, можно тут на сторонние ресурсы постить или нет

хм... пункт 2.9 запрещает рекламу в любом виде, но, полагаю, вряд ли нас уличат в сговоре так долго и сложно подводить тему к ссылке на разработку )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн апр 10, 2023 10:29:37 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 7
Martian писал(а):
но, полагаю, вряд ли нас уличат в сговоре так долго и сложно подводить тему к ссылке на разработку
Ну ок.
Тогда вот. Смотреть записи снизу вверх.

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн апр 10, 2023 20:44:01 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
OKF, да нет, это из более древнего мема "зочем ви т'равите...."

ОК, вижу что у нас разные весовые категории).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 06:29:36 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 242
Рейтинг сообщения: 0
Добрый день. Попалась вот такая запись в операции установки бит.
Код:
 UCSR0C=(3<<UCSZ00);

Почему здесь тройка, и что она значит. Сколько ни смотрел разные руководства по битовым операциям, везде тут единица без исключений.
Компилируется и работает нормально.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 06:59:20 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Устанавливают 2 бита сразу.
Замените частях, в какой системе счисления хотите, напр. в двоичном.
3 -> 0b00000011
UCSZ00 (atmega328?, стр. 193) -> 1

UCSR0C = (3 << UCSZ00);
UCSR0C = (0b00000011 << 1);
UCSR0C = 0b00000110;

Смотрим документацию (стр. 193, 194):
The UCSZn1:0 bits combined with the UCSZn2 bit in UCSRnB sets the number of data bits (Character SiZe) in a frame the Receiver and Transmitter use.
(UCSZn2 = 0?), UCSZn1 = 1, UCSZn0 = 1 -> Character Size: 8-bit


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 15:57:37 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18397
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Добрый день. Попалась вот такая запись в операции установки бит.
Код:
 UCSR0C=(3<<UCSZ00);

Почему здесь тройка, и что она значит. Сколько ни смотрел разные руководства по битовым операциям, везде тут единица без исключений.
Компилируется и работает нормально.

нормальные люди делают так:
Код:
UCSR0C=_BV(UСSZ00) | _BV(UCSZ01);
или так (что то же самое, но длиннее):
Код:
UCSR0C=(1<<UСSZ00) | (1<<UCSZ01);
, а ненормальные двигают сразу 2 бита в позицию UCSZ00, как у вас

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 18:07:53 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
а самые нормальные делают так:
Код:
...
#define USR_DataSize_8_b 0x03
...
UCSR0C |= USR_DataSize_8_b;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 19:18:12 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Тоже нормальные люди это те, кто также написали документацию ATmega48A/PA/88A/PA/168A/PA/328/P :).

стр. 185, Assembly Code Example:
Код:
USART_Init:
; Set baud rate
out UBRRnH, r17
out UBRRnL, r16
; Enable receiver and transmitter
ldi r16, (1<<RXENn)|(1<<TXENn)
out UCSRnB,r16
; Set frame format: 8data, 2stop bit
ldi r16, (1<<USBSn)|(3<<UCSZn0)
out UCSRnC,r16
ret

стр. 185, C Code Example:
Код:
Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 19:55:47 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
ну, тут они хотя бы все необходимые поля взяли, а не присвоили нужные всему регистру


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 22:39:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18397
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Бритва Оккама... Если, кроме нужных битов, в регистре не должно ничего быть, то...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс июн 04, 2023 22:47:23 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Ну, тут субъективно становится. Лично я за удобочитаемость и установку только того, что устанавливается, то есть, либо в твой вариант добавлю |, либо так же оставлю, если цель сбросить остальные поля. Но смещать тройку названием поля размером один бит... это в любом случае как-то странно выглядит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн июн 05, 2023 09:55:25 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Лично я за удобочитаемость...
Стараюсь указывать все используемые биты, типа, REG = 1<<bit1 | 0<<bit0; и тогда явно видно какие биты в каком состоянии.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн июн 05, 2023 09:59:39 
Друг Кота

Карма: 68
Рейтинг сообщений: 1958
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
тоже стараюсь все, но когда не лень, даю им нормальные названия, чтобы в итоге получалось UART = Speed9600 | Bit8 | WithParity. Но в последнее время лень, и тогда вариант ARV


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

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


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

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


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

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


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