前段时间活动,有幸得到(骗到)一块stm32板子,玩了几天资料带的例子,也没啥意思,后来就寻思还是做点东西出来。我也是个三天打鱼,两天晒网的人,三分钟热度。正巧手里有两块RGB点阵屏,寻思用啥驱动才好。。。后面还有好多故事,不说了。 正文: 正式开始大概是7月份,其实在刚到手的时候,就写了个最简单的驱动,能显示四个汉字,后来一直没玩,直到放假,放假时间长,没啥事干就寻思做点啥玩玩。中间制作,老是忘记拍(懒),有多少就放多少图,努力介绍清楚。
这大概是7月份,算得上是第一版。之后就断了没继续弄,大概到8月份才重启项目。
之后就是改驱动,优化,增加功能,和一边需要什么功能,就学什么功能,从GPIO 到 Systick 、 后来需要按键,就去学外部中断,学完外部中断,就面临着中断优先级问题,这又学了几天NVIC 知识。 这看了日期,是8月18日拍摄的,时间过得真是快。。。 增加了温度和湿度显示,用的是常见的dht11正好有温度接口,估计是给ds18b20准备的,单总线接口,不过正好都是单总线接口。
后来8月21 脑袋短路,开始做外壳,量尺寸,锯木头板。又是一天时间。
图片右下角蓝色是dht11 电池右边的是w25x16 2Mbyte flash 模块。显示的数据就放在它里面,每次需要改变显示内容是,从里面读取数据。
接口内部特写。 引出了电源口,方便电池供电,引出了uart1,显示信息,这里说下,板子上UART1直接接到usb转串口芯片上,没有引到GPIO上,好在强大的stm32,能映射端口,这不禁想起了STC单片机也能映射端口,越来越讨厌stc的广告。还有当然要引出SWD用于烧写程序,我可不想每次都打开上盖去烧写程序,SWD接口只需要IO、SCK、GND三条线,强大!!!
这是开学前一天拍的,说好的开学前发帖。。。 拖到了今天。
================================================================================ 至于显示,很简单,本人菜鸟,没能实现全彩显示,最多只能实现显示7种颜色。翻到YouTube上国外大神发的讲解:链接在此 。英语差的不行,看不懂,但是驱动是通过FPGA去调pwm吧,驱动rgb点阵屏不像普通单色、双色点阵屏,通过595+138就能实现,RGB驱动是要通过专用恒流驱动芯片去驱动,常用的恒流驱动芯片分两种,一种是像595一样,功能只是信号输出。还有一种是能输出16位的PWM信号的专用驱动芯片。现在全彩点阵,基本上都是用后者驱动。能轻松实现65536*3种颜色变化。再通过强大的FPGA去写入数据。 只是单独显示文字的话,简单,比如显示红色(32*32)点阵,首先定义一个最少128字节的缓存。把要显示的数据从flash 调到 缓存中去,然后通过算法,将数据送出去,循环显示就行。看似简单,要实现复杂点效果还是挺难的。 就这样吧,遗忘的楼下补吧。想到就先这么多。通过这个项目,确实比单独玩单一的例子强太多了。菜鸟发帖,不详细之处见谅(发帖骗板)。
版权声明:本文为作者原创文章,未经作者允许不得转载。
|