最近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驱动替换(一)相关推荐

  1. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)

    编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的&q ...

  2. 贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现)

    题目:贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现) 有关贝叶斯网络结构学习的一基本概念可以参考:贝叶斯网络结构学习方法简介 有关函数输入输出参数的解释可以参考:贝叶 ...

  3. 基于AFNetworking3.0网络封装

    概述 对于开发人员来说,学习网络层知识是必备的,任何一款App的开发,都需要到网络请求接口.很多朋友都还在使用原生的NSURLConnection一行一行地写,代码到处是,这样维护起来更困难了. 对于 ...

  4. 基于Tomcat5.0和Axis2开发Web Service代码详解

    本文将详细介绍HelloWorld中使用的server和client端代码.阅读之前,你应该首先了解SOAP1.1协议.<?xml:namespace prefix = o ns = " ...

  5. Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)

    概述 测试 源码 概述 Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload) 上篇博文我们说了基于Apache Commons FileUpload的 ...

  6. ESP8266的MQTT客户端搭建教程(基于NONS_SDK_v2.0)

    前言 MQTT是IBM开发的一个即时通讯协议,面向M2M和物联网的连接,采用轻量级发布和订阅消息传输机制,并且有可能成为物联网的重要组成部分. ESP8266是一款物美价廉的Wi-Fi芯片,集成Ten ...

  7. 基于matlab的dsp调试方法,基于Matlab7.0的DSP调试

    基于Matlab7.0的DSP调试 通过Matlab7.0中的CCSLink与CCS3.3软件连接,实现对DSP程序的调试. CCSLink的主要特点:在MATLAB环境下完成对DSP器件的调试.数据 ...

  8. 系统接口502异常_基于SpringBoot2.0的后台权限管理系统

    简介 基于SpringBoot2.0的后台权限管理系统界面简洁美观敏捷开发系统架构.核心技术采用Spring.MyBatis.Shiro没有任何其它重度依赖. 互联网云快速开发框架,微服务分布式代码生 ...

  9. 基于Tomcat5.0和Axis2开发Web Service应用实例

    本文将介绍如何使用Tomcat5.0和Apache Axis2开发.部署及测试一个简单的Web Service应用.<?xml:namespace prefix = o ns = "u ...

最新文章

  1. Java清空数组的数据
  2. LVS原理详解(3种工作方式8种调度算法)--老男孩
  3. 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。...
  4. QML创建C ++插件
  5. 实例46:python
  6. 数仓如何设置大小写不敏感函数
  7. 苹果x与苹果xs的区别_卡通与苹果Xs手机壳的完美邂逅,可爱气质萦绕指尖
  8. 最简单的BERT模型调用方法
  9. c语言菜单选择如何用字符形式,C语言编写R进制转换通用程序(R=2.5.8.16),菜单选择的形式!!急!!!...
  10. facade层,service 层,domain层,dao 层设计
  11. 验证码~正则表达式【整理汇总】
  12. 裁判文书数据docid解密,提供api接口,直接使用
  13. B站视频下载器,可以下载到电脑后保存,畅享视频下载
  14. 7-3 计算平均成绩(15 分)(转载)
  15. Ipad2 使用心得
  16. 计算机硬件类的相关课程,计算机硬件类课程,hardware course,音标,读音,翻译,英文例句,英语词典...
  17. CNN网络模型大总结【持续更新中...】
  18. 表计算函数(Tableau)
  19. 全球与中国市场聚乙烯醇缩丁醛(PVB)树脂发展规模分析与前景战略研究报告2022年版
  20. 思科刀片服务器系统,思科UCS平台:B460 M4刀片服务器解读

热门文章

  1. 人机工程学产品设计案例_产品设计|手持产品设计案例大放送,手持类的产品设计要点...
  2. 数学建模常见的综合评价方法及预测方法
  3. matlab 祁彬彬,MATLAB 向量化编程基础精讲
  4. 更换电脑机械硬盘之后,无需重新安装程序技巧(系统盘为固态),解决D盘程序快捷方式图标白色方块
  5. Kubernetes单机创建MySQL+Tomcat演示程序:《Kubernetes权威指南》第一章demo报错踩坑
  6. 工商名人堂 爱德华·约翰逊二世---富达基金的崛起(转载自新浪)
  7. [ Linux ] 零散文件系统安装各种命令和软件的方法
  8. 凯撒密码解密加密(C语言)
  9. 网络、如何通信、TCP/IP协议
  10. java输入月份获得该年的这个月最后一个工作日是多少号(星期一到星期五)