Например TDA7294

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





Текущее время: Сб апр 27, 2024 18:28:02

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


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



Начать новую тему Ответить на тему  [ Сообщений: 24 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: PIC16F57 проблемы с программированием.
СообщениеДобавлено: Чт фев 22, 2024 05:23:13 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт июн 08, 2017 17:52:33
Сообщений: 39
Рейтинг сообщения: 0
тут тоже какие то подводные камни есть ?

Подводные камни есть при побитной записи в порт. Ибо это процедура RMW, которая из-за отсутствия входной защелки порта способна перезаписать входные состояния пинов в выходную защелку по всем разрядам порта кроме явно устанавливаемого.
Чтение особых проблем не имеет, хотя гораздо корректнее НА ЛЮБОМ контроллере для атомарности чтения сначала защелкнуть порт в переменную, а лишь затем производить какие либо if-ы, switch-и и другие действия. Даже если вы пишите на АСМе и понимаете реальный исполняемый код.

А можно это как то в коде показать? как я понял -сначала записать туда 1 например а потом смотреть есть ли она там?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F57 проблемы с программированием.
СообщениеДобавлено: Чт фев 22, 2024 08:13:42 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21856
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
как я понял -сначала записать туда 1


Код:
   bufPort=PORTB;
   if(bufPort&<mask>) ... blah-blah-blah;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F57 проблемы с программированием.
СообщениеДобавлено: Пт фев 23, 2024 05:35:33 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт июн 08, 2017 17:52:33
Сообщений: 39
Рейтинг сообщения: 0
как я понял -сначала записать туда 1


Код:
   bufPort=PORTB;
   if(bufPort&<mask>) ... blah-blah-blah;


Да, так все запустилось. Теперь еще вопрос с прерываниями по таймеру Timer0

вот такая конструкция :

void __interrupt() Timer0_interrupt() {
// if (TMR0IF) {


читаю документацию - в данном контроллере вообще нет прерываний и векторов соответственно? Я так понял при включении таймена с заданным шагом начинает увеличиваться TMR0 и его надо программно отслеживать ? нет флага о его переполнении ?

// Сброс флага прерывания
// TMR0IF = 0;
// }
}


не работает - пишет что не поддерживается данным девайсом . Как можно попасть в вектор прерывания таймера?

и где сам регистр настройки самого таймера -прескайлер, источник тактирования..


на 870 дела так все работало , а здесь нет

void interruptInit() {
T0CS = 0;
PSA = 0;
PS1 = 0;
PS0 = 1;
TMR0IE = 1;

}


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: PIC16F57 проблемы с программированием.
СообщениеДобавлено: Пт фев 23, 2024 07:35:49 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21856
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Странный вы...
Читаете, что в этом МК нет прерываний и задаете вопрос где вектор прерываний...
Причем тут 870-ый?
У Микрочипа есть так называемое базовое семество МК. В них 12 битная шина инструкций, отсутствуют прерывания , нет прямого доступа к TRIS и стартовый вектор находится на последем адресе флеша.
Это простейшие МК, которым лет 30 от роду. Микрочип вообще почти ничего не снимает с производства.

Таймер или его флаг в регистре INTCON просто опрашивается либо в общем программном цикле, либо в локальном while.
Источник его тактирования - осциллятор МК. Прескалер делится между ним и вачдогом. Настройка в OPTION_REG. Кстати, доступ в этот регистр тоже односторонний через инструкцию option , а значит не надо пытаться его читать. В него можно только писать.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

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

Часовой пояс: 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