你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8L152K4的LCD控制一定要RTC时钟才能工作吗?

[复制链接]
hjl2832 提问时间:2017-1-7 13:01 /
请问STM8L152K4的LCD控制一定要RTC时钟才能工作吗?板子没有RTC的外部晶振,我用STM8L1526_EVAL的例程,修改LCD时钟源为LSI时,发现LCD初始化函数的相关寄存器值在DEBUG时发现都不会赋值更新,一直是默认值。用库里自带的LCD模板,修改为LSI也是一样现象。

收藏 1 评论4 发布时间:2017-1-7 13:01

举报

4个回答
hjl2832 回答时间:2017-1-17 13:26:41
结贴:经过重新买了一个STM8l152的开发板进行测试,发现程序是没问题的,同时时为了验证芯片,我用STM8L152k4的9脚当普通GPIO PD0使用,发现这个脚确定是GPIO口,所以可以肯定,此芯片是STM8L151K4,不是152K4,是国内的奸商打磨的型号。具体关于9脚 的定义,请查询数据手册第33页,8L151的9脚定义和第35页的8L152的第9脚定义,以及注释2关于8L152第9脚为VLCD的说明,注释8关于9脚STM8L151为GPIO PD0的说明。
另外批露我买芯片的商家,天猫店,ID:风*水起旗舰店, 搜STM8L152K4U6,写的9元一片可直拍。
附带说一句,国人真的太可怕了。无所不能。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

hjl2832 回答时间:2017-1-10 14:34:27
既然有人说是配置不对,那我附上代码,实测LED(PA0)取反正常工作。
  1. void main(void)
  2. {  
  3.     unsigned int  temp;
  4.     temp=0;
  5.                
  6.                 GPIO_Init(GPIOA, GPIO_Pin_0, GPIO_Mode_Out_OD_Low_Slow);
  7.                 GPIO_ExternalPullUpConfig(GPIOF, GPIO_Pin_0, ENABLE);
  8.                
  9.                 CLK_HSICmd(ENABLE);
  10.                 CLK_LSICmd(ENABLE);
  11.                 CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
  12.                
  13.     CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);   //使能实时时钟   
  14.     CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);   //使能LCD时钟   
  15.     CLK_RTCClockConfig(CLK_RTCCLKSource_LSI,CLK_RTCCLKDiv_8);   //选择RTC时钟源
  16.     LCD_Init(LCD_Prescaler_64,LCD_Divider_16,LCD_Duty_1_4,LCD_Bias_1_3,LCD_VoltageSource_Internal );    //LCD初始化   
  17.     delay(10);

  18.     LCD_PortMaskConfig(LCD_PortMaskRegister_1,0XFE);  // seg 9,10,11,12,13,14,15为seg口   
  19.     LCD_PortMaskConfig(LCD_PortMaskRegister_2,0X3F);  // seg 16,17,18,19,20,21,为seg口

  20.     LCD_ContrastConfig(LCD_Contrast_3V0);             //配置LCD的对比度
  21.     LCD_DeadTimeConfig(LCD_DeadTime_0);                  // 配置LCD液晶的死区时间
  22.     LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);    // 配置LCD脉冲持续时间。

  23.     LCD_Cmd(ENABLE);   //使能LCD控制器

  24.   while (1)
  25.   {   
  26.       display_LCD(temp);
  27.             temp++;
  28.             if(temp==100)
  29.               temp=0;  
  30.                        
  31.                         GPIO_ToggleBits(GPIOA,GPIO_Pin_0);
  32.                         delay(500);
  33.   }
  34. }
复制代码
完整代码在这附件中,请手上有STM8L152开发板的帮忙验证LCD_Init函数,DEBUG看寄存器的值是否变化。


STM8L152_LCD.rar

下载

1.81 KB, 下载次数: 29, 下载积分: ST金币 -1

小小超 回答时间:2017-1-7 13:59:56
应该不用。估计是你配置不对吧
那片清茶 回答时间:2017-1-9 12:52:42
可以不用。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版