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

 
 
> w5100 + STM32- не корректно принимаю данные по SPI
Метценгерштейн
сообщение Jan 30 2013, 15:25
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



В своей программе в терминалке получаю ответ от визнета 0x12, но осциллом вижу, что визнет выдает мне число 0х13, значит я не корректно его обрабатываю. Из даташита по визнету по SPI понятно, что данные выставляются, когда sck период только начался и он еще в лог.0. Так же и на картинке осцилла. Т.е. возможные комбинации выставлены как положено.
Код
      SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
      SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

тогда почему мой STM32 не хочет видеть число 0x13 ?




здесь D4- MISO, т.е. вход STM32

перепробовал все полярности в STM32- ничего не улучшилось.
замыкал напрямую в STM32 MISO на MOSI- принимаю то, что отправляю. Если разъединяю перемычку, принимаю 0xFF, а с соединенной, именно то, что отправил.

Что еще можно предпринять?

Сообщение отредактировал Метценгерштейн - Jan 30 2013, 18:35
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Метценгерштейн
сообщение Jan 31 2013, 13:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



новая вводная:
замкнуты напрямую MISO на MOSI.
инициализация SPI
Код
        // SPI1  
        RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; //Тактирование модуля SPI1        
        SPI1->CR1 = 0
        | SPI_CR1_BR_2 | SPI_CR1_BR_0 //Baud rate = Fpclk/64
        | 0 * SPI_CR1_CPOL //Полярность тактового сигнала
        | 0 * SPI_CR1_CPHA //Фаза тактового сигнала
        | 0 * SPI_CR1_DFF //8 бит данных
        | 0 * SPI_CR1_LSBFIRST //MSB передается первым
        | 1 * SPI_CR1_SSM //Программный режим NSS
        | 1 * SPI_CR1_SSI //Аналогично состоянию, когда на входе NSS высокий уровень
        | 1 * SPI_CR1_MSTR //Режим Master
        | 1 * SPI_CR1_SPE; //Включаем SPI1
    ;
        SPI1->CR2 = SPI_CR2_SSOE; //Вывод NSS - выход управления slave select


а вот, что делаю в проге
Код
void WIZnet_main (void)
{
  WIZ_SPIInit();
  uint8_t temp=0;
  uint8_t data;
  Delay_ms(1);
  
  for (data=0; data < 0xff; data ++)
  {
    on (TestPin);
    
    Usart1_Send_Byte_HEX (data);
    Usart1_Send_String ("->");

    while(!(SPI1->SR & SPI_SR_TXE))
;
    
    SPI1->DR = data;
    while(!(SPI1->SR & SPI_SR_RXNE));
    temp = SPI1->DR;
    
    off (TestPin);
    
    Usart1_Send_Byte_HEX (temp);
    Usart1_Send_String ("\r\n");
  }
}


и при этом выводится следующее:
Код
00->01
01->00
02->03
03->02
04->05
05->04
06->07
07->06
08->09
09->08
0A->0B
0B->0A
0C->0D
0D->0C
0E->0F
0F->0E
10->11
11->10
12->13
13->12
14->15
15->14
16->17
17->16
18->19
19->18
...


а почему?

Сообщение отредактировал Метценгерштейн - Jan 31 2013, 16:43
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 31 2013, 16:17
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Покажите настройки ног SPI.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Метценгерштейн   w5100 + STM32- не корректно принимаю данные по SPI   Jan 30 2013, 15:25
- - Метценгерштейн   Кодvoid WIZ_SPIInit() { // настройка ...   Jan 31 2013, 16:43
|- - AHTOXA   А зачем у вас включается альтернативная функция дл...   Jan 31 2013, 17:58
- - Метценгерштейн   исправил. инициализация портов Кодvoid WIZ_SPIInit...   Jan 31 2013, 18:39
|- - AHTOXA   А, вот ещё что. MISO нужно настроить как вход, а н...   Jan 31 2013, 18:52
- - Метценгерштейн   похоже, что не надо. т.к. в одном GPIOA->MODER...   Jan 31 2013, 19:26
|- - AHTOXA   Окей. Попробуйте ещё не полагаться на значения по ...   Feb 1 2013, 03:59
- - Метценгерштейн   попробую все проделать. плата STM32L152RBT6 такая ...   Feb 1 2013, 08:15
- - Метценгерштейн   причесал чужой код под свой проц. в отдельном прое...   Feb 1 2013, 12:20
- - Метценгерштейн   Продолжение исследования: удаляя файл startup_stm...   Feb 2 2013, 20:53
|- - AHTOXA   Удаляя файл startup_stm32l1xx_md.s, вы удаляете та...   Feb 3 2013, 06:46
- - Метценгерштейн   нет, один файл стартапа. проблема не в нем- пробле...   Feb 3 2013, 07:56
|- - AHTOXA   Цитата(Метценгерштейн @ Feb 3 2013, 13:56...   Feb 3 2013, 14:56
- - Метценгерштейн   не знаю, что остается) Мусор какой-то. И благодаря...   Feb 3 2013, 15:41
|- - AHTOXA   Цитата(Метценгерштейн @ Feb 3 2013, 21:41...   Feb 3 2013, 16:25
- - Метценгерштейн   UART использует стандартные библиотеки, где в зави...   Feb 3 2013, 19:04
|- - AHTOXA   Дело в том, что ваша функция main() вызывается из ...   Feb 4 2013, 03:20
- - Метценгерштейн   этот файл включен только в проект. больше нигде ег...   Feb 4 2013, 08:36
- - Метценгерштейн   в общем, пришел к такому выводу: при настройке в у...   Feb 9 2013, 19:18
- - Golikov A.   Сейчас у меня нет под рукой СТМ и ИАР не могу пров...   Feb 15 2013, 15:27
- - Golikov A.   В теме откуда я пришел, эта проблема решилась выст...   Feb 18 2013, 15:33


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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 09:54
Рейтинг@Mail.ru


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