OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2492|回复: 3

请教一下各位大神,我的pcf8563程序怎么不能打印任何东西

[复制链接]

6

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-7-21
在线时间
11 小时
发表于 2016-11-9 17:13:41 | 显示全部楼层 |阅读模式
5金钱
#include "24cxx.h"
//#include "delay.h"
#include "delay.h"



u8 g8563_Store[7];
u8 c8563_Store[7]={0x00,0x00,0x12,0x01,0x01,0x07,0x15};


//AT24CXX¨·
//ReadAddr:·  
//·  :
u8 AT24CXX_ReadOneByte(u8 ReadAddr)
{

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-7-21
在线时间
11 小时
 楼主| 发表于 2016-11-9 17:14:13 | 显示全部楼层
#include "24cxx.h"
//#include "delay.h"
#include "delay.h"
//Mini STM32·°
//24CXX(24C01~24C16,24C32~256!é¤!)
//×@ALIENTEK
//2010/6/10
//V1.2


u8 g8563_Store[7];
u8 c8563_Store[7]={0x00,0x00,0x12,0x01,0x01,0x07,0x15};
//IIC

//AT24CXX¨·
//ReadAddr:·  
//·  :
u8 AT24CXX_ReadOneByte(u8 ReadAddr)
{                                  
        u8 temp=0;                                                                                                                                                               
    IIC_Start();  
          IIC_Send_Byte(0xa2);            //·ü
    IIC_Wait_Ack();
   
    IIC_Send_Byte(ReadAddr);
    IIC_Wait_Ack();
       
          IIC_Start();
       
          IIC_Send_Byte(0xa3);
          IIC_Wait_Ack();

    temp=IIC_Read_Byte();
    IIC_NAck();
    IIC_Stop();  
        return temp;
}
//AT24CXX¨·
//WriteAddr  :·   
//DataToWrite:
void AT24CXX_WriteOneByte(u8 WriteAddr,u8 DataToWrite)
{                                                                                                                                                                                          
  IIC_Start();
  IIC_Send_Byte(0xa2);
        IIC_Wait_Ack();
       
        IIC_Send_Byte(WriteAddr);
  IIC_Wait_Ack();
       
        IIC_Send_Byte(DataToWrite);
  IIC_Wait_Ack();       
         
        IIC_Stop();
        delay_ms(10);         
}


//
u8 show_time[4];
void AT24CXX_ReadTime(void)
{
    g8563_Store[0]=AT24CXX_ReadOneByte(0x02)&0x7f;
    g8563_Store[1]=AT24CXX_ReadOneByte(0x03)&0x7f;
    g8563_Store[2]=AT24CXX_ReadOneByte(0x04)&0x3f;
    g8563_Store[3]=AT24CXX_ReadOneByte(0x05)&0x3f;
    //g8563_Store[4]=AT24CXX_ReadOneByte(0x06)&0x07;
    //g8563_Store[5]=AT24CXX_ReadOneByte(0x07)&0x1f;
    //g8563_Store[6]=AT24CXX_ReadOneByte(0x08);
       
          show_time[0] = (g8563_Store[0]/16)*10+(g8563_Store[0]%16);  
    show_time[1] = (g8563_Store[1]/16)*10+(g8563_Store[1]%16);  
    show_time[2] = (g8563_Store[2]/16)*10+(g8563_Store[2]%16);  
    show_time[3] = (g8563_Store[3]/16)*10+(g8563_Store[3]%16);
}

//·±° 
void AT24CXX_ReadTime2(void)
{
  AT24CXX_ReadTime();
        if(g8563_Store[0]==0)
          {
                  AT24CXX_ReadTime();       
                }
}

//±
u8 set_time[4]={0x25,0x13,0x18,0x11};
void AT24CXX_WriteTime(void)
{
        AT24CXX_WriteOneByte(0x02,(set_time[0]));  
  AT24CXX_WriteOneByte(0x03,(set_time[1]));  
  AT24CXX_WriteOneByte(0x04,(set_time[2]));  
  AT24CXX_WriteOneByte(0x05,(set_time[3]));
}

void AT24CXX_Init(void)
{
        u8 i;
        IIC_Init();
        delay_ms(200);
        AT24CXX_WriteOneByte(0x00,0x20); //±
        AT24CXX_WriteTime();
        AT24CXX_WriteOneByte(0x00,0x00); //±
        /*if((0x07 & AT24CXX_ReadOneByte(0x0c)) != 0x05)
          {
                       
                  for(i=0;i<7;i++)
                           {
                                         g8563_Store[i]=c8563_Store[i];
                                 }
                  AT24CXX_WriteTime();
                        AT24CXX_WriteOneByte(0x0c,0x05);
      
      AT24CXX_WriteOneByte(0x00,0x00);
      AT24CXX_WriteOneByte(0x01,0x00);
      AT24CXX_WriteOneByte(0x09,0x00);
      AT24CXX_WriteOneByte(0x0a,0x00);
      AT24CXX_WriteOneByte(0x0b,0x00);
      AT24CXX_WriteOneByte(0x0d,0x03);
      AT24CXX_WriteOneByte(0x0e,0x03);
                }*/
       
}












回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-11-9 21:54:29 | 显示全部楼层
帮顶
回复

使用道具 举报

28

主题

218

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2013-11-19
在线时间
92 小时
发表于 2016-11-14 23:19:23 | 显示全部楼层
PCF8563的驱动程序 网上很多的呀,我之前也写过,它是重要通过一款时钟芯片,它与stm32的通讯方式有IIC、串口等好几种吧,具体看芯片手册,主要通过操作寄存器就可以实现时钟日历功能。但是该款芯片没有闰年自动识别功能,设置时间、月份的大小都要自己写程序判断。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 05:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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