Перейти к содержанию

STM32F303DISCOVERY SPI


mindroz

Рекомендуемые сообщения

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

Подскажите, пожалуйста, в чём ошибка. Я использую 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));
}

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

32 минуты назад, mindroz сказал:

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

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

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

10 часов назад, Alex сказал:

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

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

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Да у него мастерская - балкон. Сверлильно-фрезерный станочек там, мелкий. И все. CAD-ами владеет хорошо, поэтому нарисовать что надо не проблема ему. И заказывает, что сам не может сделать качественно. Требования к эстетике у всех разные. "Фактор жены" 
    • Счастливчик. Завидую по хорошему. Это надо иметь мастерскую. Современные квартиры предполагают только стол и диван. Наелся и на бок..   
    • Зачем станки? Просто лобзик и фанера (в моëм случае вместо лобзика шуруповëрт с сверлом и куча терпения))). Вот мой VAC 2.0, ему только верхнюю и нижнюю стенки прикрепить и марилкой или лаком покрыть, и вполне себе аккуратный корпус. Цена вопроса 500 рублей)   
    • Без него на светодиод оптрона нельзя подавать напряжение. Сожжёте светодиод. Если сможете, отпаяйте нижний по схеме вывод R18. Напряжение можно подать на него относительно истока Т2.
    • У моего хорошего знакомого денег полно. А он мастерит. ))
    • Доброго всем времени суток.Столкнулся с такой проблемой: нужно синусоиду в диапазоне от2 до 40 вольт ввести в МК для синхронизации.Собрал такую схему(см вложение).Но оказалось,что при напряжении выше 9 вольт импульсы на выходе оптронов приобретают постоянную составляющую(отрываются от земли) и чем дальше ,тем хуже. Тогда был сделан вывод о взаимовлиянии транзисторов оптопар и разъединены эмиттерные резисторы-всё заработало нормально.Затем мы купили оптрон с переменным входом (pc-814),дабы сэкономить на корпусах, но он вёл себя опять неправильно-как первые два с соединёнными эмиттерами.Собственно вопрос: почему оптроны ведут себя так? pc814-817.pdf
×
×
  • Создать...