基于ZStack3.0.1(CC2530)和ST7735S的HAL_LCD驱动替换(一)
最近JN5169不是很容易得到,然后就从个人收藏里找出了压箱底依旧的CC2530来玩了,之前买的CC2530开发板只有OLED驱动,显示的内容有点忒少了。。。于是乎就动起了歪脑筋,刚巧手上的Zigbee开发板OLED插口PIN2PIN兼容这个TFT-LCD屏,所以。。。嘿嘿嘿
根据厂方的资料,驱动为ST7735S,从下载到的DataSheet来看,除去6800和8080两个我不太喜欢的并行接口(或者说从来没喜欢过)
The serial interface is either 3-lines/9-bits or 4-lines/8-bts bi-directional interface for communication between
the micro controller and the LCD driver. The 3-lines serial interface use: CSX (chip enable), SCL (serial clock)
and SDA (serial data input/output), and the 4-lines serial interface use: CSX (chip enable), D/CX (data/
command flag), SCL (serial clock) and SDA (serial data input/output). Serial clock (SCL) is used for interface
with MCU only, so it can be stopped when no communication is necessary.
根据资料里描述的,和模块上的针脚定义(VCC,GND,DIN,CLK,RST,D/C)我大胆猜测使用的是这种类I2C、类SPI的串行数据操作(呐呐呐,你看人家官方资料直接用的SCL和SDA这种I2C的俗称来对数据和时钟引脚进行定义的,然后又有一个片选引脚,所以我就说他是类I2C和类SPI的操作方式了),但是模块没有CS引脚,所以我想它应该是内部拉低了。然后剩下的4个引脚,那就是:
SDA =DIN,CLK=SCL,剩下的引脚就一一对应了,然后RST直接重置;
按照我一般的习惯来说,显示模块的驱动我习惯于拆成几个文件来体现:
fonts.h用于存储字库,因为zstack默认定义了hal_lcd的h和c文件,因此我就直接使用这两个文件来充当驱动本体了;
先说字库,这个还是相对比较容易生成的,ASCII码里面英文大小写,数字,和一部分英文符号,按照ASCII码的顺序在取模软件里填好让它自动生产就好了,比如以下的部分代码:
__code const unsigned char FONT_ASCII_7x14[][14]= { {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//" ",0 {0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00},//"!",1 {0x00,0x00,0x00,0xA0,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//""",2 {0x00,0x00,0x00,0x24,0x24,0xFE,0x48,0xFE,0x90,0x90,0x00,0x00,0x00,0x00},//"#",3 ......{0x00,0x00,0x00,0x00,0x00,0xCC,0x48,0x30,0x30,0x48,0xCC,0x00,0x00,0x00},//"x",88 {0x00,0x00,0x00,0x00,0x00,0x82,0x44,0x44,0x28,0x28,0x10,0x30,0xC0,0x00},//"y",89 {0x00,0x00,0x00,0x00,0x00,0xFC,0x08,0x10,0x20,0x40,0xFC,0x00,0x00,0x00},//"z",90 }
因为屏幕分辨率是128x128,8比较吉利,所以我就考虑每个英文字符占用16x8的分辨率来显示,据此中文则为16x16.但是为了防止字符挤到一块儿去,因此空出一个像素行来确保两行之间有一个空行。据此取模软件生成的如上字库内容,中文部分因为暂时没想好要写点啥,所以就先不管它了
基于ZStack3.0.1(CC2530)和ST7735S的HAL_LCD驱动替换(一)相关推荐
- 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的&q ...
- 贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现)
题目:贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现) 有关贝叶斯网络结构学习的一基本概念可以参考:贝叶斯网络结构学习方法简介 有关函数输入输出参数的解释可以参考:贝叶 ...
- 基于AFNetworking3.0网络封装
概述 对于开发人员来说,学习网络层知识是必备的,任何一款App的开发,都需要到网络请求接口.很多朋友都还在使用原生的NSURLConnection一行一行地写,代码到处是,这样维护起来更困难了. 对于 ...
- 基于Tomcat5.0和Axis2开发Web Service代码详解
本文将详细介绍HelloWorld中使用的server和client端代码.阅读之前,你应该首先了解SOAP1.1协议.<?xml:namespace prefix = o ns = " ...
- Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)
概述 测试 源码 概述 Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload) 上篇博文我们说了基于Apache Commons FileUpload的 ...
- ESP8266的MQTT客户端搭建教程(基于NONS_SDK_v2.0)
前言 MQTT是IBM开发的一个即时通讯协议,面向M2M和物联网的连接,采用轻量级发布和订阅消息传输机制,并且有可能成为物联网的重要组成部分. ESP8266是一款物美价廉的Wi-Fi芯片,集成Ten ...
- 基于matlab的dsp调试方法,基于Matlab7.0的DSP调试
基于Matlab7.0的DSP调试 通过Matlab7.0中的CCSLink与CCS3.3软件连接,实现对DSP程序的调试. CCSLink的主要特点:在MATLAB环境下完成对DSP器件的调试.数据 ...
- 系统接口502异常_基于SpringBoot2.0的后台权限管理系统
简介 基于SpringBoot2.0的后台权限管理系统界面简洁美观敏捷开发系统架构.核心技术采用Spring.MyBatis.Shiro没有任何其它重度依赖. 互联网云快速开发框架,微服务分布式代码生 ...
- 基于Tomcat5.0和Axis2开发Web Service应用实例
本文将介绍如何使用Tomcat5.0和Apache Axis2开发.部署及测试一个简单的Web Service应用.<?xml:namespace prefix = o ns = "u ...
最新文章
- Java清空数组的数据
- LVS原理详解(3种工作方式8种调度算法)--老男孩
- 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。...
- QML创建C ++插件
- 实例46:python
- 数仓如何设置大小写不敏感函数
- 苹果x与苹果xs的区别_卡通与苹果Xs手机壳的完美邂逅,可爱气质萦绕指尖
- 最简单的BERT模型调用方法
- c语言菜单选择如何用字符形式,C语言编写R进制转换通用程序(R=2.5.8.16),菜单选择的形式!!急!!!...
- facade层,service 层,domain层,dao 层设计
- 验证码~正则表达式【整理汇总】
- 裁判文书数据docid解密,提供api接口,直接使用
- B站视频下载器,可以下载到电脑后保存,畅享视频下载
- 7-3 计算平均成绩(15 分)(转载)
- Ipad2 使用心得
- 计算机硬件类的相关课程,计算机硬件类课程,hardware course,音标,读音,翻译,英文例句,英语词典...
- CNN网络模型大总结【持续更新中...】
- 表计算函数(Tableau)
- 全球与中国市场聚乙烯醇缩丁醛(PVB)树脂发展规模分析与前景战略研究报告2022年版
- 思科刀片服务器系统,思科UCS平台:B460 M4刀片服务器解读
热门文章
- 人机工程学产品设计案例_产品设计|手持产品设计案例大放送,手持类的产品设计要点...
- 数学建模常见的综合评价方法及预测方法
- matlab 祁彬彬,MATLAB 向量化编程基础精讲
- 更换电脑机械硬盘之后,无需重新安装程序技巧(系统盘为固态),解决D盘程序快捷方式图标白色方块
- Kubernetes单机创建MySQL+Tomcat演示程序:《Kubernetes权威指南》第一章demo报错踩坑
- 工商名人堂 爱德华·约翰逊二世---富达基金的崛起(转载自新浪)
- [ Linux ] 零散文件系统安装各种命令和软件的方法
- 凯撒密码解密加密(C语言)
- 网络、如何通信、TCP/IP协议
- java输入月份获得该年的这个月最后一个工作日是多少号(星期一到星期五)