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 驱动有差异?相关推荐

  1. Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序

    字符设备模拟pipe的驱动程序 让我们用一个"pipe"的设备驱动去结束简单字符设备吧(这里所说的pipe并非标准的pipe只是模拟了一个从一端写入从另一端写入的设备) 测试代码1 ...

  2. 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的I2C驱动架构分析

    PowerPC + Linux2.6.25平台下的I2C驱动架构分析 Sailor_forever  sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...

  3. 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的SPI驱动架构分析

    PowerPC + Linux2.6.25平台下的SPI驱动架构分析 Sailor_forever  sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...

  4. Linux PCI驱动框架分析:(Peripheral Component Interconnect,外部设备互联)

    <DPDK 20.05 | rte_pci_bus思维导图 | 第一版> <linux系统下:IO端口,内存,PCI总线 的 读写(I/O)操作> <Linux指令:ls ...

  5. Linux驱动编程 step-by-step

    第三次看了LDD3了(虽然现在已经是kernel3.0但从这本书商还是能学到很多) 每次都有一些收获 现在终于能够写一写代码了 驱动程序的作用: 简单来说 驱动程序就是使计算机与设备通信的特殊的代码, ...

  6. linux PCIE驱动开发

    2019独角兽企业重金招聘Python工程师标准>>> linux下PCI驱动源码实例1,该源码缺少pci_fops的初始化 #include <linux/fs.h> ...

  7. 全志R16_SPI总线驱动的使用文档,全志R16开发资料

    介绍Linux 内核中SPI 子系统的接口及使用方法,为SPI设备驱动的开发提供参考.适用于基于Linux 3.4内核的全志R16硬件平台. 2. 2. 模块介绍 2.1.  模块功能介绍 Linux ...

  8. 敲黑板、划重点!一文讲透古典互联网与产业的差异

    古典互联网,产业互联网. 古典互联网是移动互联网的上半场.大家尽享入网人群的增长红利.工具产品百花齐放,平台产品争奇斗艳.胜者笑傲江湖成为巨头,败者寻找/创造下一个风口. 产业互联网是移动互联网的下半 ...

  9. 汇总BASLER(宝视纳)工业相机驱动driver应用安装问题

    1.相机网口资源占用异常过高 搭配工业BASLER相机非必要不使用intel网口驱动,应搭配相机对应的BASLER驱动,否则以引起网口资源占用异常过高情况.安装BASLER相机及intel驱动区别   ...

最新文章

  1. 4国语言软件下载网站源码
  2. ubuntu 14.04 环境下打开xls、pdf与png文件
  3. EShop网上商城项目(二)
  4. Anaconda不同平台的安装方式
  5. 世界政府峰会发布了《在区块链上构建超互联未来》文件
  6. php输出图片问题,解决ThinkPHP里无法输出图片问题(关于设置响应头)
  7. TS文件合并,这里提供了一点小思路。
  8. Symbian S60 自动通话录音
  9. win10系统托盘图标不见了_win10英特尔显卡设置图标不见了如何解决_win10英特尔核芯显卡托盘图标不见了怎么找回...
  10. 银行业务模拟系统(C/C++实现内含详细注释)
  11. MYS-6ULX-IOT 开发板测评——使用MfgTool更新系统
  12. dell win10忘记密码怎么办
  13. Springboot---Model,ModelMap,ModelAndView
  14. 【java学习】集合框架
  15. 下载微信视频号视频的憨批方法
  16. Latex系列2---段落编写+标题编写+目录生成
  17. 忠仕商务通修改对话界面内容
  18. 《互联网信贷风险与大数据》读书笔记(二)
  19. python安装talib
  20. [小知识] 移动端设备号常见类型

热门文章

  1. app运营业绩统计管理框架模板
  2. 【7.talker.py listener.py】转载自他人作品,相关专业知识咨询相关人员!
  3. SAP 各模块常用的BAPI
  4. 【并查集】HAOI破译密文
  5. 计算机能显示u盘吗,U盘插到电脑上,能检测到这设备,但是在“我的电脑”里没有显示U盘...
  6. js正则表达式的使用:
  7. XXE漏洞以及Blind XXE总结
  8. 1054:分数加减法
  9. 数据仓库DW、ODS、DM概念及其区别
  10. windows任务栏透明_如何使Windows 10任务栏完全透明