2013-06-04 74 views
3

我有一个STM32L-Discovery Board,它有一个STM32L152R8微处理器。我很困难,试图让基本的东西工作。Stuck with STM32L-Discovery的基本编程

我看过ST(电流消耗触摸传感器和温度传感器)给出的例子,我认为它们不是用户友好的,有很多库,子进程和中断,使得代码真的很难理解。

我试图打开蓝色LED(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的一个非常好的方式。所有这些都可以在Linux上运行'gdb','gdbserver'和'gcc'。如果你有Windows和Keil(试用版或许可证,后者太昂贵),设置电路板并为其编写代码只需点击一下并完成工作。 – rbaleksandar