STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение prinv »

Вроде взрослые люди, а развели х...ню на несколько страниц.
Никакая контра не уйдёт от нас
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Приятно, наверное, самовозвыситься над схваткой? Мы, хотя бы, обсуждали врет мануал или нет. А вы чем ветку обогатить решили ? Своим "фи" ? Буду благодарен модераторам, если это мое сообщение удалят вместе с сообщением предыдущего оратора.
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Аlex »

a5021 писал(а):Никакой трагедии в том, что в мануал закралась ошибка, а то и не одна, нет.
Ага, оно и видно :
Документация у стм-ов местами просто "Ад и Израиль".
Пишут какую-то дикую херню
Дебилы вы сраные
из-за вас только время лишнее потерял.


Или Вы написали первый пост этой всей дискуссии ради того, чтобы всем показать как Вы ох..нно разбираетесь в тех. Англицком и запросто можете передёрнуть производителей ? А заодно и поспорить тут со всеми подряд ? Проще говоря - вые...уться.
Дак напишите это производителю. Зачем тут слюнями брызгать, доказывая всем нам, тупым, что мы не правы ?
:facepalm:
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="Аlex",url="/forum/viewtopic.php?p=3504857#p3504857"]Или Вы написали первый пост этой всей дискуссии ради того, чтобы всем показать как Вы ох..нно разбираетесь в тех. Англицком и запросто можете передёрнуть производителей ?[/uquote]
Первый пост я написал для того, чтобы указать на ошибку в референсе и способ ее исправления. Делалось это с целью уберечь всех, кто может с этим впервые столкнуться, от лишней траты сил и времени. Если вам показалось, что причина иная, вы ошиблись.
А заодно и поспорить тут со всеми подряд ? Проще говоря - вые...уться.
Желание отстаивать свое мнение называется "вые...уться"? Мне всегда казалось, что это называется по-другому.
Зачем тут слюнями брызгать, доказывая всем нам, тупым, что мы не правы ?
Затрудняюсь определить, кто такие "все вы", но ни персонально вам, ни каким-то обезличенным "тупым" я ничего здесь не доказывал. По каждому ошибочному, на мой взгляд, суждению я давал индивидуальный комментарий, указывающий на конкретную неточность в рассуждениях своего оппонента. Адресно и персонально. Воздержитесь от желания приписывать мне то, чего не было.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Аlex »

a5021 писал(а):Затрудняюсь определить, кто такие "все вы"
Это все, кто пытался хоть как то возразить Вашему единственному и правильному мнению.
a5021 писал(а):ни каким-то обезличенным "тупым" я ничего здесь не доказывал
Ну да, ну да... Перечитайте ещё раз свои посты повнимательнее. Адресно и персонально каждому возразившему Вы указывали на его безграмотность, доказывая, что только Вы умеете верно трактовать написанное в мануалах.
Ну а потом затронули и всех кучей :
a5021 писал(а):сколько человек оказались готовы врать, сочинять и нести пургу без всяких внешних побуждений, по одному только внутреннему позыву.
Так что, совет по поводу "не нравится - не пользуйся" был (по моему мнению, конечно же) в точку.
Есть претензии к документации - пишите авторам этих документов. Может быть получится и перед ними блеснуть умом и назвать их тупыми идиотами на ответ о том, что Вы неверно поняли написанное в этих документах :))
Воздержитесь от желания приписывать мне то, чего не было.
Я Вам припишу другое - умение выдирать предложение из текста и трактовать его по-своему. Вы не заметили, что перед этим был вопрос, и всё остальное - одна лишь ветка ветвления, при одном варианте ответа на этот вопрос ?
Собственно, как и с мануалом. Вам всего-лишь пытались дать понять, что переведённая Вами фраза "В режиме семибитной адресации, чтобы войти в режим передатчика, ведущий шлет адрес ведомого со сброшенным младшим битом" ничего не говорит о местонахождения бита. А Вы всех выставили глупыми идиотами, не разделяющими Вашего мнения об этой фразе.
Если Вы так превосходно владеете инглишем, как нам представляете это, переведите весь параграф. Тогда и будет конструктивный разговор.
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="Аlex",url="/forum/viewtopic.php?p=3504930#p3504930"]Адресно и персонально каждому возразившему Вы указывали на его безграмотность,[/uquote]
Точно. Насколько я в курсе, это не преступно и не запрещено правилами форума. Имею, стало быть, право.
доказывая, что только Вы умеете верно трактовать написанное в мануалах.

Мануал -- это не Талмуд -- там не требуется ничего толковать. Достаточно прочесть и понять прочитанное. Как раз с этим возникли основные сложности, а не с тем, о чем вы тут говорите.
Так что, совет по поводу "не нравится - не пользуйся" был (по моему мнению, конечно же) в точку.

Я по поводу "ценности" таких советов уже высказался. Не просите повторять.
Есть претензии к документации - пишите авторам этих документов.
Смотрите, я самолично налетел на косяк в документации. Описал это событие здесь и рассказал вкратце, как избежать подобной ситуации. Объясните, почему я должен внимать вашим указаниям и писать кому-то, а так же зачем вы уже после завершения всех брожений пытаетесь придать бурлению новый импульс?
Если Вы так превосходно владеете инглишем, как нам представляете это, переведите весь параграф.

Мож весь мануал, а то вдруг самая важная правда скрывается совсем в другом месте? Если вы считаете иначе, вы и переводите то место, которое доказывает вашу правоту. Я таких мест в тексте всей главы не вижу.
"В режиме семибитной адресации, чтобы войти в режим передатчика, ведущий шлет адрес ведомого со сброшенным младшим битом" ничего не говорит о местонахождения бита.
Ой, мама! "Адрес со брошенным младшим битом". Совсем ничего не говорит? Когда мы читаем "Адрес со сброшенным битом", то конечно сразу же приходит на ум адрес отдельно, а сброшенный бит отдельно. Причем, где находится этот бит, так до конца главы и не уточняется. Сброшенный бит неизвестно чего и неизвестно где, но не адреса. Просто отлично, что вы все так здорово объяснили.
Последний раз редактировалось a5021 Чт ноя 15, 2018 01:03:52, всего редактировалось 3 раза.
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Аlex »

почему я должен ....
Да никому Вы тут ничего не должны, не переживайте :)
Можете вообще не отвечать ничего, разрешаю :)))

Добавлено after 33 minutes 39 seconds:
Если вы считаете иначе, вы и переводите то место, которое доказывает вашу правоту.
Вот делать мне нечего. Вам надо - Вы и переводите. И доказывайте что-то. У Вас же подгорело от этого мануала :))
a5021 писал(а):"Адрес со брошенным младшим битом". Совсем ничего не говорит?
Ну а чего уж сразу не написали "Со сброшенным младшем битом адреса" ? Опять урезаем фразы и трактуем по своему ?
Конкретно, оконченная и единственная фраза "Адрес со брошенным младшим битом" - говорит.
А фраза "ведущий шлет адрес ведомого со сброшенным младшим битом" - не говорит. Откуда я знаю, может там перед этим упоминается какой-нибудь регистр, о младшем бите которого идёт речь.
Заметьте, я не единственный с таким мнением. Не кажется Вам это странным ? :))
Выдвинули своё мнение на всеобщее обозрение, вот теперь и доказывайте обществу свою правоту. А я пойду спать... :)))

PS: Говорит, не говорит, ... Мне вообще пофиг, что там, кому и чего оно говорит :))
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение WiseLord »

Да, что-то много шума из-за ничего.

В даташите чётко видно (это и текстом написано, и по картинке передачи видно), что адрес - 8бит.

Изображение

И перевод тоже соответствует:
- В режиме 7-битной адресации передаётся один байт адреса.
...
Мастер может решить перейти в режим передатчика или приёмника в зависимости от младшего бита переданного адреса.
- В режиме 7-битной адресации,
- Для входа в режим передатчика мастер посылает адрес подчинённого со сброшенным младшим битом.
- Для входа в режим приёмника мастер посылает адрес подчинённого с установленным младшим битом.
Так что всё достаточно однозначно, если воспринимать адрес как 8 байт, как это определено в даташите.

Если же мыслить категориями Arduino (где адрес считается как 7бит, а R/W бит идёт уже отдельно от адреса), немудрено и запутаться в трёх соснах.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="Аlex",url="/forum/viewtopic.php?p=3504959#p3504959"]Ну а чего уж сразу не написали "Со сброшенным младшем битом адреса" ?[/uquote]
В референсе есть и такая формулировка. Как раз на случай, чтобы не подумали, будто бит находится вне адреса: "The master can decide to enter Transmitter or Receiver mode depending on the LSB of the slave address sent" -- "Мастер может решить войти в режим передатчика или приемника в зависимости от младшего значащего бита адреса" -- немного корявенько с точки зрения русского языка, но это подстрочник, чтобы не обвинили в искажении смысла.

В английском языке предлог "of" часто используются для того, чтобы "эмулировать" родительный падеж. Тот самый родительный падеж, который используется для обозначения принадлежности кому или чему-либо. The door of our home -- дверь нашего дома, the car of my friend -- машина моего друга. В этом смысле, формулировка "the LSB of the slave address" однозначно указывает на принадлежность бита адресу. "Младший бит адреса ведомого" -- по другому это не прочитать и не перевести.
Говорит, не говорит, ... Мне вообще пофиг, что там, кому и чего оно говорит
Это я в курсе. Вас больше в область персонального наезда куда-то клонит.

Добавлено after 25 minutes 54 seconds:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3505128#p3505128"]Если же мыслить категориями Arduino (где адрес считается как 7бит, а R/W бит идёт уже отдельно от адреса), немудрено и запутаться в трёх соснах.[/uquote]
Вы и запутались. Хулить ардуину, где, кстати, все правильно, вам хватает энергии, а полистать стандарт I2C уже нет? Ну нафига неграмотный бред сюда писать?

Оксфорд упоминал здесь "туалетное чтиво" (UM10204 -- I2C-bus specification and user manual), которое сам, похоже, тоже не читал. Это описание от разработчика стандарта. Там, в частности, есть и интересующие нас моменты:

Изображение

Адрес = 7 бит, бит R/W не принадлежит адресу. Завязывайте с фантазиями.
Вложения
2018-11-15_153436.jpg
(106.21 КБ) 709 скачиваний
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Oxford »

Посылка 8 битная, они просто логически интерпретировали. в любом случае у них и написано R/W bit. А бит как мы с вами знаем часть байта. Отдельно бит существовать не может, и в байте он LSB как говорил ST.
Так что косяков у ST нет.
Завязывайте уже пороть чушь ей больно, займитесь делом. :tea:
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="Oxford",url="/forum/viewtopic.php?p=3505276#p3505276"]Посылка 8 битная, они просто логически интерпретировали.[/uquote]
Не нужно ничего интерпретировать, а уж тем более, придумывать, чего там наинтерпретировал кто-то еще. В стандарте, референсе, мануале не может и не должно быть утверждений, токование которых возможно в разных смыслах. Это тогда говно, а не стандарт.
в любом случае у них и написано R/W bit. А бит как мы с вами знаем часть байта. Отдельно бит существовать не может,
Посмотрите на бит ACK и втяните этот свой пассаж себе обратно.
и в байте он LSB как говорил ST.
Только ST говорит, что он LSB адреса, а не байта. Адрес этот, если почитать книжку, которую вы советовали, 7 бит.
Так что косяков у ST нет.
Вам стоит как-то поубедительнее "проинтерпретировать" RM0008.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: STM32 новичку в ARM что к чему

Сообщение AndTer »

Вы хотите чтобы и эта тема ушла в МЯУ?
Несёте чушь. Интерпретируете слова СТ по своему, когда все остальные их интерпретируют как и задумывалось самими СТ.
Проблема в Вас, а не в ошибках документации.
Глупый не задает вопросы. Глупый и так все знает.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="AndTer",url="/forum/viewtopic.php?p=3505460#p3505460"]когда все остальные их интерпретируют как и задумывалось самими СТ.[/uquote]
Что у вас с аргументами? Вы не только за "всех остальных" решили говорить, но и за "самих СТ". Причем, только своими словами, не подкрепляя их вообще ничем.

Это уж не говоря о том, что "все остальные" вообще иной раз противоречат друг-другу. Нету у "всех остальных" единой позиции. Каждый озвучивает свою "интерпретацию", часто не совместимую с интерпретацией других участников обсуждения. Это как раз в то время, когда я всеми силами призываю не высасывать дополнительные сущности из пальца, ничего не интерпретировать, а только читать и понимать, что написано.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3384
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

Возможно те кто составлял документацию рассчитывали что читающие ее, имеют опыт работы с I2C.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Эта тема уже звучала и я так же говорил об этом. Вопрос не в опыте, а в том, каким образом данные должны быть записаны в МК перед отправкой. Один и тот же "опыт работы с I2C" требует разных манипуляций в зависимости от того, имеем ли мы дело с STM32F0, STM32F1 или, скажем, nRF52832. Протокол один, а действия требуются разные и нифига друг на друга не похожие. Только если в случае F0 или nRF52 нужно просто прочесть референс, чтобы узнать, какие биты куда, то в случае F1, из референса мы узнаем полную лажу о том, что "младший бит адреса" управляет направлением передачи.

Открываю я даташит, скажем, на BME280, нахожу там, что адрес девайса 0x76, запихиваю на F1 это значение в I2C1->DR, перещелкиваю или нет "младший бит" и хоть усрись, никогда не получу подтверждения от датчика по завершению передачи. Я все сделал по референсу, но получил кукиш. Тогда я беру nRF52832, по референсу от него записываю в TWIM->ADDRESS то же самое значение 0х76, дергаю передачу и подтверждение получаю. И на какой "опыт работы с I2C" мне уповать в каждом из случаев?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение WiseLord »

Вообще, это больше похоже на проблему спецификации самого I²C, что понятие адреса устройства там настолько размыто. А если учесть ещё и второй, 10-битный, режим адресации, всё становится ещё сложнее.

Например, в даташите часов DS1307 адрес указан как 7-битный, а идущий после него бит R/W - сам по себе.

А вот в даташитах разных аудиопроцессоров (TDA7439, TDA7313 и многих других) однозначно адрес устройства - это 8 бит, включающих R/W бит.

А вообще соглашусь, серия F1 действительно выглядит не слишком "красиво" на фоне других. Те же отличия в конфигурации GPIO/AFIO - в более новых семействах (F0, F4) там всё выглядит несколько более разумным. Ну, на то он и "первый блин".
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение prinv »

Я в документации встречал такие перлы как "адрес для чтения" и "адрес для записи"
Никакая контра не уйдёт от нас
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

Для упорото сомневающихся, список ляпов в документации на F4
http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3505846#p3505846"]Вообще, это больше похоже на проблему спецификации самого I²C, что понятие адреса устройства там настолько размыто.[/uquote]
В данном случае это не вопрос какой-то там "размытости". RM0008 везде на своих страницах вполне однозначно оперирует понятием 7-bit addressing (10-бит адресацию пока оставим). Если бы они хоть где-то упомянули 8-bit address, то можно было говорить о том, что у них свои координаты, оригинальный, но совместимый протокол и всякое такое. Так ведь нет -- только семибитная адресация, где младший бит адреса отвечает за выбор направления. Все. Приплыли. Это уже полная лажа.
prinv писал(а):Я в документации встречал такие перлы как "адрес для чтения" и "адрес для записи"
Есть такое. В даташите на BMP180 указываются адреса 0xEE и 0xEF, как раз в таком "формате". Однако, все эти "восьмибитные" адреса хороши, пока не копнешь. Например, захочется сделать эмулятор такого устройства на МК, тут-то и выяснится, что возможности назначить восьмибитный адрес слейву на STM32F103 нет. Хрен в нос, а не 0xEE! Для этого тупо не хватает отведенных под адрес разрядов регистра. Оно понятно, что даже не знакомый с вопросом в состоянии разобраться при наличии желания, только тогда же и выяснится, что никакой 8-битной адресации I2C не существует в природе.
dosikus писал(а):Для упорото сомневающихся, список ляпов в документации на F4
http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt
Круто. Честно сказать, я и не думал, что все так плохо. Дело даже не в том, сколько ошибок. Проблема, что ответственной стороне почти наплевать на них.
Frogfot
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

Re: STM32 новичку в ARM что к чему

Сообщение Frogfot »

Народ, я юзал F051 Disco, сейчас взял Blue Pills - F103C8T6 + ST-Link. Написал прогу помигать светодиодом на PC13 - ничего не получается - не могу понять - или какой глюк Keil 5 или где ошибка в проге:

#include "stm32f10x.h

int main (void)
{
uint32_t i;
RCC->AHBENR |= RCC_APB2ENR_IOPCEN; // Enable Clock GPIOC
GPIOC->CRH &= ~GPIO_CRH_CNF13;
GPIOC->CRH |= GPIO_CRH_MODE13;
while(1)
{
GPIOC->BSRR = GPIO_BSRR_BS13;
for (i=0;i<500000;i++) { }
GPIOC->BSRR = GPIO_BSRR_BR13;
for (i=0;i<500000;i++) { }
}
}
Хорошему коту и в декабре - март :)
Ответить

Вернуться в «ARM»