Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
07.08.2018, 14:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: stm32f4+FRAM spi (FM25xx)
Сообщение от aske12345
|
По ходу в том фишка была, что надо было сначала считывать, а потом всё остальное делать
|
Ну вот потому у меня и был обмен по SPI отдельной функцией, которая и передает и читает, не возникало ситуации с переполнением и последующими траблами - все обмены по SPI включают чтение после записи.
А вот чтения до записи у меня нигде нет, так что, наверное, правильней - фишка не в том, чтобы сначала считывать, а в том, чтобы не оставлять несчитанных байт, ну или следить за флагами в SR и своевременно их обрабатывать (что, в принципе, всегда не помешает))).
Вы READ_FRAM_1byte вызывали уже после какой-то еще работы с SPI, например, с записью?
ЗЫ под отладчиком периферия не всегда адекватно видна.
Последний раз редактировалось AR_Favorit; 07.08.2018 в 14:54.
|
|
|
|
07.08.2018, 21:13
|
|
Частый гость
Регистрация: 11.09.2008
Сообщений: 14
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: stm32f4+FRAM spi (FM25xx)
Сообщение от AR_Favorit
|
фишка не в том, чтобы сначала считывать, а в том, чтобы не оставлять несчитанных байт, ну или следить за флагами в SR и своевременно их обрабатывать (что, в принципе, всегда не помешает))).
|
это я и имел ввиду, просто выразился некорректно)
Сообщение от AR_Favorit
|
Вы READ_FRAM_1byte вызывали уже после какой-то еще работы с SPI, например, с записью?
|
да, у меня оно пока что так и есть - сначала вызывается запись WRITE_FRAM_2byte, а потом где то через 20мс READ_FRAM_1byte. Хотя реально будет иначе - при запуске мк переменная будет считываться, а потом, в случае её изменения сохраняться.
|
|
|
|
07.08.2018, 21:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: stm32f4+FRAM spi (FM25xx)
Сообщение от aske12345
|
да, у меня оно пока что так и есть - сначала вызывается запись WRITE_FRAM_2byte, а потом где то через 20мс READ_FRAM_1byte. Хотя реально будет иначе - при запуске мк переменная будет считываться, а потом, в случае её изменения сохраняться.
|
Ну, главное, вы поняли, откуда росли ноги у проблемы
Что бы сначала не происходило - запись переменной или чтение - в процессе обмена всё равно всегда будет сначала отправка нескольких байтов по SPI, а уж потом, возможно, прием. И чтобы прием не обломался, надо делать "пустые чтения" каждый раз, когда взводится RXNE
А вообще, разумеется, все по ситуации. Если данные заливаются массивами - каждый раз делать dummy read будет расточительно, проще потом перед началом считывания флаги сбросить.
|
|
|
Сказали "Спасибо" AR_Favorit
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:19.
|
|