宁远电子科技最新研发的DLT3399A产品,搭建了最新android7.1 系统,2G 内存,16G EMMC 存诸。DLT3399A产品为消费类电子、VR设备、人脸识别设备、车载控制、机器人、智能终端、MID、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,尤其适合做工业控制、广告机和人脸识别设备等。DLT3399A其丰富的接口、精湛的设计,可供广大企业用户做产品使用。
DLT3399A散热风扇控制说明
联系人:周小姐
手机:13632726643 (微信同号)
散热风扇控制接口
风扇接口位置如图所示:
1、系统自动控制:读取CPU温度,如果CPU温度超过60℃,散热风扇接口会输出12V电压,开启风扇。温度低于40℃以下,散热风扇接口会关闭风扇。
2、如果客户需要控制风扇的开启和关闭,方法如下:
温度获取节点:”/sys/devices/virtual/thermal/thermal_zone0/temp”
如果读取的到的温度值为:48750,换算温度为48750/1000=48.75℃;
控制散热风扇开启和关闭的控制节点:”/dev/fan”
使用write函数控制gpio输出:
写入’1’,代表开启散热风扇;
写入’0’,代表关闭散热风扇;
写入’2’, 代表客户不进行控制,用底层默认自动控制;
#include
#include
#include
#include
#include
#include
#include
#define FAN_PATH "/dev/fan"
#define GET_TEMPERATURE_PATH "/sys/devices/virtual/thermal/thermal_zone0/temp"
#define FAN_OPEN_TEMP 60 //温度达到60度,开启风扇
#define FAN_OFF_TEMP 40 //温度降到40度,关闭风扇
int main (void)
{
int fd_fan;
FILE *fd_temp;
int get_temp = -1;
char set_fan='0';
int flag = 1;
while(1){
fd_fan = open (FAN_PATH, O_RDWR); //打开风扇控制设备节点
if (fd_fan < 0){
printf("open %s error!!!!!\n",FAN_PATH);
close (fd_fan);
exit(0);
}
fd_temp = fopen(GET_TEMPERATURE_PATH,"r");//打开温度设备节点
if (fd_temp < 0){
printf("open %s error!!!!!\n",GET_TEMPERATURE_PATH);
fclose (fd_temp);
exit(0);
}
/* read */
fscanf(fd_temp,"%d",&get_temp); //获取当前温度值
get_temp = get_temp/1000; //换算
printf("get_temp value = %d\n", get_temp);
/* write */
if(get_temp >=FAN_OPEN_TEMP){
set_fan = '1';
if (write(fd_fan, &set_fan, sizeof(char)) < 0) //开启散热风扇
{
perror("fail to write");
}
}else if(get_temp <=FAN_OFF_TEMP){
set_fan = '0';
if (write(fd_fan, &set_fan, sizeof(char)) < 0) //关闭散热风扇
{
perror("fail to write");
}
}
sleep(5);
close (fd_fan);
fclose (fd_temp);
}
return 0;
}