*阅读说明:以下仅做简要总结展示,排名不分先后。详细评测描述、源码、资料等请戳原链接查看。
MM32官方为演示代码,提供了多种环境下的包,其中包括Keil和armgcc的。
经过研究测试测试,最终选择了一款方案,使用ESP32-C3,成功制作了一款可以远程调用的调试工具。
昨天调试程序的时候,在某次下载或者调试之后,调试突然就不灵了。然后,百般尝试,皆不灵通了。换了调试器,也不灵了。
之前使用ESP32+OLED(SSD1306)只做过基于NTP对时的互联网时钟,无需RTC,也不需要对时,效果非常好。MM32L0136C7P开发板上自带了SLCD,其上有两个数字显示区域,用来做时钟显示,再合适不过了。
掌握了串口的用法后,其它例程的测试就方便了许多,因为在没有LCD屏的参与下,各种测试的输出都是依赖串口的。此外,各种支持串口通讯的功能模块也就可以使用了。
该例程是对引脚PA1所对应的通道1进行数据采集,通过USB转TTL模块来观察数据采集的结果。
EVB-L0130开发板上,最直观的显示器件是LCD屏。但在官方的例程中却并没有直接给出一个可供调用的显示函数,所提供的只是一个点亮各笔段的演示程序,要实现数据的显示功能,只有自己动手去解决了。
在MM32L0136片内有1 个RTC 计数器,并支持日历功能。
尽管开发板上配置了LCD屏,并具有能耗低、显示规格比较大的特点,但相对来讲它毕竟是靠笔段来显示信息,因此显示的符号会受到很大的限制,且显示的信息量也比较少,最重要的是占用引脚资源太严重。为此,从掌握GPIO口使用的角度,还是从GPIO口的使用开始,并以模拟I2C接口的方式来驱动OLED屏。
当初申请的目标是一个环境状态检测器,光照强度检测是其中的一项指标,所使用的检测模块是BH1750。使用它与OLED屏相结合,可轻松地完成显示的要求。
EVB-L0130开发板所使用的MM32L0136C7P有多达 64KB 的 Flash 存储器和8KB的 SRAM,这使其足以支持相应的图片存储及显示。为此,为它配置了一个彩色的LCD屏来显示字符信息和图片的显示。
以MM32L0136开发板为核心,实现环境状态检测记录器的整体构成如图1所示,其中传感器BH1750用于光照强度的接触,传感器BMP085用于温度和大气压的检测,OLED屏用于数据显示,串行数据记录模块用于数据记录。在4个外设中,除数据记录模块是串行设备外,其它3个均为I2C接口的外设。
开发板上的LCD是笔段式的LCD,MM32L0136C7P上已经利用GPIO的复用功能实现了它的驱动,这样我们不需要处理LCD的驱动处理了。实际上我一直比较头痛笔段式液晶的显示处理,因为涉及太多的知识点,自己也不愿意在这个上面花太多的时间。相比之下,点阵式液晶对于开发者而言更容易一些。
本次测试完成了键盘输入、OLED显示的测试,实现任意时间(最大99小时99分钟99秒的)倒计时测试。
测试一下SLCD屏的字符显示,实现计数累计,字符循环显示效果。
实现方式是利用I/O定时翻转电平来产生驱动波形,这类无源蜂鸣器在低功耗产品应用比较广泛,比如电子表的滴滴声,生日贺卡等。
MM32L0136C7P板上集成了按键、LED指示灯、IRDA、PWM、UART、SPI、I2C、I2S、ADC、SLCD等硬件资源,虽然这款开发板官方推荐应用在低功耗类产品领域,如红外遥控器、额式红外体温计等,但灵动微电子在电机应用领域口碑很不错,今天用板上的PWM驱动一下两相四线式步进电机。
首先搭建环境,低版本的MDK编译链接报错,换到MDK V5.27版本可以正常编译了,然后安装JLINK 的MM32L0130包,就可以用Jlink烧录了。
看了板子的原理图,PB11脚有个4.7K上拉,所以接上一个DS18B20来测量一下环境温度,并显示到SLCD和打印到串口。SLCD分时显示时间,日期和温度值,做到了实时监测。可以时刻关注温度变化了,现在降温了,的确有点冷,实测温度11.31度。
从原理图上挑了两个SLCD没用到的脚,PA0,PA1,用来做PWM的波形输出。因为想继续用SLCD来显示时间和温度。
继续上次TIM输出PWM波形后,继续用TIM的CH2测试,在PA1脚接上电流驱动管,连接上风扇电机,调节占空比,就可以实现电风扇的转速调节。
说来惭愧,第一次使用LCD段码屏,无从下手,然后认真阅读了芯片手册与LCD屏模块手册,并跟多位大佬沟通学习,现在有所收获,特来分享学习成果和经验,帮助后来者,并作为自己学习的笔记,以备遗忘。
制作一个自动映射LCD与MCU端口配置到显示数据寄存器的工具,这样就可以方便实用LCD外设了,无论与屏幕怎么连接,只要我们在工具中给出简单的连接关系对照表,即可取任意图形对应的显示数据寄存器值。
本次项目我将通过C语言来实现快速求对应图形的显示寄存器值。
本测试为开发板测试项目的第一步,即利用串口实现一个串口终端,通过终端启动用户控制应用,利用基于串口ymodem完成文件收发控制,并完成数据的spi flash读写操作。
本测试是在前一个测试的基础上,利用shell终端和ymodem将音乐文件存储到spi flash中,然后通过shell 终端启动I2S来播放存储在flash中的音乐文件。
最简单的方式是用的阻塞方式点灯,即就是死等,在等待期间mcu干不了其他事情(中断除外),这种方式不太友好,本文使用非阻塞方式点灯;普通定时器1ms一次中断,为整个系统应用层提供时钟。
之前使用了AT32驱动了这个lcd,本文将驱动移植使用MM32L0136C7P驱动。
本文移植Letter shell,通过串口输入命令,与开发板交互。
本文使用软硬件i2c两种方式驱动0.96寸oled,oled的驱动芯片为ssd13606。
SFUD 是一款开源的串行 SPIFlash 通用驱动库。
本次主要探讨下开发环境的创建和下载方法。
评测主要是移植ST7735 1.8寸TFT显示字幕,数字和汉字,屏幕的驱动芯片为ST7735,为8 PIN接口的屏,主要采用软件模拟的方式来实现。
先做个简单的传感器实验,使用其硬件的IIC读取下SHT20温湿度传感器。
这篇我们使用这款板子携带的段码屏进行显示。
本次开发板提供的丰富外设还未体验完,暂时就把自己体验的几个外设功能给完善了下,然后通过一些外设做了一个遥控器的功能,同时兼具温湿度传感器的显示功能。
由于目前公司业务需求。给到我们科室的项目中需要研发一种高精度的成像色度计,应用在进行屏幕生产检测过程中,检测屏幕的色度,亮度以及BlackMura的相关情况,来确保相应的屏幕生产生质量,此时由于之间科室的相关工作已经做过相应类型的产品,并投入使用。但是此次项目有着不同之处在于要做一款高分辨率的产品。
本例程通过使用SPI2外设,波特率设置为8mhz,驱动WS2812。
本次测评使用的是IAR8.20,首先使用PACK包添加相应的芯片信息。
本次使用jlink的SWD模式进行程序下载,所以需要将对应的4个引脚连接,开发板是没有板载下载器的,所以需要外连。
- 关于开发板 EV Board (MM32L0136C7P)
EVB-L0130 属于 MM32EVBoard 系列开发板,配合 ARM Keil/IAR 集成开发环境,构成灵动 MM32 Cortex-M0+ MCU 完整的开发生态。该开发板为基于Cortex-M0+的开发板,支持 MM32L0130 MCU。
|