查看: 2050|回复: 5

[求助] KM33的SLCD驱动程序及其初始化--在线等

[复制链接]

该用户从未签到

4

主题

10

帖子

0

新手上路

Rank: 1

积分
38
最后登录
2016-9-9
发表于 2015-10-29 17:21:53 | 显示全部楼层 |阅读模式
我按照网上的历程进行SLCD的初始化和驱动配置,仔细看了芯片手册,仍然无法驱动SLCD的显示,一个段都驱动不了,请大家帮忙!

初始化:
SIM_Init(SIM_MODULE_ALL_PERIPH_ON_CONFIG);//配置为所有外设
LCD_Init(LCD_CHARGEPUMP_EN_SOURCE_ALT_BACKPLANES_4,LCD_FRONT_PLANE_PINS_INIT,
    LCD_BACK_PLANE_PINS_INIT,LCD_ASSIGN_BACK_PLANES_INIT);//4个背电极设置,前端和背端寄存器初始化

void LCD_Init (tLCD lcd, tLCD_FP lcd_fp, tLCD_BP lcd_bp, tLCD_CP lcd_cp)
{
  /* Low power select                                                         */
  MCG_C1      |= MCG_C1_IRCLKEN_MASK;  
  /* Enable LCD controller pins                                               */
  LCD_PENL     = lcd_fp.PENL;
  LCD_PENH     = lcd_fp.PENH;
  /* Enable LCD backplane controller pins                                     */
  LCD_BPENL    = lcd_bp.BPENL;
  LCD_BPENH    = lcd_bp.BPENH;
  /* Assign back planes  - 0 is BP1, 1 is BP2 etc                             */
  LCD_WF3TO0   = lcd_cp.WF3TO0;        
  LCD_WF7TO4   = lcd_cp.WF7TO4;        
  LCD_WF11TO8  = lcd_cp.WF11TO8;        
  LCD_WF15TO12 = lcd_cp.WF15TO12;        
  LCD_WF19TO16 = lcd_cp.WF19TO16;        
  LCD_WF23TO20 = lcd_cp.WF23TO20;        
  LCD_WF27TO24 = lcd_cp.WF27TO24;        
  LCD_WF31TO28 = lcd_cp.WF31TO28;        
  LCD_WF35TO32 = lcd_cp.WF35TO32;        
  LCD_WF39TO36 = lcd_cp.WF39TO36;        
  LCD_WF43TO40 = lcd_cp.WF43TO40;        
  LCD_WF47TO44 = lcd_cp.WF47TO44;        
  LCD_WF51TO48 = lcd_cp.WF51TO48;        
  LCD_WF55TO52 = lcd_cp.WF55TO52;        
  LCD_WF59TO56 = lcd_cp.WF59TO56;        
  LCD_WF63TO60 = lcd_cp.WF63TO60;        
  /* LCD controller control register setting                                  */
  LCD_AR       = lcd.AR;
  LCD_FDCR     = lcd.FDCR;
  LCD_GCR     |= lcd.GCR;
  /* LCD controller enable                                                    */
  LCD_GCR     |= LCD_GCR_LCDEN_MASK;
}

主程序:
while(1)
{
  DELAY();
   LCD_Write_Segments(LCD_ALL_SEGMENTS_ON_SET);//点亮所有段
   DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY();
   LCD_Write_Segments(LCD_ALL_SEGMENTS_OFF_SET);//熄灭所有段
   DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY(); DELAY();
}
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-10-29 17:23:08 | 显示全部楼层
本帖最后由 FSL_TICS_ZJJ 于 2015-10-29 17:24 编辑

驱动SLCD,需要配合你的SLCD具体驱动情况,编写相关代码的。
你看你点亮段的信号,是否和你的SLCD匹配?
可以先点亮一个段试试。
把程序编写好后,用示波器测测,波形是否对了。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

10

帖子

0

新手上路

Rank: 1

积分
38
最后登录
2016-9-9
 楼主| 发表于 2015-10-29 17:29:30 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-10-29 17:23
驱动SLCD,需要配合你的SLCD具体驱动情况,编写相关代码的。
你看你点亮段的信号,是否和你的SLCD匹配?
可 ...

我配置的管脚都是对的,就只是没用示波器来看波形,请问下这个初始化有没有问题?
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-10-30 12:45:24 | 显示全部楼层
月下强人 发表于 2015-10-29 17:29
我配置的管脚都是对的,就只是没用示波器来看波形,请问下这个初始化有没有问题? ...

楼主,你参考下我这篇文章,查找下配置情况;
https://www.nxpic.org.cn/module/forum/thread-585738-1-1.html
直接参考2楼的代码以及文档。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

10

帖子

0

新手上路

Rank: 1

积分
38
最后登录
2016-9-9
 楼主| 发表于 2015-10-30 12:51:36 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-10-30 12:45
楼主,你参考下我这篇文章,查找下配置情况;
https://www.nxpic.org.cn/module/forum/thread-585738-1 ...

好的,谢谢,但是KM33的SLCD的PENH和BPENH寄存器无法配置,但是PENL和BPENL寄存器都可以配置,也是初始化的值,这是为什么?

是不是CPU的引脚个数也需要配置?我每次对PENH和BPENH寄存器配置时,这两个32位寄存器的低16位可以配置,高16位貌似被禁止了。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-10-30 12:54:26 | 显示全部楼层
月下强人 发表于 2015-10-30 12:51
好的,谢谢,但是KM33的SLCD的PENH和BPENH寄存器无法配置,但是PENL和BPENL寄存器都可以配置,也是初始化 ...

你看看你的芯片型号,看看相关的LCD引脚是否是有的?
如果没有应该是不可以配置的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-27 12:55 , Processed in 0.097132 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表