1 引言在使用GSAS软件进行XRD精修时,我们常常需要对数据格式进行转换,初步进行峰形拟合,处理GSAS结果等工作。那么,CMPR软件就是必不可少的。 CMPR软件是由美国国家标准与技术研究院中子研究中心的Brian H. 2 CMPR软件的安装(1)使用搜索引擎进行搜索CMPR(2)将压缩包进行解压,无需安装,双击文件夹中的“Start-CMPR.bat”文件即可运行程序;(3)同时我们也可以创建软件快捷方式,并利用文件夹里面的 “CMPR.ico”修改图标;3 CMPR软件界面介绍打开CMPR软件后,我们会看到两个界面,一个是CMPR主程序窗口,用以实现程序的主要功能,另外一个是绘图窗口,主要用来显示数据结果图形。 CMPR软件的“Index”选项卡就可以完成此工作。可以看到,CMPR包含三个进行指标化的软件,分别是:ITO,TREOR和DICVOL。
作者:测试狗科研测试1 引言在使用GSAS软件进行XRD精修时,一个重要的输入文件就是“仪器参数文件”。 一般情况下,我们无需调整仪器参数文件中的峰形参数就可以直接采用GSAS软件进行XRD精修拟合。 基于此,我们在这里向大家介绍如何采用CMPR软件通过拟合的方式获得峰形参数:GU,GV,GW,LX和LY的初始值。 图1 仪器参数2 CMPR拟合峰形函数的步骤 (1)读取数据按照上一节的介绍,首先将包含“角度”和“强度”数据的txt文件重命名为dat格式的文件,然后按照图2所示的操作使用CMPR读取dat格式的数据 图18 勾选Omit来忽略相应的峰3 在GSAS中修改仪器参数 在我们得到U,V,W,X和Y的初始参数后,我们就可以在GSAS软件中将其分别填在GU,GV,GW,LX和LY中。
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
平台:Linux、MacOS、Windows 获得地址 http://staruml.io 工具最新版本:Edraw Max 11.5.0 更新时间:2021年10月8日 工具简介 绘图软件,支持UML
EvaRegs.GPTCONA.bit.T1PIN=1; EvaRegs.GPTCONA.bit.T2PIN=2; EvaRegs.T1PR=0x927B; EvaRegs.T1CMPR =0x3A98; EvaRegs.T1CNT=0; EvaRegs.T2PR=0x927B; EvaRegs.T2CMPR=0x57E4; EvaRegs.T2CNT= =0x3A98; EvaRegs.CMPR2=0x3A98; EvaRegs.CMPR3=0x3A98; EvbRegs.T3CON.bit.TMODE=1; EvbRegs.T3CON.bit.TPS =0x1D4C; EvbRegs.T3CNT=0; EvbRegs.T4PR=0x493E; EvbRegs.T4CMPR=0x2BF2; EvbRegs.T4CNT= =0x1D4C; EvbRegs.CMPR5=0x1D4C; EvbRegs.CMPR6=0x1D4C; } 主函数: void main(void) { InitSysCtrl
这里直接看汇编代码,汇编代码中这一个模块有两个关键的数据CMPR0, #0x10与CMPR0, #0x1E 转换成10进制如下图,关键就是对比的数据为16与30,那么先看第一个循环,第一个循环的数据cmp dd)/2): tmp = dd[i] dd[i] = dd[i+16] dd[i+16] = tmp print ''.join(dd) 这里有个软件可以直接通过
= 0; // duty cycle of PWMxA = 0 pwm_config.cmpr_b = 0; // duty cycle of PWMxb = 0 mcpwm_config_t pwm_configs; pwm_configs.frequency = 1000; // frequency = 500Hz, pwm_configs.cmpr_a = 0; // duty cycle of PWMxA = 0 pwm_configs.cmpr_b = 0; // duty cycle of PWMxb = 0 = 0; // duty cycle of PWMxA = 0 pwm_configA.cmpr_b = 0; // duty cycle of PWMxb = 0 = 0; // duty cycle of PWMxA = 0 pwm_configAs.cmpr_b = 0; // duty cycle of PWMxb = 0
temp2[i]/10; temp2[i]%=10; if(i==temp2[0]&&temp2[i+1])temp2[0]++; } } int cmpr n,cmp); for(int i=1;i<=n;i++) { multi(p[i-1].a); divide(p[i].b); if(cmpr
request) httprouter 并发情况下内存的使用情况: 初始化 ID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPR 6000 -c 100 http://127.0.0.1:8081/index PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPR 1532 sleeping fasthttp 并发情况下内存的使用情况: 初始化 PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPR 6000 -c 200 http://127.0.0.1:8080/index PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPR 6000 -c 300 http://127.0.0.1:8080/index PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPR
是的,我们只要把1个数组赋值给1个Variant,然后去读取Variant里面的b8-11位,那获取的就是数组的地址或者是地址的地址了: - 0x20 8-11存的是数组地址 - 0x60 8-11存的是数组地址的地址 实现代码: Sub TestMyArrayPtr() Dim Arr() As Byte ReDim Arr(3) As Byte Dim ptr Printf "b = 0x% x", b Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4
方式二:使用 linux 的 craontab 工具 2.1 知识 工具型软件cron是一款类Unix的操作系统下的基于时间的任务管理系统。 分钟执行一次command * * * * * command # 每小时的第3和第15分钟执行 3,15 * * * * command # 在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * command # 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command 2.5 操作示例 添加或更新 crontab 中的命令 crontab
-------------------------------------------------------------- compare1: mov rcx, rdx cld cmpr : cmpsb jne notequal loop cmpr xor rax,rax ret notequal: mov rax,
crontab 常用表达式 描述 表达式 每1分钟执行一次 * * * * * 每小时的第3和第15分钟执行 3,15 * * * * 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * 每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 分执行 30 7 8 * * 指定每年的6月8日5:30执行 30 5 8 6 * 指定每星期日的6:30执行 30 6 * * 0 每月10号及20号的3:30执行 30 3 10,20 * * 每天8- 11点的第25分钟执行 25 8-11 * * * 每15分钟执行一次 */15 * * * * 每个月中,每隔10天6:30执行一次 30 6 */10 * * 每天早上8点30分执行 30 08 * 11 */2 * * 每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 21 * * * 每月1,10,22日的4:45执行 45 4 1,10,22
(left >> 1) + (right >> 1); S aLf = arr[left], key = arr[mid], aRt = arr[right - 1]; boolean cmp1 = cmpr.compare (aLf, key) < 0, cmp2 = cmpr.compare(key, aRt) < 0; if (cmp1 ^ cmp2) { boolean cmp3 = cmpr.compare left, midCur, rtCur, cmp; midCur = rtCur = right - 1; for (var i = left; i < right; i++) { cmp = cmpr.compare
* * cmd 3 4 实例2:每小时的第3和第15分钟执行 5 3,15 * * * * cmd 6 7 实例3:在上午8点到11点的第3和第15分钟执行 8 3,15 8- 11 * * * cmd 9 10 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 11 3,15 8-11 */2 * * cmd 12 13 实例5:每周一上午8点到11 点的第3和第15分钟执行 14 3,15 8-11 * * 1 cmd 15 16 实例6:每晚的21:30执行 17 30 21 * * * cmd 18 19 实例7:每月1、10、
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22日的4 : 45
•软件复位(GPT_CR控制寄存器中的SWR位)将复位所有寄存器位,除了EN,ENMOD,STOPEN,WAITEN和DBGEN位。这些位的状态不受软件复位的影响。 软件使能后,EPIT就开始计数。 除控制寄存器中的EN,ENMOD,STOPEN和WAITEN位外,软件复位将其它位复位为各自的复位值。这些位的状态不受软件复位的影响。即使禁用了EPIT,也可以进行软件复位操作。 加载计数的值 12.6.3 Compare register (EPITx_CMPR) EPIT比较寄存器 比较寄存器用来决定什么时候产生比较事件。 : compare register */ base->CMPR = 0; /* EPIT_LR: load register , assue use ipc clk 66MHz*/ //base
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15 分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22
: * * * * * command 实例2:每小时的第3和第15分钟执行 命令: 3,15 * * * * command 实例3:在上午8点到11点的第3和第15分钟执行 命令: 3,15 8- 11 * * * command 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 命令: 3,15 8-11 */2 * * command 实例5:每个星期一的上午8点到11点的第3和第 15分钟执行 命令: 3,15 8-11 * * 1 command ---- 二.日志管理 一般存放在/var/log/… 1.日志管路进程rsyslog——产生日志进程 什么程序-做了什么事-记录到什么位置 如果配置文件有问题可以重装#yum install rsyslog 启动服务#systmctl start rsyslog.service 相关配置文件#rpm -qc rsyslog,有三个 (查询软件包的安装情况