Например TDA7294

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



Текущее время: Пн янв 27, 2020 16:24:28

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


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



Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Оценить и осудить на сколько корректно написана часть кода
СообщениеДобавлено: Пн ноя 18, 2019 11:30:51 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
Просьба оценить и осудить на сколько корректно написано часть кода . Коротко в двух словах чо делает программа , по нулевому таймеру меняет биты а по первому происходит прерывание и опрашивает кнопки
...
Int y=0;
...
Main
{
If (TCNT0 ==255)
{
Switch y
{Case1 : portc =| (1<<0);
Y++;
Breek;
Case2 : portc =| (1<<1);
Y++;
Breek;
Case3 : portc =| (1<<2);
Y++;
Breek;
Case4 : portc =| (1<<3);
Y=0;
Breek;
}
}
}
....
Извиняюсь за карявось написания текста пишу с телефона по памяти


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 12:08:49 
Держит паяльник хвостом
Аватар пользователя

Карма: 12
Рейтинг сообщений: 123
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 953
Рейтинг сообщения: 3
Не занимайся ерундой, возьми в руки компилятор, он тебе укажет на ошибки, а они там есть.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 12:31:17 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 626
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2600
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
serikaikido писал(а):
If (TCNT0 ==255)
Если по каким-то причинам не хочется использовать прерывание от таймера 0, то проверять лучше флаг переполнения с последующим сбросом, если установлен. А так можно и "проморгать" факт переполнения, если таймер тактируется на частотах близких к частоте ядра.

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:02:13 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
Да всё работает !!!! Насколько это грамотно ???

Добавлено after 10 minutes 35 seconds:
Re: Оценить и осудить на сколько корректно написана часть кода
Z_h_e спасибо , у меня нулевой таймер меняет фазы шаговика
А TCNT == 255 я меняю скорость смены фаз, тоесть скорость шаговика. А прерывания у меня на первом таймере на опрос кнопок


Вернуться наверх
 
DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи.

Читать статьи>>
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:05:13 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 273
Рейтинг сообщения: 0
То, что в 1ом посте - работать не может из за тонны ошибок. Описание непонятно. Прерывания не вижу, про сравнение с абсолютным значением уже сказали.


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:10:01 
Собутыльник Кота
Аватар пользователя

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

Добавлено after 3 minutes 24 seconds:
NStorm писал(а):
про сравнение с абсолютным значением уже сказали.
Не до конца сказали :). Если таймер будет тактироваться малой частотой, то условие будет истинным многократно.

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


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:26:29 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
Я пишу с телефона не особо удобно , да и по памяти, так что там много ошибок это да , но у меня отлаженный код он работает шаговик шагает кнопки жмутся , весь код не выкладывал очень сложно писать с мобилы написал только часть кода какая интересует , а интересует , насколько корректно использованы таймер счётчики , может есть способы более компактные или практичные , ?? Насколько грамотно ? Двумя словами .

Добавлено after 1 minute 42 seconds:
Re: Оценить и осудить на сколько корректно написана часть кода
Первый таймер счётчик даже написал код там и так понятно всё прерывание по переполнению которое опрашивает кнопки


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:28:24 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 626
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2600
Откуда: г. Чайковский
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Значит не пишите с телефона. Доберетесь до компа и покажите нужный кусок кода.

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


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 13:38:56 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
У разных таймеров разные вектора прерываний. Не вижу причин не использовать прерывание.

Z_h_e, я просто не волшебник только учусь , но будет ли оно корректно работать когда здвиг фаз шаговика будут меняться по прерыванию нулевого таймера и с прерываниям первого ?

Добавлено after 1 minute 23 seconds:
Re: Оценить и осудить на сколько корректно написана часть кода
Нахожусь далеко от компа , да и в течение суток не буду рядом точно а есть только телефон и время которое не хочется проспать даром

Добавлено after 4 minutes 41 second:
Re: Оценить и осудить на сколько корректно написана часть кода
Да и интересует уместно использовать switch место if фов если ли какие недостатки плюсы итд??


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 14:28:26 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 626
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2600
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Оператор switch несомненно лучше if для такого применения.

Таймер 0 лучше использовать в режиме CTC , тогда будет считать не до верха, а до значения установленного в специальном регистре. И само собой использовать прерывание.

Для изменения скорости надо будет менять значение регистра сравнения. Не хочу в ДШ лезть, чтобы название его точно сказать. Какой-нибудь OCR0.

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


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 14:35:31 
Первый раз сказал Мяу!

Карма: -9
Рейтинг сообщений: -2
Зарегистрирован: Вс янв 22, 2012 21:57:43
Сообщений: 37
Рейтинг сообщения: 0
Таймер 0 лучше использовать в режиме CTC , тогда будет считать не до верха, а до значения установленного в специальном регистре. И само собой использовать прерывание.


имхо - в меге восьмой в нулевом таймере нет стс.
зы. хотя да - там микроконтроллер не указан...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 14:49:36 
Друг Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1042
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 3944
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ох уж эти котятки... в один тапокну тему писать ни как не получается...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 15:16:30 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
Мега 8

Добавлено after 4 minutes 12 seconds:
Re: Оценить и осудить на сколько корректно написана часть кода
Тогда есть смысл меня задачи для таймеров , если в нулевом нет режима ctc ? Я так понял влиять на шаговик два прерывания не будут ??? а то всё-таки проверка нажатий кнопок + антидребезг это время .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 15:57:13 
Друг Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1042
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 3944
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
я както делал генератор с плавной перестройкой...
1) из скорости получал период (делением)
2) период загружал в переменную
3) пока переменная больше 512 таймер крутился с делителем 1 в режиме стс с регистром сравнения равным 0xFF,
с каждым оборотом переменная убавлялась на 256...
как только она становилась меньше 512, я её делил на 2 и загружал в регистр сравнения и 2 последних оборота таймер делал уже быстрее...
после этих оборотов выполнялось требуемое действие, в переменную снова загружался период и всё повторялось...
—————
так мне удалось получить генерацию в широких пределах и с точностью ±1 такт мк...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 17:19:50 
Первый раз сказал Мяу!

Зарегистрирован: Пн сен 30, 2019 18:51:19
Сообщений: 39
Рейтинг сообщения: 0
Хитро хитро


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Пн ноя 18, 2019 20:08:19 
Вымогатель припоя

Карма: 7
Рейтинг сообщений: 118
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 641
Рейтинг сообщения: 0
я както делал генератор с плавной перестройкой...

Не совсем догнал. Можно поподробнее? И пример. Код.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Оценить и осудить на сколько корректно написана часть ко
СообщениеДобавлено: Вт ноя 19, 2019 07:43:10 
Друг Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1042
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 3944
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
открыл проект, добавил комментариев...
принцип там тот-же, но алгоритм немного другой: чтобы не работать с длинными числами в прерываниях я сразу разделил период на 256 (получил число переполнений таймера - теперь надо не 256 отнимать от длинного числа, а 1 от более короткого) и взяв остаток от деления также заранее вычислил, насколько нужно укорачивать последние 2 оборота...
при тактовой частоте 2,4 МГц я получаю меандр от 0,1 Гц до 4,6 кГц
П.С. управление одной кнопкой...
простое удержание - снижение частоты
удержание после нажатия - увеличение частоты
3хкратное нажатие - сохранение текущей частоты в еепром


Вложения:
motalka13.zip [94.36 KiB]
Скачиваний: 72

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

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


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

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


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

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


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