OpenEdv-开源电子网

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

1638读函数

[复制链接]

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
发表于 2017-8-4 10:36:34 | 显示全部楼层 |阅读模式
1金钱
1638的读写,写能用但是读根本不能用啊,整一天了

void Write_addd1638(u8 add )
{
  int i;
  STB_0;
  DIO_OUT;
  for(i=0;i<8;i++)
  {        
    CLK_0;
    if(add&0x01)
    {
      DIO_1;
    }
    else
    {
      DIO_0;
    }
    CLK_1;
    add=(add>>1);
  }  
}
/////////////发送两个字节/////////////////
void Write_data1638(u8 add,u8 data)
{
  int i;
  STB_0;
  DIO_OUT;
  for(i=0;i<8;i++)
  {        
    CLK_0;
    if(add&0x01)
    {
      DIO_1;
    }
    else
    {
      DIO_0;
    }
    CLK_1;
    add=add>>1;        
  }
  for(i=0;i<8;i++)
  {        
    CLK_0;
    if(data&0x01)
    {
      DIO_1;
    }
    else
    {
      DIO_0;
    }
    CLK_1;
    data=data>>1;   
  }
  STB_1;
}
////////////////////////////////////////////

//////////////// 清零函数//////////////////
void zero_all()        
{
  for(u8 i=0;i<16;i++)
  {
    Write_data1638(Address[i],0x00);

  }

}
/////////////读一个字节但不拉高////////////////
u8 read_one()
{
  u8 data;
    DIO_IN;
    STB_0;
for(u8 i=0;i<8;i++)
{
  CLK_0;
  if(value==1)
  {
    data>>=1;
    data=(data|0x80);

  }
else
  {
    data>>=1;
  }
  CLK_1;  
}
return data;
}
/////////////////////////////////////

/////////////读4个数据//////////////
void read_data()
{

  Write_addd1638(0x42);
  delay_us(10);
  for(u8 i=0;i<4;i++)
  {
    byte[i]=read_one();
    delay_us(10);
  }
   STB_1;
}

int main(void)
{  
  GPIO_DeInit(GPIOB);
  GPIO_Init(GPIOB,GPIO_PIN_1,GPIO_MODE_OUT_PP_HIGH_FAST);
  GPIO_Init(GPIOB,GPIO_PIN_0,GPIO_MODE_OUT_PP_HIGH_FAST);
  Write_add1638(0x88);//打开显示开关并调脉冲(0x88开始到0x8F逐次变亮)
  Write_add1638(0x44); //以固定地址发送
  zero_all(); //清屏
  Write_data1638(0xc1,0x01);
  while(1)

  {
  read_data();
    for(u8 i=0;i<4;i++)
    {
      byte[i]=byte[i]+i*4;   

    switch(byte[i])
    {
    case 2:zero_all();
      break;
    case 6:Write_data1638(0xc3,0x01);
//    case 10:ks5
//    case 14:ks7
//    case 64:ks2
//    case 68:ks4
//    case 72:ks6
//    case 76:ks8

按理说按下ks1应该清零的,,求大神指教

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2017-8-7 02:28:15 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 09:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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