netremo 0 9 августа, 2011 Опубликовано 9 августа, 2011 · Жалоба Всех приветствую. Помогите разобраться. Начал пробовать силы в программировании мк и мозг ужо вскипел. Как на STM32L-152 включить тактирование gpio? Хочу поморгать светодиодом... Если не сложно помогите примером. #include "stm32l1xx.h" - именно L а не F. Лампочка на порту PB7. Люто всех заранее благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flexz 0 9 августа, 2011 Опубликовано 9 августа, 2011 · Жалоба Что мешает скачать "Standard Peripheral Library", с которой идет уйма примеров обо всем, и поизучать/позапускать их? http://www.st.com/internet/com/SOFTWARE_RE...dperiph_lib.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
netremo 0 10 августа, 2011 Опубликовано 10 августа, 2011 · Жалоба Скачивал, но утонул в море информации.. Ещё есть даташит на 600 стр по этому мк, но как во всё это сразу вьехать не знаю. Если кому-то не лениво - подскажите. Думаю не только мне будет интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
netremo 0 11 августа, 2011 Опубликовано 11 августа, 2011 · Жалоба Помогите разобраться почему светодиод на порту 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); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GMVM 0 13 августа, 2011 Опубликовано 13 августа, 2011 · Жалоба Посмотри как настроил вывод, нужно output push/pull. Кстати, например на olimex'овских отладках светодиоды сидят на VDD а не VSS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexanet 0 14 августа, 2011 Опубликовано 14 августа, 2011 (изменено) · Жалоба RCC->AHBENR |= RCC_AHBENR_GPIOBEN; Вроде так надо: RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; Хотя, может и не прав, только заметил что дискавери L, а у меня обычная. Изменено 14 августа, 2011 пользователем lexanet Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nitrotoluol 0 24 августа, 2011 Опубликовано 24 августа, 2011 · Жалоба //Разрешаем тактирование 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; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться