极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10605|回复: 0

样例程序修改成库文件

[复制链接]
发表于 2014-6-16 22:18:12 | 显示全部楼层 |阅读模式
买了一块带字库的OLED,样例程序中的字库查询程序没有使用库文件,现在将其修改成库文件后,编译通不过。
原样例程序中代码:

/****从字库IC中取汉字或字符数据(1个字节)***/
static uchar get_data_from_ROM( )
{
  uchar i;
  uchar ret_data = 0;

  digitalWrite(Rom_SCK, HIGH);
  for (i = 0; i < 8; i++)
  {
    // pinMode(Rom_OUT,INPUT_PULLUP); // pull high
    digitalWrite(Rom_SCK, LOW);
    ret_data = ret_data << 1;
    if (digitalRead(Rom_OUT)) ret_data++;
    digitalWrite(Rom_SCK, HIGH);
  }
  return (ret_data);
}
/*
  从相关地址
        addrHigh :地址高字节
        addrMid  :地址中字节
        addrLow  :地址低字节
  中连续读出DataLen个字节的数据到 pBuff的地址
*/
/*连续读取*/
void get_n_bytes_data_from_ROM(uchar addrHigh, uchar addrMid, uchar addrLow, uchar *pBuff, uchar DataLen )
{
  uchar i;
  digitalWrite(lcd_cs, HIGH);
  digitalWrite(Rom_CS, LOW);
  digitalWrite(Rom_SCK, LOW);
  send_command_to_ROM(0x03);
  send_command_to_ROM(addrHigh);
  send_command_to_ROM(addrMid);
  send_command_to_ROM(addrLow);
  for (i = 0; i < DataLen; i++ )
    *(pBuff + i) = get_data_from_ROM();
  digitalWrite(Rom_CS, HIGH);
}
/******************************************************************/


现修改为库文件时的代码:
/****从字库IC中取汉字或字符数据(1个字节)*/
static uchar get_data_from_ROM( )
{
  uchar i;
  uchar ret_data=0;
  digitalWrite(rsck, HIGH);
  for(i=0;i<8;i++)
  {
    digitalWrite(rsck, LOW);
    ret_data = ret_data<<1;
    if(digitalRead(rout)) ret_data++;
    digitalWrite(rsck, HIGH);
  }
  return(ret_data);
}

/*连续读取*/
void SSD1306::get_n_bytes_data_from_ROM(uchar addrHigh,uchar addrMid,uchar addrLow,uchar *pBuff,uchar DataLen )
{
  uchar i;
  digitalWrite(rcs, LOW);
  digitalWrite(rsck, LOW);
  send_command_to_ROM(0x03);
  send_command_to_ROM(addrHigh);
  send_command_to_ROM(addrMid);
  send_command_to_ROM(addrLow);
  for(i = 0; i < DataLen; i++ )
   *(pBuff+i) = get_data_from_ROM();
digitalWrite(rcs, HIGH);
}

结果编译就报错了o

I:\Program Files\arduino-1.5.6-r2\libraries\SSD1306\SSD1306.cpp: In function 'unsigned char get_data_from_ROM()':
I:\Program Files\arduino-1.5.6-r2\libraries\SSD1306\SSD1306.cpp:530: error: 'rsck' was not declared in this scope
I:\Program Files\arduino-1.5.6-r2\libraries\SSD1306\SSD1306.cpp:535: error: 'rout' was not declared in this scope

高手请教,应该如何修改?
回复

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 14:48 , Processed in 0.063716 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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