|
STM32 HAL SPI ошибка или глюки IAR,, ошибка чтения SPI с помощью HAL от CubeMX |
|
|
|
Jul 27 2016, 10:20
|
Частый гость
 
Группа: Свой
Сообщений: 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]-для короткого!!!
|
|
|
|
|
 |
Ответов
|
Jul 29 2016, 15:04
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665

|
может здесь и говорится о нашей проблемке ..... страница 9 Цитата(k155la3 @ Jul 29 2016, 15:42)  Если вы после приведенного фрагмента кода не используете явно data1,2,3. - data1 после (2) не упоминается - так зачем он нужен ? - элемент массива записывается в неупоминаемый data1 - так зачем он (массив) нужен ? А то что вы в ф-ию передали &Var, и что этот адрес принадлежит именно Var - компилятор "не знает". ------- В общем мои "смутные сомненья" Вы поняли. Это IMHO. возможно есть такие сверхумные компиляторы...с суппероптимизацией....я пока до сих пор с такими "глубокими" эффектами не сталкивался. Неиспользуемые переменные, невызываемые функции, глухие циклы для задержек - это я видел, убирает на раз. Но чтобы компилятор отслеживал всю цепочку присвоений, да еще глобальных переменных.... Возможно такое и есть. Но возникает вопрос работы с указателями. И какова "глубина" этих цепочек. Если к примеру: Код int a1,a2,a3............................a999; a1=0; a2=a1; a3=a2; ...... a999 = a998;
data1= a999; Если все эти строки разбросаны по сотням тысяч строк кода, и не будет присвоения data1=a999 то все уберется? А если будет присвоение data1=a999, то компилер полезет искать использование data1 во всем проекте и участие data1 в многочисленных структурах, массивах, указателях, функциях. И соотвественно начнет смотреть на использование этих структур,массивов, функций в проекте...и так далее и так до бесконечности? Утверждать стопроцентно не буду....но есть у меня сомнения....
Сообщение отредактировал Pasa - Jul 29 2016, 16:17
|
|
|
|
Сообщений в этой теме
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 tehn1k Как Вы выбираете чтение того или иного регистра, е... Jul 28 2016, 05:41 serglg Цитата(tehn1k @ Jul 28 2016, 11:41) Как В... Jul 28 2016, 06:09  tehn1k Цитата(serglg @ Jul 28 2016, 10:09) Мне н... Jul 28 2016, 06:55  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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|