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

STM32L-DISCOVERY

Всех приветствую.

 

Помогите разобраться. Начал пробовать силы в программировании мк и мозг ужо вскипел.

 

Как на STM32L-152 включить тактирование gpio?

 

Хочу поморгать светодиодом...

 

Если не сложно помогите примером.

 

#include "stm32l1xx.h" - именно L а не F.

Лампочка на порту PB7.

 

Люто всех заранее благодарю.

Поделиться сообщением


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

Что мешает скачать "Standard Peripheral Library", с которой идет уйма примеров обо всем, и поизучать/позапускать их?

http://www.st.com/internet/com/SOFTWARE_RE...dperiph_lib.zip

Поделиться сообщением


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

Скачивал, но утонул в море информации.. Ещё есть даташит на 600 стр по этому мк, но как во всё это сразу вьехать не знаю.

 

Если кому-то не лениво - подскажите. Думаю не только мне будет интересно.

Поделиться сообщением


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

Помогите разобраться почему светодиод на порту PB6 не горит... Я уже мозг сломал...

 

Плата - stm32l-discovery

 

#include "stm32l1xx.h"

int main(void)

{

RCC->AHBENR |= RCC_AHBENR_GPIOBEN;

GPIOB->MODER |= GPIO_MODER_MODER6_1 ;

GPIOB->OTYPER |= GPIO_OTYPER_OT_6;//CCCCCCCCCCCCCCCCC

GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR6;

 

while(1){

GPIOB->BSRRL = GPIO_BSRR_BS_6;

}

 

return(0);

}

 

Поделиться сообщением


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

Посмотри как настроил вывод, нужно output push/pull. Кстати, например на olimex'овских отладках светодиоды сидят на VDD а не VSS.

Поделиться сообщением


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

RCC->AHBENR |= RCC_AHBENR_GPIOBEN;

 

Вроде так надо:

 

RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;

 

Хотя, может и не прав, только заметил что дискавери L, а у меня обычная.

Изменено пользователем lexanet

Поделиться сообщением


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

//Разрешаем тактирование
  RCC->AHBENR |= (RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOAEN);
  RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;

  //Настраиваем PB6 и SYSCFG к которому относится PA0-кнопка user
  GPIOB->MODER |= GPIO_MODER_MODER6_0;
  GPIOB->OTYPER &=~GPIO_OTYPER_ODR_6;

  SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI0_PA;
  EXTI->RTSR |= EXTI_RTSR_TR0;
  EXTI->FTSR |= EXTI_FTSR_TR0;

  EXTI->IMR |= EXTI_IMR_MR0;
  EXTI->EMR &= ~EXTI_EMR_MR0;

  while(1)
  {
    //Загорается светодиод покуда не отпустим кнопку
    if(GPIOA->IDR & GPIO_OTYPER_IDR_0)
      //GPIOB->BSRRL=GPIO_BSRR_BS_6;  <- так не делают
      GPIOB->ODR|=GPIO_OTYPER_ODR_6;
    else
      GPIOB->ODR&=~GPIO_OTYPER_ODR_6;
  }

Поделиться сообщением


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...