拿到STM32L073板子有一段时间了。经过几个周末的调试,电子闹钟初稿可以见人了。主要选择的IC清单如下: 1、主控芯片: STM32L073 ; 2、液晶主控ST7735:显示屏为128*128的TFT液晶;+ t. S S) \! b: ^ 3、外部时钟芯片: 达拉斯的精确时钟 DS3231。 4、其他外部输入、输出及存储IC略。7 t3 i5 r- P& ~0 o8 Z( R B* b 设计方案:& p5 v) w, h8 k( _1 `" Z 1、单片机定时通过IIC采集DS3231中的实时时钟数据,然后通过SPI将显示信息送到TFT液晶屏上;+ ?% h0 R/ [* n0 J, t 2、时间及闹钟的调整,可以通过串口在线与上位机同步设置时钟及闹铃相关参数;也可以通过按键离线设置时钟及闹铃参数等;% H6 p3 k" \ {8 X! [; {' z. i5 A 3、TFT液晶屏上通过GUI实现定制的时钟界面;: J Y" Z/ |. z: \) G d3 ?% M9 @ 程序代码: 主要采用CubeMX生成的代码作为开发基础,以HAL库作为底层开发中间键;, C( k# F/ r6 u7 K& @ 该方案设计中所涉及的IIC、SPI均为STM32 硬件驱动,通过HAL提供的硬件控制寄存器实现;3 Q5 J9 K: t' }( O 2 \ S% N+ l x5 v) S6 P5 @ 方案心得: 基本上打消了对硬件IIC、SPI上存在Bug的传言,通过实际案例验证了此技术可用的可行性。 代码运行稳定性还在待时间验证。 开发环境顺便说一下:采用Eclipse+Ac6的IDE,采用CubeMX生成的HAL底层操作库。在纯Eclipse+Ac6+CubeMX+HAL开发模式下,项目代码生成、移植以及开发调试都很方便。/ A/ J# K6 [- [ , A. D7 d* `2 p/ l 未来方案演进: 1、可通过串口连接Wifi猫(ESP8266等)芯片与手机/上位机进行时间同步及程序下载等; 2、闹铃声音方面可以改进,可以由目前的脉冲音更换为其他存储格式的和弦音。" W8 X( S" f8 m% m% u% L$ n" p' o 4 I: L/ [/ A' N9 c2 K3 f2 k 附件是此电子闹钟的视频初秀; , W1 G1 e- X8 q4 ? , a0 h5 W8 x7 b ) |, [' }# ?# B/ b+ ^* U! T! M / j' k- S: @6 W& A4 { 关于CubeMX的配置、Eclipse环境搭建参考文档: : \& u1 ^( a+ O9 v) v. j 1、NUCLEO-L476RG试验(一)_LED闪闪亮(环境搭建与开发工具介绍) 2、NUCLEO-L476RG实验心得 (二)_LED闪闪亮续一 (按键、中断)( E, @0 D1 C+ P; n2 y 3、NUCLEO-L476RG试验心得(三)_Eclipse环境配置 ! B0 @! Z# t' A( V, z4 k$ q 7 \: f, H- |- J0 v1 S2 \* p& m3 r% M4 Y & l U, S: q* |4 n6 C- S a ( @1 ^& P& F- F3 n) b8 C 6 w z8 K+ p( E) `3 M K5 v + G8 H! a# y6 i: g$ Q |
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享
【工程师笔记】汇总处
【经验之谈】基于STM32L053芯片使用STM32CUBE软件开发低功耗设备的经验分享
在 STM32L0 和 STM32L4 系列微控制器中使用 LPUART 使功耗最小
TFT液晶工作的时候不谈论整体功耗,低功耗只是在非工作阶段明显。。。。