求助问题
-----复位-----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]
