mindroz

STM32F303DISCOVERY SPI

5 posts in this topic

mindroz    0

Здравствуйте.

Подскажите, пожалуйста, в чём ошибка. Я использую STM32f303 DISCOVERY и мне нужно передавать по SPI 16-ти битные сообщения. Я сконфигурировал SPI и хочу проверить, есть ли импульсы при отправке, проверил осциллографом на PB13, PB14, PB15, а там ничего нет. Осциллограф подключён с самого начала и по идее я должен увидить импульсы.
Вот мой код, скажите, пожалуйста, что в нём не так, почему на осциллографе ничего нет?

void SPI2_Configuration(void)
{
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
  
    GPIO_InitTypeDef GPIO_InitStructure;

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_5);        // SCK
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_5);        // MISO
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_5);        // MOSI
    
    SPI_InitTypeDef SPI_InitStructure;
    SPI_StructInit(&SPI_InitStructure);
   
    SPI_I2S_DeInit(SPI2);
    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
    SPI_InitStructure.SPI_CPHA              = SPI_CPHA_1Edge;
    SPI_InitStructure.SPI_CPOL              = SPI_CPOL_Low;
    SPI_InitStructure.SPI_DataSize          = SPI_DataSize_16b;
    SPI_InitStructure.SPI_Direction         = SPI_Direction_2Lines_FullDuplex;
    SPI_InitStructure.SPI_FirstBit          = SPI_FirstBit_MSB;
    SPI_InitStructure.SPI_Mode              = SPI_Mode_Master;
    SPI_InitStructure.SPI_NSS               = SPI_NSS_Soft;   
    SPI_InitStructure.SPI_CRCPolynomial     = 7;
    SPI_Init(SPI2, &SPI_InitStructure);

    SPI_Cmd(SPI2, ENABLE);
}

int main(void)
{
    SPI2_Configuration();

    SPI_I2S_SendData16(SPI2, 0x8000);
    while(!SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE));
}

 

Share this post


Link to post
Share on other sites
Alex    589
32 минуты назад, mindroz сказал:

Осциллограф подключён с самого начала и по идее я должен увидить импульсы.

Поставьте задержку и зациклите отправку, тогда точно будете видеть, отправляются ли данные.

Share this post


Link to post
Share on other sites
mindroz    0
10 часов назад, Alex сказал:

Поставьте задержку и зациклите отправку, тогда точно будете видеть, отправляются ли данные.

Сделал, крутится в цикле, все равно ничего нет

Share this post


Link to post
Share on other sites

Старт складской программы по Wi-Fi/ Bluetooth-чипам от Espressif

На склад КОМПЭЛ поступили чипы, модули и отладочные платы от компании Espressif Systems на базе ESP8266 и ESP32. Стоимость всех изделий данной линейки – в 2-3 раза ниже ближайших аналогов, чипы занимают минимальное место на плате, энергоэффективны и универсальны в применении

Подробнее...

Sancta    19

Попробуй некошерным кубом для начала. И возможно снизить скорость в настройках пина.

Share this post


Link to post
Share on other sites
BARS_    992
12 часа назад, mindroz сказал:

почему на осциллографе ничего нет?

На осцилле настроен захват сигнала или пытаетесь увидеть глазами?

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Начните с чего то,вот тогда и народ побежит а вам,а так 50/50 ,все раздумывают и сомневаются в правдивости
    • подай с того же генератора отрицательный импульс и он никуда не потечет!
    • А чё там Якут- воин говорил не помнишь?
      Низя их наказывать, просто изгнать, и ладно.
      А наворованное- только народу, при чём ни в коем случае, не лично вернуть, а направить на развитие СХ и промышленности.
      Для того то мы и создаём советы народные. Хотя я бы лично пыне красного орла нарисовал!
    • @geran  Ты же сказал, проводимость диодов односторонняя, а отрицательний полупериод не проводят диоды ? Вот тебе и схема с одним диодом
    • как грица учитесь читать между строк, ну вы понели... Так не смешно? Ну и ладно. в правый генератор. только точка соединения  R1 R2 соединяется с конденсатором 150пф на общий.
    • Ребят разобрался я с темброблоком... Оказалось возбуждались ядра в оос которых организован регулятор тембра тоесть 6-7 ноги...10пф хватило теперь тишина как не крути...оос Входных каскадов не трогал  тоесть на 1-2 ноги ничего не ставил. Благодарю за помощь всех откликнущихся!!! А сам темброблок советую , он вдохнул жизнь в ne5532 а их у меня ведро. Разница заметна только на хорошем УНЧ и акустике у меня пионер A-304r  и акустика ямаха 320вт  так что не смотря на то что опер не очень качественный звук чистый... И кстати на этом темброблоке не шумят китайские потенциометры что само по себе  просто чудо