你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm32f103液晶显示

[复制链接]
丿灬幸灬 发布时间:2018-11-10 14:26
699471521926029920.JPG
描述
它是一个简单的项目,存储高达8MB的图片数据在spil - flash通过全速DMA传输来渲染字体和图形。

第一个想法是使用基于Stm32的可编程显示适配器帮助AVR CPU。

现在我使用stm32duino complete作为工频计。

您可以在Spi Flash中存储任何数据,以便快速绘制并显示。在我的图片中,你可以看到一个字体示例119*70像素,用24BBP(3字节RGB)传输。
3029951521926006578.jpg
1622971521926039927.jpg
细节
在许多项目中,我使用一个简单的工作区来绘制字体。


1.像素存储在RGB565左上角到右下角,连续的下一张图片。

2.字体存储在按ASCII码排序的图片中。

3.我们可以在Flash中使用字体Startpoint,第一点=0(不同字体)

代码:

  1. <blockquote>uint32_t fontStart=0;     // Font Startpoint
复制代码



字符的例子:
  1. uint8_t *buf = new uint8_t[picwidth*picheight*2];
  2. mem.read(charstartpoint, buf, mywidth*myheight*2 ); //mem.read(startaddress, *buffer, length );
  3. tft.drawDMAImage(buf, posx, posy, picwidth, picheight ); //Adafruit Library
复制代码



简单字符串文本示例:
  1. String metertext = "Powermeter";
  2.   for(int i=0; i<mystring.length();i++)
  3.   {
  4.     char mychar= (char)mystring.charAt(i);
  5.     uint8_t ascii = (uint8_t)mychar; //get ascii code from char
  6.     ascii = ascii - 32;
  7.     uint32_t charstartpoint = fontStart + (ascii*picwidth*picheight*2);
  8.    
  9.     mem.read(charstartpoint, buf, picwidth*picheight*2 ); //mem.read(startaddress, *buffer, length );
  10.     tft.drawImage(buf, x+picwidth*i, posy, picwidth, picheight );
  11.     }
  12.   
复制代码
6714111521926071702.jpg




原文请见hackaday

收藏 1 评论1 发布时间:2018-11-10 14:26

举报

1个回答
wudianjun2001 回答时间:2018-11-12 08:26:42
字体比较特殊

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版