void Read_Data(void)
{
DxMIT_LOW(); //DxMIT_HIGH();
delay_ms(1);
while(Read_pin(1));
DxMIT_HIGH(); // DxMIT_LOW();
// DCLK_LOW();
delay_ms(10);
// __nop();
while(1)
{
DCLK_HIGH();
delay_ms(5);
ddc112u_data|= Read_E_pin(1);
// delay_ms(10);
DCLK_LOW();
n++;
// delay_us(5);
ddc112u_data<<=1;
delay_ms(5);
if(n>=20)
{
DxMIT_LOW();// DxMIT_HIGH();
ddc112u_data&=0x0fffff;
ddc112u_data=0;
n=0;
break;
}
}
f=!f;
GPIO_WriteBit(GPIOE,GPIO_Pin_11,f);
// GPIO_WriteBit(GPIOE,GPIO_Pin_10,f);
if(count>=100 && f)
{
// m=!m;
GPIO_WriteBit(GPIOE,GPIO_Pin_10,m=!m);
count=0;
}
count++;
使用GPIO模拟输出频率, DxMIT_LOW mcu引脚 通过与非门连到DDC112,这里输入高低电平是反的, clk大概 500khz,conv 大概 5khz,输入4-20ma, 但是转换结果不对,一直是0,不知是什么原因

