2013-06-04 6 views
3

У меня есть STM32L-Discovery Board, у которого есть микропроцессор STM32L152R8. Я довольно застрял, пытаясь сделать основные вещи работой.Застрял с базовым программированием STM32L-Discovery

Я рассмотрел примеры, данные ST (сенсор потребления тока и датчик температуры), и я думаю, что они не являются удобными для пользователя, с таким количеством библиотек, подпроцессов и прерываний, которые делают код действительно трудно понять.

Я попытался включить синий светодиод (GPIO PB6), но я не могу этого сделать.

Мой код правильно компилируется, но ничего не делает с доской. Это код «main.c».

RCC->AHBRSTR = 0x00000002; 
RCC->AHBRSTR = 0x00000000; 
RCC->AHBENR = 0x00000002; 
GPIOB->MODER = 0x00001000; 
GPIOB->OTYPER = 0x00000040; 
GPIOB->OSPEEDR = 0x00001000; 
GPIOB->PUPDR = 0x00000000; 
GPIOB->ODR = 0x00000040; 
while(1) {} 

Я что-то не хватает? Могу ли я найти действительно основные примеры где-нибудь?

Заранее благодарен!

ответ

0

Стандартная периферийная библиотека, поставляемая ST на их веб-сайте, является хорошей отправной точкой. В нем есть примеры по программированию GPIO. Обратите внимание, что их код абсолютно ужасен, но по крайней мере он работает и с чего начать.

Какой компилятор/отладчик вы используете? Если вы используете IAR, вы можете просматривать регистры GPIO, выполняя код. Пожалуйста, разместите значения регистров GPIO на свой вопрос и, возможно, мы сможем помочь.

+0

Я бы также предложил попробовать ChibiOS - бесплатную операционную систему с открытым исходным кодом в реальном времени. У этого есть почти готовая поддержка этой платы, и это также очень хороший способ узнать о RTOS. Все это работает без каких-либо проблем с 'gdb',' gdbserver' и 'gcc' в Linux. Если у вас есть Windows и Keil (пробная версия или лицензия, последняя из которых слишком дорога), настройка доски и написание кода для нее - один клик и работа выполнена. – rbaleksandar