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]
查看完整版本: 求助问题