Files
AC-Controller/STM32_2021-1-15/Device/qd_u1oa_xsb.c
T
kevin c70a004b2a 添加MDK工程
程序存在一个问题:开机没有自检
添加立创PCB

Signed-off-by: kevin <kevin@lmve.net>
2021-03-12 04:45:11 +08:00

180 lines
2.6 KiB
C

#include "qd_u1oa_xsb.h"
const uint8_t dg_num[10]={0xfa,0xc0,0x9e,0xd6,0xe4,0x76,0x7e,0xc2,0xfe,0xf6};//ÊýÂë¹Ü×ÖÄ£
struct device_panel panel;
void Sand_Byte_to_595(uint8_t h,uint8_t l)
{
ds_in_or_out(1);
hc595_ds(0);
hc595_sc(0);
hc595_sh(0);
for(char a=0;a<8;a++)
{
if((h<<a)&0x80)
{
hc595_ds(1);
}else
{
hc595_ds(0);
}
hc595_sc(1);
hc595_sc(0);
}
for(char a=0;a<8;a++)
{
if((l<<a)&0x80)
{
hc595_ds(1);
}else
{
hc595_ds(0);
}
hc595_sc(1);
hc595_sc(0);
}
hc595_sh(1);
hc595_sh(0);
}
void panel_scan_server()
{
/*
static uint32_t temptime=0;
if(HAL_GetTick()>temptime)
{
temptime+=1000;
panel.now_temp=rand()%100;
panel.set_temp=rand()%100;
}
if(HAL_GetTick()&0x200)
{
panel.led_green=1;
panel.led_red=0;
}else
{
panel.led_green=0;
panel.led_red=1;
}
*/
if(panel.now_temp==0xff)
{
Sand_Byte_to_595(0xff&~dg1,0);
Sand_Byte_to_595(0xff&~dg2,0);
}else
{
Sand_Byte_to_595(0xff&~dg1,dg_num[panel.now_temp/10]);
Sand_Byte_to_595(0xff&~dg2,dg_num[panel.now_temp%10]);
}
if(panel.set_temp==0xff)
{
Sand_Byte_to_595(0xff&~dg3,0);
Sand_Byte_to_595(0xff&~dg4,0);
}else
{
Sand_Byte_to_595(0xff&~dg3,dg_num[panel.set_temp/10]);
Sand_Byte_to_595(0xff&~dg4,dg_num[panel.set_temp%10]);
}
uint8_t ledtemp=0;
if(panel.led_green==1)
{
ledtemp|=l_green;
}
if(panel.led_red==1)
{
ledtemp|=l_red;
}
Sand_Byte_to_595(0xff&~l_com,ledtemp);
Sand_Byte_to_595(~s1,0);
panel.flag_s1=Read_Ds();
Sand_Byte_to_595(~s2,0);
panel.flag_s2=Read_Ds();
Sand_Byte_to_595(~s3,0);
panel.flag_s3=Read_Ds();
/****************************°´Å¥Â˲¨*/
if(panel.flag_s1_==0&&panel.flag_s1==1)
{
panel.flag_s1_=1;
}
if(panel.flag_s1_==1&&panel.flag_s1==0)
{
panel.flag_s1_=0;
panel.i_s1=0;
panel.flag_s1_t=0;
}
if(panel.flag_s1_==1)
{
panel.i_s1++;
if(panel.i_s1>=b_i)
{
panel.i_s1=0;
if(panel.flag_s1==1)
{
panel.flag_s1_t=1;
}
}
}
if(panel.flag_s2_==0&&panel.flag_s2==1)
{
panel.flag_s2_=1;
}
if(panel.flag_s2_==1&&panel.flag_s2==0)
{
panel.flag_s2_=0;
panel.i_s2=0;
panel.flag_s2_t=0;
}
if(panel.flag_s2_==1)
{
panel.i_s2++;
if(panel.i_s2>=b_i)
{
panel.i_s2=0;
if(panel.flag_s2==1)
{
panel.flag_s2_t=1;
}
}
}
if(panel.flag_s3_==0&&panel.flag_s3==1)
{
panel.flag_s3_=1;
}
if(panel.flag_s3_==1&&panel.flag_s3==0)
{
panel.flag_s3_=0;
panel.i_s3=0;
panel.flag_s3_t=0;
}
if(panel.flag_s3_==1)
{
panel.i_s3++;
if(panel.i_s3>=b_i)
{
panel.i_s3=0;
if(panel.flag_s3==1)
{
panel.flag_s3_t=1;
}
}
}
}