Например TDA7294

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

Текущее время: Сб окт 25, 2025 01:40:31

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


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



Начать новую тему Ответить на тему  [ Сообщений: 6053 ]     ... , , , 263, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 16, 2016 12:24:07 
Друг Кота
Аватар пользователя

Карма: 40
Рейтинг сообщений: 608
Зарегистрирован: Вс янв 24, 2010 13:14:02
Сообщений: 4688
Откуда: Омск
Рейтинг сообщения: 0
Пришлось лезть в файл attiny13.dat(самому слабО?). В векторах прерываний описан вообще только INT0.
Дальше даташит + attiny13.dat. Можно самому.


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

Зарегистрирован: Сб ноя 19, 2011 20:13:47
Сообщений: 151
Откуда: Тамбов
Рейтинг сообщения: 0
Да, я тоже залез туда. Там INT0 и PCINT0.
даташит+дат = вы имеете в виду самому добавить ещё один вектор?

Upd: Хотя судя по даташиту, вектора прерывания кроме PCINT0 и нет. Т.е. срабатывает при любом PCINTx, а я там уж типа сам должон выявить оно или нет...
Upd2: Но в случае если нужно одно прерывание, то можно PCMSK и всё...
Спасибо за пинок в нужном направлении :)

_________________
Демократии нет и не будет!
Государство - это я!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 16, 2016 13:49:53 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Есть прерывание группы выводов PCINT5...PCINT0. И при изменении уровня на любом разрешенном выводе (в регистре PCMSK можно настроить, на какие выводы реагировать), возникает одно прерывание PCINT0. А там уже по маске запросто можно вычислить, кто виновен. Это довольно удобно, на самом деле.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб дек 17, 2016 19:56:51 
Электрический кот

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1048
Откуда: Украина
Рейтинг сообщения: 0
Поделитесь пожалуйста библиотекой Rainbow.lib
Если есть разные версии, то по возможности..

Добавлено after 1 hour 37 minutes 17 seconds:
Короче, попробовал зарегиться на сайте с предыдущей страницы, но там кроме того бабки надо. Это не наш вариант.
если кому надо. Светодиоды WS2812B, проверил с 10 штуками. Если больше то тайминги не уползают, должно работать.
Мне надо было включить только один пиксел из массива. Потом будет возможность проверить с 1000 светиками.
Если будете пользовать этот код, то кварц следует брать только на 16 мгц, с кварцом 12 мгц еще можно заставить работать, меньше - нет. Но надо тайминги подбирать.
Я подбирал с логическим анализатором.
Записывается значение так:
Call Write_color(R , G , B , Pixel_num)


Спойлер$regfile = "m328pdef.dat"
$crystal = 16000000


Declare Sub Write_color(byval Green As Byte , Byval Red As Byte , Byval Blue As Byte , Byval Led_num As Word )


Config Portb.3 = Output 'Config output for pixel data
Const Pixels = 10 'total number of pixels


Dim Nn As Byte

Do
Waitms 100
'-----Pixel number(Max-65325)---|
'-----Blue chanel-----------| |(Max-255)
'-----Red chanel-------| | |(Max-255)
'---Green chanel--| | | |(Max-255)
Call Write_color(0 , 255 , 0 , Nn)


Incr Nn
If Nn > Pixels Then : Nn = 1 : End If
Loop





Sub Write_color(byval Green As Byte , Byval Red As Byte , Byval Blue As Byte , Byval Led_num As Word )
Local Pix_num As Word
For Pix_num = 1 To Pixels
If Pix_num = Led_num Then

If Green.7 = 0 Then Rcall Zero Else Rcall One
If Green.6 = 0 Then Rcall Zero Else Rcall One
If Green.5 = 0 Then Rcall Zero Else Rcall One
If Green.4 = 0 Then Rcall Zero Else Rcall One
If Green.3 = 0 Then Rcall Zero Else Rcall One
If Green.2 = 0 Then Rcall Zero Else Rcall One
If Green.1 = 0 Then Rcall Zero Else Rcall One
If Green.0 = 0 Then Rcall Zero Else Rcall One

If Red.7 = 0 Then Rcall Zero Else Rcall One
If Red.6 = 0 Then Rcall Zero Else Rcall One
If Red.5 = 0 Then Rcall Zero Else Rcall One
If Red.4 = 0 Then Rcall Zero Else Rcall One
If Red.3 = 0 Then Rcall Zero Else Rcall One
If Red.2 = 0 Then Rcall Zero Else Rcall One
If Red.1 = 0 Then Rcall Zero Else Rcall One
If Red.0 = 0 Then Rcall Zero Else Rcall One

If Blue.7 = 0 Then Rcall Zero Else Rcall One
If Blue.6 = 0 Then Rcall Zero Else Rcall One
If Blue.5 = 0 Then Rcall Zero Else Rcall One
If Blue.4 = 0 Then Rcall Zero Else Rcall One
If Blue.3 = 0 Then Rcall Zero Else Rcall One
If Blue.2 = 0 Then Rcall Zero Else Rcall One
If Blue.1 = 0 Then Rcall Zero Else Rcall One
If Blue.0 = 0 Then Rcall Zero Else Rcall One
Else
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
Rcall Zero
End If
Next
End Sub



End

Zero:
sbi PORTb,3
Nop
nop
nop
nop
cbi PORTb,3
Ret

One:
sbi portb,3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cbi portb,3
Ret


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 18, 2016 07:50:43 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 44
Зарегистрирован: Ср дек 10, 2008 21:24:28
Сообщений: 497
Откуда: Алтайский край, Барнаул
Рейтинг сообщения: 0
vanyap1 писал(а):
Поделитесь пожалуйста библиотекой Rainbow.lib

Поиском не пробовали пользоваться?
viewtopic.php?p=2721085#p2721085
viewtopic.php?p=2721270#p2721270
viewtopic.php?p=2922234#p2922234
viewtopic.php?p=2922709#p2922709

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 18, 2016 13:41:15 
Электрический кот

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1048
Откуда: Украина
Рейтинг сообщения: 0
Спасибо, но уже не надо.
Вот как мне получилось-
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн дек 19, 2016 11:44:45 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб ноя 19, 2011 20:13:47
Сообщений: 151
Откуда: Тамбов
Рейтинг сообщения: 0
Прерывания это было интересно, но проблема нарисовалась в другом:
Спойлер
Код:
$regfile = "attiny13a.dat"
$crystal = 9600000
$hwstack = 8
$swstack = 16
$framesize = 16

Dim S1 As Byte
S1 = 0

Config Portb.2 = Output
Config Portb.1 = Output
Portb.2 = 1
Portb.1 = 1

Config Pinb.3 = Input

Do
   Wait 10
   If Pinb.3 = 0 Then
      Incr S1
   End If
   If S1 = 0 Then
      Portb.2 = 1
      Portb.3 = 1
   End If
   If S1 = 1 Then
      Portb.2 = 1
      Portb.3 = 0
   End If
   If S1 = 2 Then
      Portb.2 = 0
      Portb.3 = 1
   End If
   If S1 = 3 Then
      S1 = 0
   End If

Loop


На ногах B1 B2 - p-канальные ключи, за которыми светодиоды. При включении оба светодиода часто моргают (примерно в районе 3 герц) и на кнопку не реагируют. Проблема в коде?

_________________
Демократии нет и не будет!
Государство - это я!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 20, 2016 00:15:02 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 266
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Сообщений: 2040
Откуда: Москва
Рейтинг сообщения: 0
Резистор к плюсу от Portb. есть? Если его нет, запаяйте или поставьте после Config Pinb.3 = Input
Set Portb.3
Это включит внутренний подтягивающий резистор. Кнопка проверяется 1 раз в 10 секунд, это так задумано?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 20, 2016 05:54:44 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб ноя 19, 2011 20:13:47
Сообщений: 151
Откуда: Тамбов
Рейтинг сообщения: 0
Резистор 7кОм есть. 1 в 10... Разве это не 10мс? Пусть так будет задумано :) В любом случае моргания-то есть...

_________________
Демократии нет и не будет!
Государство - это я!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 20, 2016 06:09:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
xorkrus писал(а):
Разве это не 10мс?


Код:
Waitms 10

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 20, 2016 08:38:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 266
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Сообщений: 2040
Откуда: Москва
Рейтинг сообщения: 0
Какой смысл конфигурить входной регистр на вход? он и так вход.
Config Pinb.3 = Input

нужно писать Config Portb.3 = Input
p.s. в верхнем сообщении пропустил этот косяк с pin = input. :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн дек 26, 2016 18:26:24 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт май 17, 2007 09:44:13
Сообщений: 268
Откуда: Украина, г. Кривой Рог
Рейтинг сообщения: 0
Доброго времени.
Тираню UART. С программами разобрался, заработало как и ожидалось.
Возник вопрос технического воплощения.
Сейчас линия связи это просто 3-х метровый 4-х жильный телефонный провод подключенный непосредственно на ноги МК рх-тх. Правильно ли это? Или нужна какая-то буферная схема?
Питание общее. В проекте предполагается линия связи около 10 метров.
Еще заметил, что при отключении линии связи на принимающей стороне прерывание UART на прием срабатывает постоянно... Правильно ли это? Как можно проверить наличие линии, и если обнаружится обрыв линии, то запретить прерывание?
Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн дек 26, 2016 18:36:30 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 810
Зарегистрирован: Ср апр 06, 2011 09:58:13
Сообщений: 13253
Откуда: Кузбасс
Рейтинг сообщения: 0
Цитата:
при отключении линии связи на принимающей стороне прерывание UART на прием срабатывает постоянно...

Да так и должно быть. Это конструктивная особенность порта - он таким образом целостность линии связи проверяет. Тут программно нужно обработать - обрыв линии воспринимается как стартовый бит. Если он не меняется - значит обрыв


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн дек 26, 2016 22:43:26 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4587
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Bear2011, извини конечно, но ты написал бред.
Любая уважающая себя фирма, не сделает такой ляп в модуле UART своего продукта. Старт бит определяется по фронту, а если "что-то пойдёт не так", модуль должен вывалиться в ошибку, с дальнейшим запретом прерывания и установкой флага ошибки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 04:06:27 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 810
Зарегистрирован: Ср апр 06, 2011 09:58:13
Сообщений: 13253
Откуда: Кузбасс
Рейтинг сообщения: 0
Аlex

Для начала посмотри на диаграмму протокола RS-232
Изображение

Так что я все правильно написал. Человек явно не заморачивался с преобразователем уровня

Цитата:
если "что-то пойдёт не так", модуль должен вывалиться в ошибку, с дальнейшим запретом прерывания и установкой флага ошибки.

Модуль я уверен и выдает ошибку. А вот как обрабатывается эта ошибка вопрос к тому кто программу писал


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 09:31:55 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4587
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Причём тут диаграммы, преобразователи, обработка ошибок, ... ? Ты о чём ? :facepalm:
Речь шла о постоянных вызовах прерывания. И твоё мнение, что "так и должно быть, так устроен модуль" - ошибочное, вводящее людей в заблуждение.
Ещё раз повторю - это не так ! Не будет модуль, при постоянном нуле не линии, детектировать его как чередующие старт биты. Модуль, вероятнее всего, вылетит в ошибку и поднимет флаг.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 10:09:07 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
pavel123 писал(а):
линия связи это просто 3-х метровый 4-х жильный телефонный провод подключенный непосредственно на ноги МК рх-тх. Правильно ли это? Или нужна какая-то буферная схема?
Питание общее. В проекте предполагается линия связи около 10 метров.

Нет, не правильно. MAX232, ADUM485 и т.д.

pavel123 писал(а):
при отключении линии связи на принимающей стороне прерывание UART на прием срабатывает постоянно... Правильно ли это? Как можно проверить наличие линии, и если обнаружится обрыв линии, то запретить прерывание?

Нет, не правильно. Как минимум подтянуть вход к устойчивому уровню, лучше поставить преобразователь уровней(см. выше).
Определять соединение лучше на уровне протокола. Если устройство долго не отвечает, выключаем связь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 10:25:40 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 810
Зарегистрирован: Ср апр 06, 2011 09:58:13
Сообщений: 13253
Откуда: Кузбасс
Рейтинг сообщения: 0
Цитата:
Не будет модуль, при постоянном нуле не линии, детектировать его как чередующие старт биты. Модуль, вероятнее всего, вылетит в ошибку и поднимет флаг.

Все верно. Вот только флаг ошибки нужно еще обработать. А если обработки нет то опять будет детектировать как стартовый бит.
Цитата:
Речь шла о постоянных вызовах прерывания. И твоё мнение, что "так и должно быть, так устроен модуль" - ошибочное, вводящее людей в заблуждение.

Это ты видимо недопонял. UART воспринял обрыв линии как стартовый бит - вызвал прерывание. При обработке прерывания возникла ошибка. А вот обработка этой ошибки НЕ АППАРАТНАЯ а софтовая. И есть ли вообще эта обработка?
Судя вот по этому
Цитата:
Как можно проверить наличие линии, и если обнаружится обрыв линии, то запретить прерывание?

Обработки ошибки НЕТ Поэтому и бесконечно вызываться прерывание.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 10:31:19 
Друг Кота

Карма: 64
Рейтинг сообщений: 1015
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4358
Откуда: Ижевск
Рейтинг сообщения: 0
uk8amk А что такое ADUM485?
pavel123 писал(а):
Тираню UART.

pavel123 писал(а):
Сейчас линия связи это просто 3-х метровый 4-х жильный телефонный провод подключенный непосредственно на ноги МК рх-тх. Правильно ли это? Или нужна какая-то буферная схема?
Да, нужны шинные формирователи, что-то типа 2 шт. ADM485. Одна на передачу, другая на приём, причем на каждой плате.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 27, 2016 11:08:45 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт май 17, 2007 09:44:13
Сообщений: 268
Откуда: Украина, г. Кривой Рог
Рейтинг сообщения: 0
Благодарю за помощь. :)


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

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


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

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


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

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


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