|
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 89
|
|||||||||||
Не работает SPI при инициализированном USART19.04.2016, 01:07. Показов 14960. Ответов 37
Метки нет (Все метки)
Здравствуйте.
Cтолкнулся с проблемой в STM32F030F4P6, причину которой что-то не могу понять. В двух словах, есть SPI (SPI1 на PA4, PA5, PA6, PA7) и UART (USORT1 на PA9, PA10). Инициализирую SPI таким образом Инициализация SPI
Инициализация UART
Кто-нибудь сталкивался с подобной проблемой? P.S. Чтобы не захламлять текст простынями кода прикрепил проект. [10.68 Кб]
0
|
|||||||||||
| 19.04.2016, 01:07 | |
|
Ответы с готовыми решениями:
37
USART в режиме SPI PIC16F877. SPI и USART USART в роли SPI [Решено] |
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
|
|
| 19.04.2016, 02:13 | |
|
Чтож, задам очевидный глупый вопрос - Otyso, а что будет, если переставить местами вызовы инициализации девайсов SPI и UART?
0
|
|
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
| 19.04.2016, 09:10 | |
|
GPIO_DeInit(GPIOA)
0
|
|
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
|
| 19.04.2016, 13:46 | |
|
Вроде бы только на ноге PA4 (NSS) SPI с USORT пересекается. Остальные сигналы должны работать
А, точно. DeInit отменяет предыдущую инициализацию порта.
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 89
|
||||||||||||||||||||||
| 19.04.2016, 18:53 | ||||||||||||||||||||||
а по поводу GPIO_DeInit(GPIOA), то он у меня используется лишь раз, после подачи тактирования на GPIOA
Если я не прав, поправьте меня.
0
|
||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
|
|
| 19.04.2016, 19:02 | |
|
Какие данные хранятся в конфигурационных регистрах порта А после выполнения инициализации GPIO/SPI/UART ?
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 20.04.2016, 03:13 | |
|
А почему нельзя пройти по шагам и посмотреть в каком месте ломается инициализация GPIO, SPI, USORT да и вообще чего угодно.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|||||||||||
| 20.04.2016, 10:36 | |||||||||||
|
А мыши плакали, кололись но продолжали жрать кактус. :)
Ну и где пресловутый низкий порог вхождения с облегчалками? ТС даже не понимает что делает... STM32F030F4 Инит SPI для TFT дисплея , транзакции по 8 бит.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 50
|
||
| 20.04.2016, 11:06 | ||
GPIOA->AFR[1] |=(1<<(4*1)) |(1<<(4*2));
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 20.04.2016, 11:21 | |
|
IukimPKH, это все мелочи . :))))))
А "нигические числа" здесь вполне читаемы и по сравнению с ляпами спл намного меньшее зло. ...
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 20.04.2016, 12:05 | |
|
Писали бы тогда (это пример)
*((uint32_t *)0x48000000) |= 0x23 а то мешаете названия регистров и биты. Да и С тут лишний. Прямо в hex коде ассемблера. Что бы уже враги ничего не поняли.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 20.04.2016, 12:29 | |
|
x893, не понятно только адептам облегчалок, ну так они всегда в пролете будут . В сплне то разобраться не в состоянии.
Тем кто чтит документацию все читаемо и прозрачно. Есть что по делу - инитам ? :))
0
|
|
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 20.04.2016, 13:29 | ||
Инит SPI сбрасывает ноги USORT и наоборот. И да, SPL зло, используйте HAL :)
0
|
||
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
||
| 20.04.2016, 13:39 | ||
Инит SPI сбрасывает ноги USORT и наоборот. И да, SPL зло, используйте HAL :) лучше с регистрами работать по Referens.. чем HAL ))) GPIO_DeInit(GPIOA); пишите 1(ОДИН) раз затем сразу инициализация SPI и USORT.
0
|
||
|
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 89
|
||||
| 20.04.2016, 13:58 | ||||
Вы видимо никогда не сталкивались с ситуацией, когда надо сделать быстро прототип (например как этот, на STM32, чтоб проверить впринципе выполнимость задачи), но с вероятностью, что через год вам надо будет что-нибудь в нём допилить, или возможно даже не вам, а вашему коллеге. Причём там, возможно, будет уже совсем другой МК. Не думаю, что он обрадуется, увидя ваш "правильный" подход конфигурации периферии через прямую запись в регистры, особенно если задача не плана "Инит SPI для TFT дисплея , транзакции по 8 бит", а что-нибудь типа линейно-частотной модуляции на DDS с управляемой фазой. Со временем и приобретенным опытом вы поймёте, что свое время надо ценить, и использовать его максимально эффективно, больше отдаваясь на решение конкретной проблемы, и не тратить время на рутиные операции. MrYurom и DYZIT спасибо большое, сейчас попробую.
0
|
||||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|||
| 20.04.2016, 14:26 | |||
И пока у вас ничего не выходит а не у меня... :))))))))))
Кстати это именно "прототип" , именно "рыба" и работает на всех линейках с небольшими исправлениями . Так что ваш бред о "высоком" - выхлоп в лужу. Да и это всего лишь "рыба" , вы же не думали что вам вывалят готовый вылизанный проект? :)))
0
|
|||
|
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
|
||
| 20.04.2016, 18:17 | ||
все прогрессивное сообщество считает что CubeMX круче чем HAL! (достал бутерброды, налил кофе)
0
|
||
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
||
| 20.04.2016, 18:22 | ||
|
CubeMX разве не HAL ?
правильно dosykus_2 говорит! -
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 20.04.2016, 19:22 | |
|
dosykus !!!
Начинай жечь на кладбище покрышки !
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
|
||
| 20.04.2016, 19:50 | ||
А что говорят зелёные человечки??? Есть жизнь на Марсе??? )))) Ну и мучайтесь со своим ХАЛом... в очередной раз... На здоровье!!! )))))
0
|
||
| 20.04.2016, 19:50 | |
|
Помогаю со студенческими работами здесь
20
"параллельная" работа SPI и USART ATmega128. Пересылка данных с USART в SPI STM32F4-Discovery (Keil). Связь по USART и SPI Подскажите можно ли использовать USART и SPI интерфейсы одновременно? DMA в F0: копирование periph-to-periph (на прим. SPI->USART) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|