集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 919|回复: 0

求助问题

[复制链接]
Melody_bch 发表于 2012-12-29 18:23:15 | 显示全部楼层 |阅读模式
-----复位-----

static void Dallas_RES(void)
{
  UINT8         i = 0;
  //输出方式
           SET_IO_OUTPUT();
     
           SET_IO(0);
           delay_1us(600);

          //输入方式   
          SET_IO_INPUT();
           while(1)
          {
   delay_1us(2);
            uc_resp=GET_IO();
  if(uc_resp==0)
   {

                    printf ("复位成功!\n");
                    delay_1us(400);
    break;
           }
          }
         return;
}

-----写0或写1----

static void Dallas_write_bit(UINT8 bitval)
{
SET_IO_OUTPUT();  //输出方式
SET_IO(0);              //所有通信均以主机拉低数据线开始
delay_1us(2);

if(bitval==1)
       {
          SET_IO(1);     //写1
       }

delay_1us(70);       // 保持 timeslot个时间
SET_IO(1);
delay_1us(2);  
}

-----读一位----

static UINT8 Dallas_read_bit(void)
{
UINT8 uc_GET;

SET_IO_OUTPUT(); // 设置为输出模式
SET_IO(0);     //先拉底,准备收数据
delay_1us(2);
SET_IO(1);

SET_IO_INPUT();  // 设置为输入模式,开始收数据
delay_1us(15);   // 延迟15us,进入取样窗口
uc_GET = (UINT8)GET_IO();
   
return(uc_GET );
}


这段C代码怎么转换成VHDL语言的函数并且可以直接调用?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-27 02:38 , Processed in 0.081521 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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