Например TDA7294

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





Текущее время: Чт мар 28, 2024 11:21:04

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1459 ]     ... , , , 38, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 08, 2018 17:40:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2057
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18024
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Siarzhuk писал(а):
Прочитать код с BSOD экрана и забить его в гугл - и, как правило, где-то когда-то кто-то уже терзал коллективный разум аналогичным вопросом.
разумеется. искал. и находил какую-то хрень вроде "вероятно, проблема с банком памяти". после этих слов мне сразу стало легче. точно как в анекдоте: больной перед смертью потел? - да - это хорошо...

Siarzhuk писал(а):
Сервисмены будут в восторге от такого подхода.
ну, если мы говорим об устройстве вроде PLC, то, пожалуй, сервисмены могут быть как-то присовокуплены к теме. но если мы все-таки ограничимся устройствами типа "умный выключатель" или что-то подобное, т.е. без гиперразвитого интерфейса с пользователем, то сервисмены будут совершенно ни при чем. Например, если ваша кофе-машина вдруг перестала заваривать кофе, никакие сервисмены к вам не придут, не позвонят и не станут давать советы, кроме единственного: везите в сервисцентр, разберемся. и эта фраза будет произнесена в ответ на любой код ошибки, который, вероятно, ваша кофемашина вам на дисплее покажет.
так что для огромного разнообразия приборов (и тем паче - любительских поделок) ваш метод все же параноидальный.

Siarzhuk писал(а):
ниже маленькая жизненная иллюстрация сходной проблемы.
это иллюстрация другой проблемы... но тема не о ней :) а теперь давайте подумаем, если бы этот умный выключатель выдал номер ошибки, и даже в интернете нашлось бы описание её - сильно бы это помогло? в случае с BSOD не помогает никак. о всяком случае я не знаю ни одного человека, который бы после BSOD предпринял бы какие-то меры, кроме тупого нажатия на кнопку RESET.

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

скушно, бабоньки!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 08, 2018 17:59:11 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
а как из БСОДа ещё выбраться? а вот когда выбрался - уже можно и меры предпринимать...
и, да, этот код помогает: пару раз на сбойный драйвер указывал, часто проблему загрузки через него найти можно: 0x00007b - можно в биос сходить режим SATA поправить, может и скандиск тут помочь... покрайней мере уже знаешь куда копать...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 08, 2018 18:21:22 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2057
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18024
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Ivanoff-iv писал(а):
и, да, этот код помогает
преклоняюсь перед вашим опытом. но сомневаюсь, что таких большинство среди пользователей.

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

скушно, бабоньки!


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт янв 09, 2018 01:14:56 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
так что для огромного разнообразия приборов (и тем паче - любительских поделок) ваш метод все же параноидальный.

Обрабатываться должны все case-ы. Это правильная привычка - и она слишком дорого оплачена. А любитель - тоже человек, и его время для него бесценно. Впрочем наше для нас также, ЕВПОЧЯ. ;-)

это иллюстрация другой проблемы... но тема не о ней :) а теперь давайте подумаем, если бы этот умный выключатель выдал номер ошибки, и даже в интернете нашлось бы описание её - сильно бы это помогло?

Ближе к делу, к чёрту философию - интересны ваши гипотезы как бойлер дошёл до такой жизни. Я же только ради этого сюда и запостил "гишторию" - чтобы мнение более искушённых мастеров услышать и разбавить архетипично-бесперспективную бойню little endians vs big endians.
А номер ошибки - за что вы так народ-то недооцениваете? :-D

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт янв 09, 2018 07:45:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2057
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18024
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Siarzhuk писал(а):
интересны ваши гипотезы как бойлер дошёл до такой жизни
если бойлер умный, то мог просто сойти с ума от тупости пользователя, например. ну или просто. ум - штука тонкая, до конца не изученная... хочешь, чтобы бойлер работал и не сходил с ума - не делай его умным.

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

скушно, бабоньки!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 13:51:28 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Приветь всем!
А есть какая-нибудь команда, как вставить в Си файл другой лист целиком на ассемблере? Чтобы не исправлять ассемблерный всякими кавычками... ?

Ой. Не. Спасибо, уже не надо.
Посмотрел здесь:
https://embedderslife.wordpress.com/201 ... asm-and-c/

_________________
Станислав


Последний раз редактировалось СКАЗОЧНИК Пн янв 15, 2018 14:00:06, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 13:59:47 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
В проект добавьте файл ассемблера. Расширение .s или .S. Во втором случае будут работать директивы препроцессора.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:15:51 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А не попортит мне регистры во всяческих конфликтах с Си?

Он вроде понял его, даже подсветил всякие команды цветами разными. Однако ругается на точки с запятой, на комментарии и т.д... :facepalm:

Добавлено after 14 minutes 44 seconds:
Походу просто придется писать инициализацию дисплея на Си. ))))

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:17:51 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
В отдельном файле, надо будет оформлять ассемблерные вставки как функиции. Я сходу не вспомню, часть регистров используется для передачи данных и возврата результа. В R1 всегда ноль должен быть, вроде какие-то есть на свободное пользование. Это для компилятора GCC.
Как то делал проект, сейчас открою и погляжу как там функции написаны.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:20:12 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да, не надо. Все равно все лопатить. Просто я подумал, что ранее писал такую простую и мало-места-занимающую библиотеку под 1602, но на ассемблере. Пытаюсь постигать Си язык теперь. Хотел использовать старую библиотеку, а увы! Мало там возможных регистров для собственного использования.
Проще на Си все переписать.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:48:19 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК писал(а):
Да, не надо.
А я все равно напишу :).
СКАЗОЧНИК писал(а):
Мало там возможных регистров для собственного использования.
Никуда они не делись, все Ваши.

Вот как у меня было, например. Созданы дополнительно два файла в проект (то есть их надо не только создать, но и включить в проект). Условно asm.h и asm.S. В заголовочном файле объявлен пототип функции void SetPicMono (color_t color);. Тип этот имеет размер один байт.

В файле asm.S
Код:
//Функцйия  void SetPicMono (color_t color);
.global SetPicMono
SetPicMono:

   
push
push
...
...
...
pop
pop

ret


Си встретив вызов этой функции, покладет передаваемый параметра в R24R25 (кажется) и выполнит инструкцию call на метку SetPicMono.

Добавлено after 6 minutes 41 second:
Собственно заголовочный файл тут совсем не обязателен, прототип функции можно было и прямо в основной исходник вставить.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:56:25 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Как все сложно то... ((((
Вот надо мне инициализировать дисплей на Си и буковки на него выводить. А тут.. передаваемый параметр, да еще в паре регистров.
Пойду чаю попью (с пельменями).

Добавлено after 6 minutes 2 seconds:
А какая команда работы с битами в Си? Ну, типа sbi, cbi

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 14:58:53 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вот еще пример, обработчика прерывания.
Тут обработчик прерывания от таймера 1 использует переменную объявленную в где-то в Сишном коде.
Тип файла .S. Если бы был .s, то .extern вроде не сработает. Я очень давно этим проектом занимался.
Код:
.extern uint8_t SysTick;
...
...
...
.global TIMER1_COMPB_vect
TIMER1_COMPB_vect:

   PUSH R16
   in R16,_SFR_IO_ADDR(SREG)
   PUSH R16

   LDS R16,SysTick
   TST R16
   brne eex2

   sbi _SFR_IO_ADDR(PINB),PB1 //

eex2:
   POP R16
   out _SFR_IO_ADDR(SREG),R16
   POP R16
reti


З.Ы. Для обработчика прерывания, имя метки должно точно совпадать с именем вектора.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:00:24 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК, а что, на Си проблематично дисплей инициализировать ? Зачем весь этот гемор с АСМ-вставками ? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:02:47 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Для обучения. ))) ну и жалко, когда-то написанное на асме не использовать везде. Тем более, там быстрый код, и занимает катастрофически мало места! )) Тем более, делал сам.
На Си мне пока что сложно в плане того, что я плохо его помню, за каждой командой приходится лезть и вспоминать.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:03:55 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК писал(а):
А тут.. передаваемый параметр, да еще в паре регистров.
Можно ж и не передавать если не нужно, тип void.
СКАЗОЧНИК писал(а):
А какая команда работы с битами в Си? Ну, типа sbi, cbi
PORTx|=0x80; При включенной оптимизации, компилятор должен догадаться, что операция "или" не нужна и вставит sbi, на старший бит.

Добавлено after 58 seconds:
СКАЗОЧНИК, а что, на Си проблематично дисплей инициализировать ? Зачем весь этот гемор с АСМ-вставками ? :dont_know:

+.
Дисплею врядли нужОн ассм.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:07:00 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4990
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вот это я написал на СИ

Код:
#define RSport   PORTB   // Указать порт, к которому подключена линия управления RS
#define RSddr    DDRB   // Указать регистр направления порта, к которому подключена RS
#define RSpin    5      // Указать номер бита порта, к которому подключеа линия RS


А вот это надо переделать на СИ

Код:
sbi   RSddr, RSpin


:dont_know:

Добавлено after 1 minute 50 seconds:
LED_DDR = 1<<LED1;

Типа того?

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:07:23 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да, чтобы ассеблерная вставка знала типы ,и имена портов у меня вверху файла была такая директива #include <avr/io.h>

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:07:49 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК писал(а):
Для обучения. )))
Перешли на Си - забудьте об обучении АСМа. Обучайтесь лучше языку.

СКАЗОЧНИК писал(а):
ну и жалко, когда-то написанное на асме не использовать везде.
Забейте. Напишете потом на Си.
Мало того, я скажу больше - Вы код не один раз ещё перепишете и ни капельки об этом не пожалеете.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 15, 2018 15:10:02 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК писал(а):
LED_DDR = 1<<LED1;

Типа того?


LED_DDR = (1<<LED1) | LED_DDR;
Или же
LED_DDR |= 1<<LED1;
Это разные записи идентичных операций. А то что Вы указали, сбросите остальные биты.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

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


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

Сейчас этот форум просматривают: Greenpeace и гости: 21


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

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


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