Например TDA7294

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





Текущее время: Чт апр 18, 2024 08:07:02

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


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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 12:50:42 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
Ничего не пойму, Студия 6

программка как на АСМе, так и на Си. Не подключается подтяжка PB0, ни в Протеусе , ни в железе.:unknw:

Код:
  ldi r23, (0<<PUD)
  out MCUCR, r23
  ldi r21, (1<<PB0)
  out PORTB,r21
  ldi r22, (1<<DDB4)|(1<<DDB1)
  out DDRB,r22
 
  ;ldi   wreg, 0b00000001
  ;out   PORTB, wreg
  ;ldi   wreg, 0b00010010
  ;out   DDRB, wreg


Код:
int main(void)
{
PORTB = 0b00000001;   
DDRB = 0b00010010;

while (1)
  {
 //----------
  }
}
 

Вроде все делаю по даташиту :blink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 13:13:58 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 196
Откуда: Россия, Омск
Рейтинг сообщения: 0
По Ассемблерному коду:
In addition, the Pull-up Disable – PUD bit in MCUCR disables the pull-up function for all pins in all ports when set.
В дополнении, запрет подтяжки - бит PUD в регистре MCUCR запрещает ВСЕ функции подтяжки пинов вверх.

Таким образом, Ваш ассемблерный код заставит порт перейти в полное Z-состояние без подтяжки пинов вверх или вниз.

Код на Си должен работать, если не используете аналогичный бит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 13:20:47 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
По Ассемблерному коду:
бит PUD в регистре MCUCR запрещает ВСЕ функции подтяжки пинов вверх.

PUD в регистре MCUCR по умолчанию сброшен в ноль, это я так его написал, подстраховался.
Что есть эта строчка, что нет - подтяжки нет :dont_know:


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 13:34:43 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
Пока здесь
Код:
while (1)
  {
 //----------
  }
}

пусто протеус ничего не покажет.

Добавлено after 3 minutes 36 seconds:
(0<<PUD) в "с" так не работает, думаю в ASM тоже.

Добавлено after 3 minutes 55 seconds:
http://easyelectronics.ru/avr-uchebnyj- ... yvoda.html
"то слабый 100кОмный резистор не сможет удерживать напряжение на линии на уровне лог1 и на входе будет нуль."
В железе, чтобы не ловить наводок, нужен дополнительный резистор.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 14:18:16 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
Пока здесь

Всё не то... :facepalm:


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 15:34:05 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Контроллер то какой у Вас?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 15:43:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
ATtiny13a. Сейчас попробую с 4-ой Студией. Когда убираю цикл программы, подтяжка появляется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 15:46:34 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Явно тут стадия не при чем. Особенно после
wws63 писал(а):
Когда убираю цикл программы, подтяжка появляется.


Поставьте паузу в любой точке программы при сумлуяции , как протеусе, так и в студии и поглядите что лежит в PORTB. Почему пренебрегаете пошаговой отладкой?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 16:59:33 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
Поставьте паузу в любой точке программы при сумлуяции , как протеусе, так и в студии и поглядите что лежит в PORTB. Почему пренебрегаете пошаговой отладкой?

Вот скрин из 4-й Студии, 1-ка в PORTB0 есть. Но при симуляции и на PIN0 тоже должна быть 1-ка?


Вложения:
PB0.GIF [32.57 KiB]
Скачиваний: 404
Вернуться наверх
 
В сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 17:16:52 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 0
В студии поддтяжки отродясь не бывало.
Код:
  ldi r22, (1<<DDB4)|(1<<DDB1)|1<<DDB0
  out DDRB,r22
   SBI   PORTB,0
   CBI   DDRB,0


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Сб ноя 18, 2017 18:47:12 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Код:
int main(void)
{
PORTB = 0b00000001;   
DDRB = 0b00010010;

while (1)
  {
 //----------
  }
}


Это Ваш полный проект и нет подтяжки в протеусе? Не верю.
Вы говорили что что-то удаляли из цикла, и все заработало. Что там было удалено?

Добавлено after 4 minutes 50 seconds:
Каким образом было определено отсутствие подтяжки?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Вс ноя 19, 2017 06:48:53 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
Итак, ниже полный вариант в АСМе. Сначала с ним. Подтяжки нет в "железе" и Протеусе
В Протеусе на входе кнопки, неопределённое состояние, но при симуляции отрабатывается правильно, как будто подтяжка есть.
В железе подтяжки нет, программка начинает работать так, как будто кнопка нажата.
Код:
//мк ATtiny13a 9,6MHz
.include   "tn13adef.inc"
.list
.def T1    = R16
.def wreg  = R17
.def T     = R18
.equ  KEY = 0      ;
/************************************************************/
;.dseg

;.cseg
;----------

//.org 0
//rjmp RESET
;.org 3
;rjmp TIMER0_OVF
;----

;TIMER_OVF
;--
;reti
;--------
//RESET:
;----------
                   ; инициализация
; ----------
  ;ldi r23, (0<<PUD)
  ;out MCUCR, r23
  ;ldi r21, (1<<PB0)
  ;out PORTB,r21
  ;ldi r22, (1<<DDB4)|(1<<DDB1)
  ;out DDRB,r22

  ldi   wreg, 0b00000001
  out   PORTB, wreg
  ldi   wreg, 0b00010010
  out   DDRB, wreg

 
  ;---------- инициализация стека----------------
  ;ldi  wreg, high (RAMEND)
  ;out  sph, wreg
  ;ldi  wreg, low (RAMEND)
  ;out  spl, wreg
;----------
                  ; инициализация АЦП
;----------
  ;cli       ; запретить прерывания

  ldi   wreg, 0b10000110;0b10000011  ; Вкл. Ацп, Однокр. преобр., Прерывание запрещено, СК/8 (125 kHz)
  out   ADCSRA, wreg
  ldi   wreg,0b00000011 ;AVcc, пр.выравн, ADC Channel 3 
  out   ADMUX, wreg
;----------
  rcall adc_convert
  mov T1, wreg
  mov T, T1
Cycle:
  sbic PINB, KEY
  rjmp    m
  rcall  imp_4
  rcall  imp_4
  rcall  imp_4
  rcall  imp_1
  rcall  imp_1
  rcall  imp_1 
  rjmp   Cycle
m:
  ldi    wreg, 0b00010010
  out    PORTB, wreg
  rjmp   Cycle   
;*********************DELAY_1****************************
delay_1:
    ldi  r19, 30
    ldi  r20, 30
L1: dec  r20
    brne L1
    dec  r19
    brne L1
    ret
;********************** AD CONVERTION *******************

adc_convert:
  sbi   ADCSRA, ADSC    ; Start Convertion
  sbic  ADCSRA, ADSC
  rjmp  PC-1
  in    wreg, ADCL    ; просто формальность (первым всегда читается ADCL)
  ;in    wreg, ADCH    ; wreg contains result
  ret
;********************************************
imp_1:
  ldi   wreg, 0b00000010
  out   PORTB, wreg
  rcall delay_1
  dec T
  brne PC-2
  mov T, T1
  ldi   wreg, 0b00000000
  out   PORTB, wreg
  rcall delay_1
  dec T
  brne PC-2
  mov T, T1
  ret
  ;******************************************
  imp_4:
  ldi   wreg, 0b00010000
  out   PORTB, wreg
  rcall delay_1
  dec T
  brne PC-2
  mov T, T1
  ldi   wreg, 0b00000000
  out   PORTB, wreg
  rcall delay_1
  dec T
  brne PC-2
  mov T, T1
  ret
;******************************************



Вернуться наверх
 
В сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Вс ноя 19, 2017 07:45:56 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 1
Поменяйте здесь и далее при установке PORTB,0
Код:
  rjmp   Cycle
m:
  ldi    wreg, 0b00010011
;  ldi    wreg, 0b00010010
  out    PORTB, wreg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: подтяжка линии порта
СообщениеДобавлено: Вс ноя 19, 2017 08:23:17 
Сверлит текстолит когтями
Аватар пользователя

Карма: 12
Рейтинг сообщений: 54
Зарегистрирован: Вс май 21, 2006 16:07:59
Сообщений: 1201
Откуда: Алтай
Рейтинг сообщения: 0
ОК, спасибо, ошибку в цикле сделал, поменял и все запустилось.
Как все запутано в АВР-ках. В ПИК-ах все просто до безобразия.
Получается, что если установлена подтяжка на одной линии, то при выводе любого значения в порт надо на этой линии в конце цикла выставлять единичку :facepalm:

Добавлено after 4 minutes 49 seconds:
Это Ваш полный проект и нет подтяжки в протеусе? Не верю.

Нет, конечно, сейчас проект на Си выложу, там хуже. Есть ещё проблема с переполнением памяти. :dont_know:


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

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


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

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


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

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


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