Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Глюк контроллера или компилятора?

Непрочитано 27.05.2011, 14:46  
кустомер
Почётный гражданин KAZUS.RUN
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
кустомер на пути к лучшему
Вопрос Глюк контроллера или компилятора?

PIC16F870

Столкнулся с необъяснимым явлением:
При установке любого из битов порта A в "1" (TRISA=0), бит 4 сбрасывается в ноль.

Вот прошивка, которая зашивалась в контроллер:

:100000000128831685018312103085008516630050
:020010000728BF
:02400E00753FFC
:00000001FF

После запуска бит 4 должен быть 1, а он очень быстро становится 0.
То же самое происходит, если на порту A задать поразрядное OR на любом другом бите.

Кто нибудь сталкивался с таким?

ЗЫ:
плиз не надо вспоминать, что бит 4 имеет открытый коллектор.
Не может хе он из-за этого соединиться с другими разрядами, да еще инверсно.
Не должен,- по крайней мере.
Реклама:
кустомер вне форума  
Непрочитано 27.05.2011, 15:11  
vsky
Вид на жительство
 
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
vsky на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

компараторы/АЦП выключены?
vsky вне форума  
Непрочитано 27.05.2011, 15:18  
кустомер
Почётный гражданин KAZUS.RUN
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

ADCON1 = 7 ?
В данной прошивке (в целях минимизации кода) - нет.
Но в процессе проверок ставил такую команду - ни на что не повлияла. (Она режим входов задает, а не выходов.)
кустомер вне форума  
Непрочитано 27.05.2011, 15:25  
vsky
Вид на жительство
 
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
vsky на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

глюк не в контроллере и не в компиляторе.
vsky вне форума  
Непрочитано 27.05.2011, 15:36  
кустомер
Почётный гражданин KAZUS.RUN
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

А где? И что нужно сделать, чтобы исправить?
кустомер вне форума  
Непрочитано 27.05.2011, 15:53  
vsky
Вид на жительство
 
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
vsky на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

посмотрите это
Миниатюры:
Нажмите на изображение для увеличения
Название: porta.jpg
Просмотров: 61
Размер:	31.7 Кб
ID:	22083  
vsky вне форума  
Непрочитано 27.05.2011, 16:10  
кустомер
Почётный гражданин KAZUS.RUN
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

"это" в приведенной мною прошивке есть.
кустомер вне форума  
Непрочитано 27.05.2011, 16:34  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

RMW
чтение - модификация - запись.
Используйте другой регистр, в котором меняйте разряды, а уже его - весь выводите в порт.
__________________
warez
urry вне форума  
Непрочитано 27.05.2011, 16:43  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

Вопрос в том, есть ли внешний подтягивающий резистор на 4 бите ? Если нет, то так и дожно быть. При установке, например, бита 3:
- проц сначала читает весь порт, в том числе и четвёртый бит, который равен нулю при отсутствии резистора,
- потом проц устанавливает бит 3 внутри себя
- и наконец, записывает результат обратно в порт, при этом пишет уже нолик в бит 4, изменяя ранее установленную единичку на ноль
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
кустомер (27.05.2011)
Непрочитано 27.05.2011, 17:09  
кустомер
Почётный гражданин KAZUS.RUN
 
Аватар для кустомер
 
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
кустомер на пути к лучшему
По умолчанию Re: Глюк контроллера или компилятора?

Сообщение от urry Посмотреть сообщение
Используйте другой регистр, в котором меняйте разряды, а уже его - весь выводите в порт.
Да - вот так работает (это я уже обнаружил раньше).
Но тему создал, чтобы разобраться - каким образом оказались связанными разряды?
Сообщение от Yurkin2007 Посмотреть сообщение
Вопрос в том, есть ли внешний подтягивающий резистор на 4 бите ? Если нет, то так и дожно быть. При установке, например, бита 3:
- проц сначала читает весь порт, в том числе и четвёртый бит, который равен нулю при отсутствии резистора,
- потом проц устанавливает бит 3 внутри себя
- и наконец, записывает результат обратно в порт, при этом пишет уже нолик в бит 4, изменяя ранее установленную единичку на ноль
Да. Вы по-видимому абсолютно правы!
Резистор есть, но он нагружен на светодиод (вход оптрона). Так что "единица" на выходе - около вольта. (Так сделано, чтобы при коммутации общий потребляемый ток не изменялся сильно. Ради этого и был выбран выход с ОК).
Отключил оптрон - глюк пропал.

Спасибо за разъяснения, тему можно считать завершенной
кустомер вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Водка и как с ней бороться SerjT Отвлекитесь, эмбеддеры! 108 29.09.2009 21:25
Дорога... vo1 Отвлекитесь, эмбеддеры! 41 28.03.2009 09:42
[Решено] Usb->Isa или Lpt->Isa или Pci->Isa ?????? Ggorsh Ремонт оргтехники 6 14.12.2003 00:57
Кто виноват - MPLAB, программатор или прокладка? Paragon Микроконтроллеры, АЦП, память и т.д 1 28.09.2003 12:18


Часовой пояс GMT +4, время: 16:00.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.