怀着激动的心情,楼主拿到了stm32L053r8t6的板子,第一次接触L系列的板子,知道它与F系列还是有很多不同的,在网上找到了它的资料
当然也有一个问题,那就是在这之前,楼主用的其他的板子比如说f103的板子那都是用的是标准库,但是这个板子基本上找不到标准库,不过不用担心,有法宝,没错,那就是st公司的stm32cubemx,众所周知,st公司官方目前正在大力推进HAL库的普及,基本上除了F103系列的板子,其余的板子用的大多都是HAL库,有了这个自动函数生成软件,整个工作就变得轻松多了。
一次偶然的机会,楼主看到商店里面卖的旋转灯,998,这么贵!!看到了它的标价,于是乎决定自己做一个,商店里面的功能无非就是通过旋转灯座可以改变亮度,楼主想了想,完全可以再添加其他功能嘛。当然了,首先备好原材料:一块stm32L053r8t6的板子、一个LSM303LDH电子罗盘、一个RGB全彩灯盘。基本上这就够了,剩余的灯座和灯罩完全可以随便找东西代替,这些表面的东西都是虚的,需要来点实的。
当然了,第一步,写程序啊,走起!
直接打开cubemx:
点击NEW Project:
出现了这个的话,说明它是在更新最新的固件库,等它更新完,然后就进入了芯片选择页面:
选择stm32L053R8tx这个芯片,双击点进去
OK,最基本的工作大功告成,当然了,需要配置一下,点击左上角的Project,然后选择settings,
自己填写你要生成的工程文件的名字,然后下面那个Toolchain选择MDK—ARM V5,其实就是keil5咯,大部分人用的都是keil5,当然,如果你用的不是keil5,那就选择合适的。
右边的话,有一个Code Generator选项,可以把Generated files 选项下面的第一个选上,选上这个了之后,到时候生成的工程里面就会有独立的c文件和h文件,比如说,想生成串口程序,选上这个功能的话,生成的工程里面就会有usart.c和usart.h文件,如果不选择,那么生成的就没有,都是混合在一块的,写代码就要养成模块化编程的好习惯。
好了,到了现在,最基础了配置已经完成了。
那么现在来研究研究LSM303电子罗盘这个玩意儿,通过阅读资料,可以知道,它是通过iic协议传输数据的,官方给的例程里面的iic是软件模拟的,其实好多人都说过什么stm32的硬件iic不好用什么的,但是目前已经没有这个问题了,st公司的新板卡以及HAL库解决了这个问题。那现在开始配置cubemx
首先选择iic,然后选择串口,为什么要选择串口呢,因为用串口打印出LSM303测得的数值,然后可以对数值进行处理,还有一点要注意的是,L053R8的板子连接电脑打印的串口是串口2,也就是PA2、PA3。
当然了,还需要配置一下TIM定时器,用pwm三通道,因为用到了RGB全彩灯盘。需要分别用三个通道控制他们的亮度。到时候把LSM303的数据转换成pwm占空比值就可以调节亮度。
然后配置一下时钟,照着这个配置就可以,如果配置错了,串口就会输出乱码,其余的也会不工作。
接下来是配置串口,cubemx默认串口的数据位是7位,最好改成8位,当然你也可以用7位。只不过很多人平时用的都是8位。
然后配置好TIM2定时器,并选上中断。
好啦!至此,第一步的工程配置结束了,直接点击那个黄色的齿轮,生成代码,然后用keil5打开工程。先到这里,下次就说说怎么添加代码,修改代码,当然了,工作量很小的。但是不要掉以轻心,后面还有大动作呢~。~
楼主特意上传了视频,大家可以看看具体操作,如果说有什么问题。大家可以提出来。
视频连接:
http://v.youku.com/v_show/id_XMzgyMjExMjQ2NA==.html?spm=a2h0j.11185381.listitem_page1.5!4~A
在此列个元器件清单大家看看:
元器件基本清单
1、LSM303LDH 三轴电子罗盘(旋转检测)
2、RGB全彩灯盘(方便变换颜色,更酷炫)
3、亚克力板(可以做外壳用)
4、球形灯罩(当然是灯罩了)