реклама на сайте
подробности

 
 
> STM32 HAL SPI ошибка или глюки IAR,, ошибка чтения SPI с помощью HAL от CubeMX
Pasa
сообщение Jul 27 2016, 10:20
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



STM32F051, IAR, CubeMX

Читаю в пакетном режиме два регистра - ответ правильный. Добавляю чтение 3-его регистра - в приемном буфере ерунда.
На осцилографе картинка нормальная - все диаграмы и ответы красивые и правильные...

В парметрах функции пробовал и 3 сразу читать и в цикле по одному байту - не получается....

И вот так уже попробовал:
Код
uint8_t localRxBuf[4];
uint8_t data1,data2,data3;

HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
data1 = localRxBuf[0];
HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
data2 = localRxBuf[0];
//HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
//data3 = localRxBuf[0];
придобавлении третьего чтения портятся data1,data2,data3......мистика какая-то. Повторюсь - на осцилографе все красиво и правильно

Такое ощущение, что HAL-библиотека глючит...
внутрь HAL что-ли полезть

Сообщение отредактировал IgorKossak - Jul 27 2016, 14:30
Причина редактирования: [codebox] для длинного кода. [code]-для короткого!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
tehn1k
сообщение Jul 28 2016, 05:41
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 12-02-16
Из: Самара
Пользователь №: 90 422



Как Вы выбираете чтение того или иного регистра, если работаете только в режиме приема? Пользуюсь HALовскими функциями HAL_SPI_TransmitReceive и HAL_SPI_TransmitReceive_IT, работают как часы, проц stmf745. В режиме дебага посмотрите, что по факту находится в дата регистре. Про порчу data1, data2 - такого не может быть, если только что то еще в коде не обращается к этим переменным.
Go to the top of the page
 
+Quote Post
serglg
сообщение Jul 28 2016, 06:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603



Цитата(tehn1k @ Jul 28 2016, 11:41) *
Как Вы выбираете чтение того или иного регистра, если работаете только в режиме приема? Пользуюсь HALовскими функциями HAL_SPI_TransmitReceive и HAL_SPI_TransmitReceive_IT, работают как часы, проц stmf745. В режиме дебага посмотрите, что по факту находится в дата регистре. Про порчу data1, data2 - такого не может быть, если только что то еще в коде не обращается к этим переменным.


Мне надо прочитать регистр в RC522 c определенным адресом. Для этого надо сначала передать этот адрес (1 байт) и потом (не снимая CS) принять один байт. Вы может предложить пример вызова функции HAL_SPI_TransmitReceive для такого случая? У меня почему-то не получалось.
Go to the top of the page
 
+Quote Post
tehn1k
сообщение Jul 28 2016, 06:55
Сообщение #4





Группа: Участник
Сообщений: 5
Регистрация: 12-02-16
Из: Самара
Пользователь №: 90 422



Цитата(serglg @ Jul 28 2016, 10:09) *
Мне надо прочитать регистр в RC522 c определенным адресом. Для этого надо сначала передать этот адрес (1 байт) и потом (не снимая CS) принять один байт. Вы может предложить пример вызова функции HAL_SPI_TransmitReceive для такого случая? У меня почему-то не получалось.

1) Проверьте вот это
Data bytes on both MOSI and MISO lines are sent with the MSB first. Data on both MOSI and MISO lines must be stable on the rising edge of the clock and can be changed on the falling edge. Data is provided by the MFRC522
on the falling clock edge and is stable during the rising clock edge

2) Вместо NSS SPI интерфейса подключите к NSS любой свободный пин и управляйте им. Опускаете его в 0, передаете принимаете нужное количество байт вызвав HAL_SPI_TransmitReceive и поднимаете пин вверх.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Pasa   STM32 HAL SPI ошибка или глюки IAR,   Jul 27 2016, 10:20
- - serglg   хочу заметить, что с HAL_SPI_Receive и у меня како...   Jul 27 2016, 15:57
|- - Pasa   Цитата(serglg @ Jul 27 2016, 19:27) Пока ...   Jul 27 2016, 17:27
|- - serglg   Цитата(Pasa @ Jul 27 2016, 23:27) ...... ...   Jul 28 2016, 04:14
- - Pasa   В инициализации SPI в HAL: Код if(hspi-...   Jul 27 2016, 20:17
|- - Lagman   Цитата(serglg @ Jul 28 2016, 09:09) Мне н...   Jul 28 2016, 09:35
|- - k155la3   Цитата(Lagman @ Jul 28 2016, 12:35) А зач...   Jul 28 2016, 10:18
- - k155la3   Цитата(Pasa @ Jul 27 2016, 13:20) STM32F0...   Jul 28 2016, 06:09
|- - Pasa   Обмен идет с CC2500 Цитата(k155la3 @ Jul 28 ...   Jul 28 2016, 19:48
- - k155la3   Цитата(Pasa @ Jul 27 2016, 13:20) И вот т...   Jul 28 2016, 12:45
- - rudy_b   Что-то я не понял, у вас SPI в режиме slave или m...   Jul 28 2016, 13:57
|- - alag57   В CR2 есть такой хитрый битик - FRXTH, так вот у м...   Jul 28 2016, 14:41
- - x893   Функция SPI Receive в HAL занимает строк 20 из них...   Jul 28 2016, 14:17
|- - Pasa   Цитата(x893 @ Jul 28 2016, 17:47) Функция...   Jul 28 2016, 20:08
|- - k155la3   Цитата(Pasa @ Jul 28 2016, 23:08) Никаког...   Jul 29 2016, 06:47
- - x893   Ничего хитрого The RXNE flag is set depending on t...   Jul 28 2016, 16:14
|- - alag57   Цитата(x893 @ Jul 28 2016, 21:14) Ничего ...   Jul 29 2016, 03:11
- - x893   Проверил с stm32f030 и CC2500 - всё работает как ч...   Jul 28 2016, 19:49
- - serglg   Ну вот и моя хитрость. Чтение делаю 3 (три) раза п...   Jul 29 2016, 06:12
|- - alag57   Цитата(serglg @ Jul 29 2016, 11:12) Ну во...   Jul 29 2016, 07:30
||- - serglg   Цитата(alag57 @ Jul 29 2016, 13:30) Это н...   Jul 29 2016, 08:36
||- - alag57   Цитата(serglg @ Jul 29 2016, 13:36) Вы на...   Jul 29 2016, 13:33
|- - esaulenka   Цитата(serglg @ Jul 29 2016, 09:12) Ну во...   Jul 29 2016, 13:42
- - Pasa   На сегодняшний момент вызывает вопрос код в HAL_SP...   Jul 29 2016, 09:04
- - k155la3   Цитата(Pasa @ Jul 27 2016, 13:20) (1) HAL...   Jul 29 2016, 10:03
|- - Pasa   Цитата(k155la3 @ Jul 29 2016, 13:33) Позв...   Jul 29 2016, 10:55
||- - k155la3   Цитата(Pasa @ Jul 29 2016, 13:55) вы счит...   Jul 29 2016, 12:12
|- - esaulenka   Цитата(k155la3 @ Jul 29 2016, 13:03) Позв...   Jul 29 2016, 13:22
- - Pasa   может здесь и говорится о нашей проблемке ..... ...   Jul 29 2016, 15:04
- - serglg   Открываются глаза. Народ говорит, что вся разница ...   Jul 30 2016, 05:43
- - Pasa   На сегодняшний момент моя примочка по предваритель...   Aug 1 2016, 07:57
|- - serglg   Цитата(Pasa @ Aug 1 2016, 13:57) На сегод...   Aug 1 2016, 12:14
|- - Pasa   Цитата(serglg @ Aug 1 2016, 15:44) Фактич...   Aug 1 2016, 19:24
|- - serglg   Цитата(Pasa @ Aug 2 2016, 01:24) Собствен...   Aug 2 2016, 13:17
- - ave!   Прочитал всю ветку, пробовал все варианты под CooC...   May 9 2017, 18:34
- - serglg   Цитата(ave! @ May 10 2017, 00:34) Про...   May 10 2017, 05:04


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 03:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016