tag 标签: 二值图像

相关博文
  • 热度 5
    2019-6-2 14:55
    6658 次阅读|
    2 个评论
    NUCLEO-F411RE串口输出趣味图像
    一, 概述 拿到 NUCLEO-F411RE 也有两个周了,第一周完成了一篇开箱评测,还没来得及进行深入研究。这周抽个周末摸一下这块入门级高性能芯片的性能。 本篇评测的主要内容为串口输出图像。在有些论坛,经常看到有看到一些有趣的图像,说图片其实也不准确,应该是利用文字的排版完成了一副图像的输出。比那些直接的图像显得更加有趣好玩。本文就利用 NUCLEO-F411 板载的 STM32F411RET6 输出类似的图像。下图是我输出的部分文字,炯炯有神的眼睛,猜猜我是谁 ~~~ 二, 开发平台搭建 现在貌似 Cube 比较流行,只要点几下配置配置源代码就生成了。但是本人不爱学习新东西,至今还没摸过这玩意,所以还是以我熟悉的标准库来进行开发。开发工具用的是 IAR , IAR 简洁大方,就是输入提示功能实在是有点跟不上节奏,要能做到 VS 的提示输入功能,那真是要好用到飞起了。打开标准库中模板 \en.stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates\EWARM\Project.eww 工程。打开后如下图,图中的 MCU 选择应该选择板卡对应的 STM32F411xE 。编译下载能够运行的断点能够跳到 Main 函数,基本就算运行环境OK。 三, LED 灯驱动 开发环境建立完成,首先操作毫无疑问就是进行 LED 常规电灯操作。 根据板卡电路图 LED 的配置到了两个引脚 PA5 和 PB13 ,一开始没有仔细看,配置到了 PB13 ,发生了什么情况你们懂得。点灯程序比较简单,直接贴图就好 四, 串口驱动 对于玩 MCU 的来说点灯是第一步, Hello word 的串口输出是和点灯同样重要的完美搭档。废话不多说。先查看原理图,串口的配置在 PA2 和 PA3 上,查看 Datasheet ,其配置为串口 2 。串口也是比较简单的,贴代码就 OK 了。 五, 串口输出趣味图像 本人桌面是这个 Nike 的标语。受其启发,本实例也是做得简化版的此种效果。先看看单片机版的 Just do it 吧。下面我以输出文字为例子,详细给出制作这种效果的方法。 1. 制作需要输出的图片 打开电脑自带的图片编辑器。在上面调整背景大小,我图中的背景为 104*32 。在图上打上 JUST DO IT 的文字。然后另存为 BMP 图片格式,注意图片的格式为单色位图。 然后我们就要处理这个图片了。找到 ImageLcd 这个软件 。 打开软件输出图片设置图片转换格式。这里有好多输出的样式,可以实现镜像、负片等效果。这个后面读者可以自行尝试。本文对正常的文本进行处理。然后保存成 .h 或 .c 文件。到此部,数据的基本处理已经 OK 了。后面就要去程序中处理了。 2. 数据进行输出 输出的文件格式为一个数组。每个字节代表横向的 8 个像素的值,这个和扫描方向有关系。例如本实例中,第一个字节内容为 0x00 ,则分解成二进制 00000000 的 BIN 格式, bit 为 0 表示没有黑色像素落到此区域,所以串口输出空格,如果 bit 为 1 ,则输出实体的表示字符。本例中用‘ ’表示为无,‘ A ’表示为有像素值。 图片输出程序其实特别简单,如下图的图片所示。 3. 图像输出 其实拓展到其他图片都是一样的,如下图。这个其实就是本文一开始那对囧囧有神的眼睛。 经过上述步骤的操作处理后,输出的图像如下 六, 总结 本文简单的描述了如何用串口输出一个二值的图像。希望本文的抛砖引玉能够使得爱折腾的你能够发现更多的奇妙玩法。在此也要感谢面包板社区提供的 NUCLEO-F411RE 开发版,后面有时间还会就其处理器性能进行进一步评估。 文章中涉及的附件在下列帖子: https://forum.mianbaoban.cn/topic/71366_1_1.html