Easyelectronics.ru

Электроника для всех
Текущее время: 16 авг 2022, 03:45

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




Начать новую тему Ответить на тему  [ Сообщений: 537 ]  На страницу Пред.  1 ... 18, 19, 20, 21, 22
Автор Сообщение
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 окт 2021, 17:13 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5537
Если на slave читаю данные и у меня буфер переполнен я могу выдать STOP?
ну или есть ли вариант как сообщить мастеру что передача не возможна?
I2C


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 окт 2021, 17:54 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2010, 16:57
Сообщения: 2253
Откуда: Нальчик
axill писал(а):
Если на slave читаю данные и у меня буфер переполнен я могу выдать STOP?
ну или есть ли вариант как сообщить мастеру что передача не возможна?
I2C

В режиме слэйва не использовал, но насколько помнится - в нужный момент слэйв должен не отпускать линию данных до тех пор пока не будет готов продолжить прием, в какой именно момент это нужно делать точно не помню, возможно что аппаратный STOP именно это и делает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 окт 2021, 17:54 
Старожил
Аватара пользователя

Зарегистрирован: 11 фев 2021, 21:02
Сообщения: 1174
Протоколом определено, что в случае занятости слейва, слейв может выдать сигнал Clock Stretching, либо передать бит NACK. В первом случае мастер обмен не прекратит, но будет ожидать готовности слейва. А во втором случае мастер, получив NACK, сгенерирует сигнал Stop и завершит обмен. Первый случай предпочтителен, поскольку мастер точно знает, когда освобождается слейв. Однако, линия в это время занята, что снижает её пропускную способность.

_________________
СМЕРТЬ БАЙДЕНУ!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 окт 2021, 17:58 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5537
Lambo писал(а):
Протоколом определено, что в случае занятости слейва, слейв может выдать сигнал Clock Stretching, либо передать бит NACK. В первом случае мастер обмен не прекратит, но будет ожидать готовности слейва. А во втором случае мастер, получив NACK, сгенерирует сигнал Stop и завершит обмен. Первый случай предпочтителен, поскольку мастер точно знает, когда освобождается слейв. Однако, линия в это время занята, что снижает её пропускную способность.

как NASK сгенерить? читаю RM0016 не вижу такого

еще не пойму как работает BTF в SR1
если я правильно понял он выставляется если вовремя не обработать RXNE или TXE
факт его установки надо как то отдельно обрабатывать или достаточно решить что нужно с DR?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 окт 2021, 18:05 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5537
еще вопрос - как слайв должен сгенерить NASK после последнего переданного байта на передаче?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 10 окт 2021, 23:19 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5537
отлаживаю I2C сценарий slave transmission
после start на стороне мастера получаю прерывание с одновременно установленными флагами ADDR и TXE
при чтении SR1 сбрасывается ADDR
а вот при записи DR почему то не сбрасывается TXE
что не так делаю?
RM0016 прочитал внимательно
после записи DR должен сбрасываться


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 11 окт 2021, 00:03 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2010, 16:57
Сообщения: 2253
Откуда: Нальчик
axill писал(а):
почему то не сбрасывается TXE
Может в этом дело...


Вложения:
Screenshot_2.jpg
Screenshot_2.jpg [ 185.99 Кб | Просмотров: 643 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 11 окт 2021, 00:22 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5537
видел это но так и не понял как это использовать
не может быть сброшен записью первого байты
прекрасно, а как тогда его сбросить на первом байте?

BTF на втором прерывании возникает, но это скорее всего из за отладки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 авг 2022, 10:14 
Только пришел

Зарегистрирован: 07 июл 2020, 11:37
Сообщения: 17
Eddy_Em писал(а):
Собираю при помощи sdcc, заливаю через китайский st-link. Все работает.


Привет.
Хочу попробовать написать мелкую прогу для китайского МК - HR7P275, на компиляторе sdcc.
Судя по всему это аналог STM8, хотя с этим stm8 тоже дел не имел.
Раньше пользовался sdcc, помнится было сложно прописать все настройки, особенно если для незнакомого МК.
ST-link от discovery-stm8 есть в наличии.
Может быть где то выложены настройки для stm8 компилятора sdcc?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 авг 2022, 10:25 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5601
Откуда: КЧР, поселок Нижний Архыз
У меня на гитхабе много чего лежит, смотри Makefile


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 авг 2022, 10:57 
Только пришел

Зарегистрирован: 07 июл 2020, 11:37
Сообщения: 17
Eddy_Em писал(а):
У меня на гитхабе много чего лежит, смотри Makefile


ОК. Использую IDE Code::Blocks, там все настройки хранятся sdcc.
Вот, например, на картинке для адука.
Я об этих настройках писал.


Вложения:
pict2.jpg
pict2.jpg [ 232.99 Кб | Просмотров: 104 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8 Самое начало
СообщениеДобавлено: 09 авг 2022, 12:05 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5601
Откуда: КЧР, поселок Нижний Архыз
Я мышку дрочить не имею привычки. Напиши нормальный Makefile, не скатывайся в ардуинщики!
Вот же: все четко и понятно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 537 ]  На страницу Пред.  1 ... 18, 19, 20, 21, 22


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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB