TM1668 与 CT1668 驱动有差异?
TM1668 与 CT1668 驱动有差异?
在调试案子中发现 TM1668 与 CT1668 同一份代码有不同表现。
在用两款IC驱动LED屏时,CT1668一切正常,但是换上TM1668就会出现显示不全的现象,让其一直扫描更新显示后发现,TM1668显示就像是丢包一样,时有时无。排除了系统时钟频率的问题,代码也用其他IC(TM1628、TM1629、HT1628)测试过,均未发现问题。
后来在驱动write函数后加个延时就好了。之前用过很多这类IC,都用同一份驱动,不知道这次为什么会出现这样的问题。这个问题在别的MCU上测试也是存在。
有知道这个差异是怎么回事的大佬不妨解释解释。。
附上代码:
#define DISPLAY_MODE_SET 0x03
#define DATA_SETTING_CMD 0x40
#define DATA_SETTINGSPEC_CMD 0x44
#define ADDR_SETTING_CMD 0xC0
#define DISPLAY_CONTROL_CMD 0x8fu8 tm1668_buf[14];void LED16XXWrite(u8 data)
{u8 i;delay_us(1);STB_LED_L;delay_us(1);for(i=0;i<8;i++){CLK_LED_L;delay_us(5);if(data & 0x01){DAT_LED_H;}else{DAT_LED_L;}delay_us(5);CLK_LED_H;data = data >> 1;}delay_us(5);//就是这里
}void LED16XX_init(void)
{u8 i;DAT_LED_OUT;CLK_LED_OUT;STB_LED_OUT;CLK_LED_H;DAT_LED_H;STB_LED_H;LED16XXWrite(DISPLAY_MODE_SET);STB_LED_H;LED16XXWrite(DATA_SETTING_CMD);STB_LED_H;LED16XXWrite(ADDR_SETTING_CMD);for(i=0;i<14;i++){LED16XXWrite(0);i++;}STB_LED_H;LED16XXWrite(DISPLAY_CONTROL_CMD);STB_LED_H;
}void ledseg_16xx_scan(void)
{u8 i;LED1629CWrite(DISPLAY_MODE_SET);STB_LED_H;LED1629CWrite(DATA_SETTING_CMD);STB_LED_H;LED1629CWrite(ADDR_SETTING_CMD);for(i=0;i<14;i++){LED1629CWrite(tm1668_buf[i]);}STB_LED_H;LED1629CWrite(DISPLAY_CONTROL_CMD);STB_LED_H;
}
TM1668 与 CT1668 驱动有差异?相关推荐
- Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序
字符设备模拟pipe的驱动程序 让我们用一个"pipe"的设备驱动去结束简单字符设备吧(这里所说的pipe并非标准的pipe只是模拟了一个从一端写入从另一端写入的设备) 测试代码1 ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的I2C驱动架构分析
PowerPC + Linux2.6.25平台下的I2C驱动架构分析 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的SPI驱动架构分析
PowerPC + Linux2.6.25平台下的SPI驱动架构分析 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...
- Linux PCI驱动框架分析:(Peripheral Component Interconnect,外部设备互联)
<DPDK 20.05 | rte_pci_bus思维导图 | 第一版> <linux系统下:IO端口,内存,PCI总线 的 读写(I/O)操作> <Linux指令:ls ...
- Linux驱动编程 step-by-step
第三次看了LDD3了(虽然现在已经是kernel3.0但从这本书商还是能学到很多) 每次都有一些收获 现在终于能够写一写代码了 驱动程序的作用: 简单来说 驱动程序就是使计算机与设备通信的特殊的代码, ...
- linux PCIE驱动开发
2019独角兽企业重金招聘Python工程师标准>>> linux下PCI驱动源码实例1,该源码缺少pci_fops的初始化 #include <linux/fs.h> ...
- 全志R16_SPI总线驱动的使用文档,全志R16开发资料
介绍Linux 内核中SPI 子系统的接口及使用方法,为SPI设备驱动的开发提供参考.适用于基于Linux 3.4内核的全志R16硬件平台. 2. 2. 模块介绍 2.1. 模块功能介绍 Linux ...
- 敲黑板、划重点!一文讲透古典互联网与产业的差异
古典互联网,产业互联网. 古典互联网是移动互联网的上半场.大家尽享入网人群的增长红利.工具产品百花齐放,平台产品争奇斗艳.胜者笑傲江湖成为巨头,败者寻找/创造下一个风口. 产业互联网是移动互联网的下半 ...
- 汇总BASLER(宝视纳)工业相机驱动driver应用安装问题
1.相机网口资源占用异常过高 搭配工业BASLER相机非必要不使用intel网口驱动,应搭配相机对应的BASLER驱动,否则以引起网口资源占用异常过高情况.安装BASLER相机及intel驱动区别 ...
最新文章
- 4国语言软件下载网站源码
- ubuntu 14.04 环境下打开xls、pdf与png文件
- EShop网上商城项目(二)
- Anaconda不同平台的安装方式
- 世界政府峰会发布了《在区块链上构建超互联未来》文件
- php输出图片问题,解决ThinkPHP里无法输出图片问题(关于设置响应头)
- TS文件合并,这里提供了一点小思路。
- Symbian S60 自动通话录音
- win10系统托盘图标不见了_win10英特尔显卡设置图标不见了如何解决_win10英特尔核芯显卡托盘图标不见了怎么找回...
- 银行业务模拟系统(C/C++实现内含详细注释)
- MYS-6ULX-IOT 开发板测评——使用MfgTool更新系统
- dell win10忘记密码怎么办
- Springboot---Model,ModelMap,ModelAndView
- 【java学习】集合框架
- 下载微信视频号视频的憨批方法
- Latex系列2---段落编写+标题编写+目录生成
- 忠仕商务通修改对话界面内容
- 《互联网信贷风险与大数据》读书笔记(二)
- python安装talib
- [小知识] 移动端设备号常见类型
热门文章
- app运营业绩统计管理框架模板
- 【7.talker.py listener.py】转载自他人作品,相关专业知识咨询相关人员!
- SAP 各模块常用的BAPI
- 【并查集】HAOI破译密文
- 计算机能显示u盘吗,U盘插到电脑上,能检测到这设备,但是在“我的电脑”里没有显示U盘...
- js正则表达式的使用:
- XXE漏洞以及Blind XXE总结
- 1054:分数加减法
- 数据仓库DW、ODS、DM概念及其区别
- windows任务栏透明_如何使Windows 10任务栏完全透明