#!/bin/sh
v1=$1
v2=$2
func_until_0(){
  while [ "$v2" != "$v1" ] ; do
   echo 'curl http://10.20.129.20/chart/get?channel='$v2
   curl http://10.20.129.20/chart/get?channel=$v2 -t 10 &
   v2=`expr $v2 - 1`
  done
}

if [ -n "$v2" ]; then
  echo '2'
else
  v1=0
  v2=$1
fi

if [ "$1" = "k" ]; then
  kill -9 $(ps -ef| grep curl | grep -v 'grep'| awk -F' ' '{print $2}')
else
  echo 'run'
  func_until_0
fi
C51编程:增量PID控制炉温,怎样处理PID增量与加热器件的关系?
比如我用⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)],结果⊿U(n)后,怎样
用过零固态继电器加热.加热的时间是多少;

也就是说,事先定一个时间长度T1,然后PID运算的结果就在控制周期内以ON-OFF的形式
输出出来

控制一个炉子的温度,用电热丝来加热,就可以控制电热丝的一个控制周期内通电占整个
控制周期的比例来实现,电路上可以过零触发的方式来切断或者接通电热丝供电。

我知道大概原理是这样,可我还是没有办法操作,编出具体程序,希望大虾指点一下



计算出⊿U(n)后,一般首先将其归一化,也就是说除以你所要控制的温度的量程⊿t。
⊿U(n)0_1=⊿U(n)/⊿t
而时间比例PID输出对应的是“位置式PID运算”的结果,定时间为T

将结果累积起来,
U(n)0_1=∑⊿U(n)0_1;

将在该点温度的炉温的温升速率为K
得出加热时间为t=∑⊿U(n)0_1/k

然后将次结果换算成对应于控制周期的占空比。来输出

因为供电电压的周期  50HZ,也就是说我在0.02S内半个周期加热,定义为N

在时间T,内每个周期的加热时间就是t/N,t=∑⊿U(n)0_1/k

因为供电电压的周期  50HZ,也就是说我在0.02S内半个周期加热,定义为N

在时间T,内每个周期的加热时间就是t/N,t=∑⊿U(n)0_1/k


http://blog.163.com/caihong_0923/blog/static/569222942009924116380/?fromdm&fromSearch&isFromSearchEngine=yes
http://dongyang19880505.blog.163.com/blog/static/10519081120098180201844/?fromdm&fromSearch&isFromSearchEngine=yes

http://dongyang19880505.blog.163.com/blog/static/105190811200981801737595/
驱动放在/lib/modules下面。

centos5.5 usb转串口的驱动目录:

/lib/modules/2.6.18-194.el5/kernel/drivers/usb/serial
Dreamweaver CS5绿色版支持CSS3 HTML5 jQuery语法
Adobe Dreamweaver CS5 绿色增强版

①.支持jQuery 1.4.2语法提示

②. 支持Prototype 1.6.x语法提示(与jQuery有一部分冲突,使用前先关闭jQuery的语法提示:编辑->首选参数->代码提示)

③. 支持Extjs 2.2语法提示

④.支持Zen coding(快捷键:Ctrl+Enter,附帮助手册:Zen Coding帮助手册.pdf)




⑤.增加官方html5pack,全面支持html5和CSS3

一、集成 CMS 支持

这部分是最大的更新, 支持WordPress、Joomla! 和 Drupal 等内容管理系统框架的创作和测试。

Joomla! 和 Drupal我没用用过,过二天结合WordPress给大家演示下dreamweaver cs5在这方面的用法。

二、CSS 检查

以可视方式显示详细的 CSS 框模型,轻松切换 CSS 属性并且无需读取代码或使用其他实用程序。

有用过firebug的童鞋应该很容易理解,显示CSS 盒模型,并可及时编辑css属性。

想要开启CSS检查,需要按如下按钮:

三、PHP 自定义类代码提示

千呼万唤始出来,这个功能很实用,终于可以提示php代码了。



四、Subversion 支持

也是个迟到的功能,终于支持版本控制了。

在这里不得不提下,新建站点界面颇大,如下:



下载地址:http://down3.orsoon.com/%CD%F8%C2%E7%B9%A4%BE%DF/%D6%F7%D2%B3%D6%C6%D7%F7/drg0507/Adobe_Dreamweaver_CS5.rar


文字来源:
http://www.36ria.com/1862
回忆未来(372647693)  16:18:28
对了。php那个curl模块如果编译遗漏了,咋给补装上啊?
回忆未来(372647693)  16:18:34
兄弟。。帮忙!
回忆未来(372647693)  16:18:38

膘叔(19129540)  16:18:54
重新全部编译 。
回忆未来(372647693)  16:19:15
这么惨?
莫莫(3296320)  16:19:17
可以动态载入的
回忆未来(372647693)  16:19:42
说?咋动态的载入?
莫莫(3296320)  16:20:00
把;extension=curl.dll前面那个分号去掉
回忆未来(372647693)  16:20:17
我是linux。不支持dll的
我姓-->苏(14044522)  16:20:17
他说的linux
config.t(10202001)  16:20:35
curl.so
莫莫(3296320)  16:20:43

回忆未来(372647693)  16:20:48
没有so。
回忆未来(372647693)  16:20:57
哪儿能下载到?
莫莫(3296320)  16:21:11

莫莫(3296320)  16:22:05
入安装原php的源码目录,


  cd ext

  cd curl

  phpize

  ./configure --with-curl=DIR

  make

  就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

  复制curl.so文件到extensions的配置目录,修改php.ini就好了


莫莫(3296320)  16:22:59
这个方法可以载入遗忘的模块而不用重新编译,
莫莫(3296320)  16:23:03
但是我没有试过
莫莫(3296320)  16:23:14
但我发现freebsd是这样做的
我姓-->苏(14044522)  16:24:23
这可应该可以!
我姓-->苏(14044522)  16:24:36
我imagick就是用那样的
回忆未来(372647693)  16:24:48
我有空试试。。。多谢各位兄台。嘎嘎。
我姓-->苏(14044522)  16:25:07
笑的这么淫荡
点击在新窗口中浏览此图片

1.xhml

<div id="mometer">
    <div id="hot"></div>
    <span>
        <div id="Hgheader">0℃</div>
        <div id="Hg"></div>
    </span>
</div>
  <input name="aa" type="text" value="请输入0-100的数值" id="num"/>
  <input name="" type="button" id="Risk" value="查看度数" />



2.css

#num{color:#999;}
#mometer{position:relative;    height:100px;width:15px;background-color:#CCC;margin:50px;}
span{position:absolute;display:block;bottom:0px;width:40px;}
#Hgheader{height:15px;line-height:15px;color:#FF0000;font-size:14px;font-family:Arial, Helvetica, sans-serif;
border-bottom:#f00 1px solid;left:-40px;position:relative;}
#Hg{height:0px;    font-size:0px;background-color:#C00;width:15px;}
#hot{height:100px;width:15px; background-color:#FF0; position:absolute; top:0; left:0;}

3.html

$(document).ready(function(){
$("#hot").fadeTo(0,0);//初始透明度为0;
$('#num').click(function(){this.select();})
$('#Risk').click(function(){
    inputvalue=$('#num').val();//val()获取input元素的值,另外还可以用attr("value")来获取;
    var inputnum=parseInt(inputvalue);
    if($('#num').val().search("^-?\\d+$") != 0){
        alert("请输入一个0-100的整数!");
        return false;
        }else{
        $("#Hgheader").html(inputvalue+"℃");
        if(inputnum>=100){
        inputnum=100;
        $('#num').val(100)
        $("#Hgheader").html(100+"℃");
    }else if(inputnum<=0){
        inputnum=0;
        $('#num').val(0)
        $("#Hgheader").html(0+"℃");
    }
        }
    var Columnhe=inputnum/100;
    $("#Hg").animate({height:inputnum},'show');
    $("#hot").fadeTo('slow',Columnhe);
//在这里把html换成text效果也是一样的;
});
});
觉得分析的很有道理。。。就转过来了。。。阅读全文
现在越来越多的恶意软件喜欢修改我们IE7/8在注册表中的Tabs的值,通过这个来增加他们的流量;我已经遇到很多个了(很多网址都是导航形式的,而且都是www.数字.com这种形式的),这些站长完全不知道廉耻,严重鄙视!!

这种方式主要是:当你打开IE7/8【新选项卡(ctrl+t)】时,直接出现的是一个导航站点或者其他站点,而不是默认的tabs选项,如下图:

点击在新窗口中浏览此图片
这时,打开注册表(开始——运行——输入regedit回车),进入注册表,打开这个键值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AboutURLs\Tabs,就能看到被改成了网址,这里之需要把它还原成默认键值:res://ieframe.dll/tabswelcome.htm即可恢复。


错误:<body id="newTabPage" onload="window.external.BuildNewTabPage(); contentContainer.style.display='block';">
144行报错的代码如上.
解决方法如下:
我们那个不是有错误吗?肯定是被一些恶意的插件给修改了。我们就把那个默认的键值修改为空即可!

默认键值:res://ieframe.dll/tabswelcome.htm 修改为空!

可惜不知道这个文件位置在哪儿,知道了可以直接修改也可以的。。。
浅析ttyUSB驱动usb_serial_driver-ch341阅读全文
sz一次性下载多个文件:
sz /data/cert/{registry.qr.XXXX.net-key.pem,registry.qr.XXXX.net.pem}

rz 在windows和macbook下上传文件快捷键方法:
Mac选择文件后:按下Command和向下键就上传文件。
Window:alt + o 上传文件。
选文件的不同点:
Win下可以在输入框里输入部分有提示,而Mac则得快速在列表上在输入文件的前几个字符才行。
-------------------------------------------------------------------------------------------------------------------
1. 从下面的网站下载lrzsz-0.12.20.tar.gz
   http://www.filewatcher.com/m/lrzsz-0.12.20.tar.gz.280938.0.0.html

2. tar zxvf lrzsz-0.12.20.tar.gz
3. 查看里面的INSTALL文档了解安装参数说明和细节
4. # cd lrzsz-0.12.20
5. # ./configure --prefix=/usr/local/lrzsz
6. # make
7. # make install
8. 建立软链接
   # cd /usr/bin
   # ln -s /usr/local/lrzsz/bin/lrz rz
   # ln -s /usr/local/lrzsz/bin/lsz sz
   这样minicom就可以使用zmodem传输文件了





配置文件所在目录
--------------------------------------------------
Ctrl + a     o

         +-----[configuration]------+
         &#124; Filenames and paths      &#124;
         &#124; File transfer protocols -&#124;
         &#124; Serial port setup        &#124;
         &#124; Modem and dialing        &#124;
         &#124; Screen and keyboard      &#124;
         &#124; Save setup as dfl        &#124;
         &#124; Save setup as..          &#124;
         &#124; Exit                     &#124;
         +--------------------------+

+-----------------------------------------------------------------------+
&#124; A - Download directory : /home/zxl                                    &#124;
&#124; B - Upload directory   : /tmp                                         &#124;
&#124; C - Script directory   :                                              &#124;
&#124; D - Script program     : runscript                                    &#124;
&#124; E - Kermit program     :                                              &#124;
&#124; F - Logging options                                                   &#124;
&#124;                                                                       &#124;
&#124;    Change which setting?                                              &#124;
+-----------------------------------------------------------------------+

    A - download 下载的文件的存放位置          
    B - upload   从此处读取上传的文件
    download     开发板 ---> PC
    upload       PC     ---> 开发板

    B - Upload directory   : /tmp

    PC机向开发板发送文件,需要发送的文件在/tmp目录下(PC机上的目录)。做了此项配置后,每次向开发板发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径
我的USB串口转换器使用的芯片是PL2303,可以在Linux终端输入lsusb命令查到设备信息

# lsusb
[root@localhost ~]#  lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 15d9:0a37  
Bus 003 Device 002: ID 1241:1503 Belkin Keyboard
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 004的那行就是了。阅读全文
使用 sudo apt-get install openssh-server  命令后
提示:
Package openssh-server is not available, but is referred to by another
package. This may mean that the package is missing, has been obsoleted,
or is only available from another source.
E: Package openssh-server has no installation candidate.

使用 sudo /etc/init.d/ssh start 或者restart  提示:
/ect/init.d/ssh:command not found
表示不存在,,那为什么还装不了!

先用apt-get install -f 清理一下软件包,再试试

apt-get install -f   后
提示: 0 upgraded,0 newly installed,0 to remove and 0 not upgraded

再去安装,还是那个错误

最后在一个老外的网站上看到如下解决方案:
Thank you everyone. I did the "sudo apt-get update" (took a while), and then the "sudo apt-get install openssh-server" worked!



阅读全文
对于使用Windows 7系统的朋友来说,当我们单击“开始→关机”按钮以执行关机操作时,如果系统中还有未关闭的应用程序,此时就会弹出一个是否强制关机的提示信息,如图1。想想看吧,对于整天玩电脑的高手来说,这样的提示信息无疑是很多余的。其实,我们只须修改一下组策略就可以在关机时避免弹出类似的提示信息。下面,笔者就给大家介绍一下如何来实现。
先单击“开始→运行”,在弹出的“运行”对话框中输入“gpedit.msc”;接着单击“确定”按钮,打开“本地组策略编辑器”窗口并依次展开、定位到“计算机配置→管理模板→系统→关机选项”分支下(如图2,A处);再双击图2,B处所示的“关闭会阻止或取消关机的应用程序的自动终止功能”选项,打开一个与该选项同名的窗口(如图2,C处);最后勾选图2,C处所示窗口中的“已启用”单选框并单击“确定”按钮即可。
经过以上步骤的操作,当我们再执行关机操作且系统中有未关闭的应用程序时,就不会弹出图1所示的关机提示信息而直接执行关机操作了。
来源:http://blog.clc09.com/blogview.asp?id=79
#include<stdio.h>
#include<conio.h>
int main()
{
char key;
printf("press a key");
key=getch();
printf("you press %c",key);
return 0;
}
在TC中,先显示“press a key",你按个键后,显示”you press“,再显示你按的那个键。
对应在linux中的C语言要如何写呢?
我是这样写的但是结果是只输出了“you press"再输出你按的那个键。我要如何修改呢?
#include<stdio.h>
#include<curses.h>
int main()
{ printf("press a key");
fflush(stdout);
        char key;
        initscr();
        key = getch();
        endwin();
        printf("you press %c",key);
return 0;
}
问题补充:这位高手所说的system("pause"); 请问是不是暂停屏幕用的,就像TC中在调试时常用getch()来暂停屏幕看输出,但我用getch()是想不按回车键在键盘上捕获所按的键,目前只是显示出这个按键,日后要做成一按这个键不用按回车就立马去执行一些操作,我不是要简单的暂停,不过很感激你提供了暂停的另一种方法。谢谢!但我的问题还没有解决。
getchar()要按一下回车程序才读取输入,能不能不按回车,只要一按键,程序马上做出反应。
getchar()经过我试验后发现不行,达不到我要的效果,请高手们再帮帮忙。谢谢!

原因:
getch()和getche()不是标准C函数,是TC专用的。。。
你可以试试system("pause");
记住包含#include <stdlib.h>


模式实现如下:

在windows下可以通过#include <conio.h>使用getch(),但是conio.h并不是一个标准的头文件,conio也不是标准的c库。所以如果在Linux下的c程序中#include <conio.h>,编程就会报错: No Such file or directory!

那么如果想在Linux下使用与getch() 功能相同的函数,怎么办呢?我们可以通过以下的程序模拟实现getch()。


#include <termios.h>
/* for tcxxxattr, ECHO, etc */
#include <unistd.h>  
/* for STDIN_FILENO *//*simulate windows' getch(), it works!!*/
int getch (void){  
int ch;    struct termios oldt, newt;// get terminal input's attribute  
tcgetattr(STDIN_FILENO, &oldt);    
newt = oldt;    //set termios' local mode    
newt.c_lflag &= ~(ECHO|ICANON);    
tcsetattr(STDIN_FILENO, TCSANOW, &newt);    //read character from terminal input    
ch = getchar();    //recover terminal's attribute    
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);      
return ch;
}


当然你也可以参考CSDN的:
http://download.csdn.net/source/1957263


#include <string.h>
#include<stdio.h>

typedef struct PID{
double Command; //输入指令
double Proportion;  //比例系数
double Integral;   //积分系数
double Derivative;  //微分系数
double preErr;    //前一拍误差
double sumErr;    //误差累积
}PID;

double PIDCale(PID *p,double feedback)
{
double dErr,Err;
Err=p->Command-feedback;  //当前误差
p->sumErr+=Err;      //误差累加
dErr=Err-p->preErr;   //误差微分
p->preErr=Err;    
return(p->Proportion*Err  //比例项
  +p->Derivative*dErr   //微分项
  +p->Integral*p->sumErr);  //积分项
}

void PIDInit(PID *p)
{
memset(p,0,sizeof(PID));  //初始化
}

typedef struct motor{
double lastY;
double preY;
double lastU;
double preU;
}motor;

void motorInit(motor *m)
{
memset(m,0,sizeof(motor));
}

double motorCal(motor *m,double u)
{
double y=1.9753*m->lastY-0.9753*m->preY+0.00003284*u+0.00006568*m->lastU+0.00003284*m->preU;//二阶系统
m->preY=m->lastY;
m->lastY=y;
m->preU=m->lastU;
m->lastU=u;
return y;
}

void main()
{
FILE *fp=fopen("data.txt","w+");
PID sPID;
double u;
double y=0;
PIDInit(&sPID);
sPID.Proportion=2;
sPID.Derivative=10;
sPID.Integral=0.00001;
sPID.Command=10;
motor m_motor;
motorInit(&m_motor);
int k=0;
while(k<=1000)
{
  fprintf(fp,"%f %fn",y,sPID.Command);
  u=PIDCale(&sPID,y);
  y=motorCal(&m_motor,u);
  k++;
}
printf("%fn",y);
fclose(fp);
}


界面设计:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3617085&bbs_page_no=1&search_mode=4&search_text=rlplc&bbs_id=9999
务必参考:
http://blog.niwota.com/a/591138.htm

http://www.dzsc.com/data/html/2008-11-24/73559.html
[主板] 索泰 H61 itx wifi BIOS更新 支持22nm H61ITX-A-E
https://www.chiphell.com/thread-699432-1-1.html

17cm见方 支持18核心处理器的华擎工作站主板来了!两张子卡的X299E-ITX/ac已经让人见识了什么叫极致性能小钢炮。不满足于此的华擎近日又拿出第二张ITX板型的X299主板——X299 WSI/IPMI。


戴尔(DELL)UltraSharp U2713HM 27英寸宽屏高分辨率LED背光IPS液晶显示器
【返300京券】高分辨率2560*1440 硬屏广视角旋转升降 超震撼色彩还原
http://www.360buy.com/product/696835.html

索泰
主板:ZOTAC H55ITX-A-E ITX H55,DDR3,WiFi,LGA1156,M.ITXM/B   价格:965
该主板不仅支持32nm Core i5-600/i3-500系列双核心处理器,也能使用45nm Core i7-800/i5-700系列四核心,但注意搭配后者的时候还要添加一块独立显卡,而且功耗也会更大。

cpu:Inter Core i3 540 (3.06GHz) CPU/4M [Socket 1156] BOX 盒装  价格:1090
内存:2GB Kingston DDR3 PC3-10600 CL9 1.5V(D3-1333)  365  2根 730 价格是:730
机箱: 大水牛S0203机箱    价格:150块
电源:150W 机箱自带
硬盘:高清套餐 西部数据WD1TB绿盘 64M缓存 WD10EARS硬盘 价格:580
鼠标:8115 DELL鼠标 戴尔鼠标 usb接口  价格:48
键盘:戴尔DELL新版SK-8115键盘 非L100 防水静... 价格:18
合计:3581


阅读全文
接触编程有两年多了,也算积累了一些经验,希望能给刚入门的朋友一些帮助,文章仅
代表本人观点,如有错误之处,还请多多包涵。阅读全文
分页: 155/271 第一页 上页 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 下页 最后页 [ 显示模式: 摘要 | 列表 ]