#!/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/
比如我用⊿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
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的源码目录,
莫莫(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
笑的这么淫荡
对了。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就好了
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="查看度数" />
<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;}
#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效果也是一样的;
});
});
$("#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 修改为空!
可惜不知道这个文件位置在哪儿,知道了可以直接修改也可以的。。。
这种方式主要是:当你打开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]------+
| Filenames and paths |
| File transfer protocols -|
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
+--------------------------+
+-----------------------------------------------------------------------+
| A - Download directory : /home/zxl |
| B - Upload directory : /tmp |
| C - Script directory : |
| D - Script program : runscript |
| E - Kermit program : |
| F - Logging options |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
A - download 下载的文件的存放位置
B - upload 从此处读取上传的文件
download 开发板 ---> PC
upload PC ---> 开发板
B - Upload directory : /tmp
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]------+
| Filenames and paths |
| File transfer protocols -|
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
+--------------------------+
+-----------------------------------------------------------------------+
| A - Download directory : /home/zxl |
| B - Upload directory : /tmp |
| C - Script directory : |
| D - Script program : runscript |
| E - Kermit program : |
| F - Logging options |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
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的那行就是了。
阅读全文
# 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!
阅读全文
提示:
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
先单击“开始→运行”,在弹出的“运行”对话框中输入“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()。
当然你也可以参考CSDN的:
http://download.csdn.net/source/1957263
#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;
}
/* 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);
}
#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
阅读全文
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
