十字路口交通灯的的仿真-本人的数字电路大作业,为了缩短等待时间,使红灯亮8秒,黄灯亮2秒,绿灯亮6秒,答辩时演示也较快
2020/11/6 17:07:41 127KB 红绿灯
1
出租车计价器设计并制造一台出租车计价器。
调试时采用10Hz方波信号模拟,每个方波代表10m。
基本要求:(1)不同情况具有不同的收费标准白天1元/公里晚上2元/公里途中等待(30s)1元/30s(2)数据输出(6位LED数码管显示)单价输出2位路途输出2位总金额输出2位(3)按键(3个)启动计价开关数据复位(清零)白天/晚上转换
2020/11/8 13:41:43 25KB 出租车 计价器
1
微信企业号推进:先易后难,逐渐加载•通讯录:查询教职员工电话、微信直接留言•超级表单:IT、打印、总务后勤报修,审批请示•我的待办:快捷查阅通知公告、审批请示等待办事项•会议助手:发布会议通知、查阅反馈信息、添加纪要•十一活动:发起活动、活动报名、查看报名数据•问卷投票:设计简单问卷、统计需求、查阅问卷数据
2018/6/16 1:10:18 5.08MB 微信企业号
1
timeWait-backEnd前端代码前端代码::angular2项目(时间等待)数据库:mongonDB数据库中间件:猫鼬使用gitclonehttps://github.com/onaug6th/timeWait-backEndcdtimeWait-backEndnpminstallnodeapp.js可能遇到的问题因为数据库采用的是MongoDB,因而可以服务先启先先启数据库。
而且数据库端口号要对应Node.js中配置端口号。
环境构建推荐使用Docker,一键安装方便快捷。
在开启node.js服务时,因为node.js单线程。
一旦出错服务会马上崩溃,推荐使用pm2进程保护。
同时使用nodemon达到热更新的效果。
使用七牛云图片上传时需要注册账号凭证与密钥,这方面的配置可以参考这篇文章。
开源许可证麻省理工学院
2016/3/5 7:42:50 658KB nodejs mongodb mongoose MongooseJavaScript
1
1.目的:调试、修改、运行模拟程序,通过形象化的状态显示,使学生理解进程的概念,了解同步和通信的过程,掌握进程通信和同步的机制,特别是利用缓冲区进行同步和通信的过程。
通过补充新功能,使学生能灵活运用相关知识,培养创新能力。
2.内容及要求:1)调试、运行模拟程序。
2)发现并修改程序中不完善的地方。
3)修改程序,使用随机数控制创建生产者和消费者的过程。
4)在原来程序的基础上,加入缓冲区的写互斥控制功能,模拟多个进程存取一个公共缓冲区,当有进程正在写缓冲区时,其他要访问该缓冲区的进程必须等待,当有进程正在读取缓冲区时,其他要求读取的进程可以访问,而要求写的进程应该等待。
5)完成1)、2)、3)功能的,得基本分,完成4)功能的加2分,有其它功能改进的再加2分3.程序说明:  本程序是模拟两个进程,生产者(producer)和消费者(Consumer)工作。
生产者每次产生一个数据,送入缓冲区中。
消费者每次从缓冲区中取走一个数据。
缓冲区可以容纳8个数据。
因为缓冲区是有限的,因而当其满了时生产者进程应该等待,而空时,消费者进程应该等待;
当生产者向缓冲区放入了一个数据,应唤醒正在等待的消费者进程,同样,当消费者取走一个数据后,应唤醒正在等待的生产者进程。
就是生产者和消费者之间的同步。
  每次写入和读出数据时,都将读和写指针加一。
当读写指针同样时,又一起退回起点。
当写指针指向最后时,生产者就等待。
当读指针为零时,再次要读取的消费者也应该等待。
为简单起见,每次产生的数据为0-99的整数,从0开始,顺序递增。
两个进程的调度是通过运行者使用键盘来实现的。
4.程序使用的数据结构进程控制块:包括进程名,进程状态和执行次数。
缓冲区:一个整数数组。
缓冲区说明块:包括类型,读指针,写指针,读等待指针和写等待指针。
5.程序使用说明  启动程序后,如果使用'p'键则运行一次生产者进程,使用'c'键则运行一次消费者进程。
通过屏幕可以观察到两个进程的状态和缓冲区变化的情况。
2019/3/25 13:35:58 306KB 操作系统 上机 实验报告 进程同步
1
P89LPC932硬件I2C软件包,此软件包由C语言编写,是以查询方式完成各种总线操作的,在使用前应对总线进行检查,并使用看门狗,以防等待总线而形成死机。
2020/1/16 22:32:01 3KB P89LPC932 I2C C语言
1
模仿数据链路层的gobackn协议/*该协议是搭载ack的回退n步协议*/#include#include"protocol.h"#definemax_seq7#defineflag126#defineESC100#definewait_time2700 //发送计时器等待的时间#defineack_wait_time280staticintphl_ready=0;unsignedcharbuf[max_seq+1][270];unsignedcharack[8];//发送空的ack帧unsignedcharin_buf[600],last_buf[520];//接收时的缓冲区;去掉冗余之后的缓冲区,为防备因误码两帧合并为一帧而定义了很大一个数组intnbuffered=0;//发送的帧数intbuf_size[max_seq+1];//记下以发送各帧的帧长intnext_frame_to_send=0;intframe_in_phl=0;//用于成帧intframe_expected=0;intack_expected=0;intbetween(inta,intb,intc){ if(((a<=b)&&(b<c))||((c<a)&&(a<=b))||((b<c)&&(c<a))) return1; elsereturn0;}//判断帧尾,防止出现误判escescflag为数据的情况intend_flag(intin_len){ intcount=0; inti; if(in_len=0;i--)//记录flag前的esc数目 count++; returncount%2;//若flag前的esc为偶数,则为帧尾}//成帧函数--数据帧voidsend_frame(char*my_buf,intlen){ intn; buf[frame_in_phl][0]=(frame_expected+max_seq)%(max_seq+1); //ack buf[frame_in_phl][1]=frame_in_phl; //发送帧的帧号 for(n=0;n<len;n++) buf[frame_in_phl][n+2]=my_buf[n]; //将处理过的新帧赋值到缓冲区中 len=len+2; *(unsignedint*)(buf[frame_in_phl]+len)=crc32(buf[frame_in_phl],len); //在原始帧的基础上加检验和 buf_size[frame_in_phl]=len+4; //记录当前帧的长度,包括3个帧头,4个检验和 nbuffered=nbuffered+1; //缓冲区占用数加一 frame_in_phl=(frame_in_phl+1)%(max_seq+1);}//成帧函数--ack帧voidsend_ack() //ack帧的处理{ ack[0]=(frame_expected+max_seq)%(max_seq+1); ack[1]=max_seq+10; //ack帧的序号位,使ack[1]==frame_expected恒不成立 *(unsignedint*)(ack+2)=crc32(ack,2); //在原始帧的基础上加检验和}//主函数intmain(intargc,char**argv){intevent,arg,n,m,i,j,len=0,in_len=0; unsignedcharmy_buf[260]; intphl_wait=0;//在物理层中还没有被发送的帧protocol_init(argc,argv);enable_network_layer();for(;;){event=wait_for_event(&arg);switch(event){caseNETWORK_LAYER_READY:
2019/7/26 21:18:43 425KB go back n gobackn
1
Netty同步等待数据前往实例代码
2017/8/6 14:11:38 51KB netty 同步
1
DirectX修复工具(DirectXRepair)是一款系统级工具软件,简便易用。
本程序为绿色版,无需安装,可直接运行。
本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。
程序主要针对0xc000007b问题设计,可以完美修复该问题。
本程序中包含了最新版的DirectXredist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。
本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。
本程序适用于多个操作系统,如WindowsXP(需先安装.NET2.0,详情请参阅“致WindowsXP用户.txt”文件)、WindowsVista、Windows7、Windows8、Windows8.1、Windows8.1Update、Windows10,同时兼容32位操作系统和64位操作系统。
本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。
本程序的V3.8版分为标准版、增强版以及在线修复版。
所有版本都支持修复DirectX的功能,而增强版则额外支持修复c++的功能。
在线修复版功能与标准版相同,但其所需的数据包需要在修复时自动下载。
各个版本之间,主程序完全相同,只是其配套使用的数据包不同。
因此,标准版和在线修复版可以通过补全扩展包的方式成为增强版。
本程序自V3.5版起,自带扩展功能。
只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。
扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。
扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。
本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。
新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;
但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。
程序有自动更新c++功能。
由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。
自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。
修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。
除常规修复外,新版程序还支持C++强力修复功能。
当常规修复无效时,可以到本程序的选项界面内开启强力修复功能,可大幅提高修复成功率。
请注意,此功能为试验性功能,请仅在常规修复无效时再使用。
程序有两种窗口样式。
正常模式即默认样式,适合绝大多数用户使用。
另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。
该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。
开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。
新版程序支持命令行运行模式。
在命令行中调用本程序,可以在路径后直接添加命令进行相应的设置。
常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制DirectDraw的命令、显示版权信息的命令。
具体命令名称可以通过“/help”或“/?”进行查询。
程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。
同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。
该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。
本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。
程序的“选项”对话框中包含了6项高级功能。
点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。
该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而产生的问题,颇为实用。
点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的dll文件,方便用户对绿色版、硬盘版的程序组件进行注册。
2020/2/2 15:40:18 30.7MB zhangyue DirectX 修复 工具
1
实验一Linux系统的安装及用户界面的使用一.实验目的1.了解Linux系统的安装、熟悉系统的启动过程和使用环境。
2.掌握Linux环境下vi编辑器的使用方法。
3.掌握Linux系统中编辑、编译、调试、运行一个C语言程序的全过程。
二.实验内容1、实验要求1.在VMWare虚拟机环境或真实物理机器上,安装一个Linux操作系统。
2.体验Linux操作系统中XWindows系统的使用。
3.尝试Linux系统键盘命令的使用,并熟练掌握常用的基本命令。
4.掌握命令行方式下vi编辑器的使用。
5.编写一段C程序,使用系统调用fork()创建两个子进程。
各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。
多次运行观察显示结果,并分析产生这种执行效果的原因。
实验二Linux进程控制一.实验目的1.掌握进程的概念,明确进程和程序的区别。
2.认识和了解并发执行的实质。
二.实验内容1、实验要求1.编写一段程序,使用系统调用fork()创建两个子进程。
各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。
多次运行观察显示结果,并分析产生这种执行效果的原因。
2.修改上面编写的程序,将每个进程的输出由单个字符改为循环输出一句话,如父进程显示:“parent:”加上进程ID,子进程分别显示:“Child1:”(或“Child2:”)加上自己的进程ID。
再观察程序执行时屏幕上出现的现象,并分析原因。
3.一个父进程创建一个子进程,子进程通过exec系统调用执行另一个文件。
各自的代码中显示不同的信息,观察其运行结果,分析两个进程并发执行的效果。
4.编写程序创建如图所示的进程树,在每个进程中显示当前进程ID和父进程ID。
实验三Linux进程间通信一.实验目的(1)分析进程争用临界资源的现象,学习处理进程互斥的方法;
(2)学习如何利用进程的“软中断”、管道机制进行进程间的通信,并加深对上述通信机制的理解;
(3)了解系统调用pipe()、msgget()、msgsnd()、msgrcv()、msgctl()、shmget()、shmat()、shmdt()、shmctl()的功能和实现过程,利用共享存储区机制进行进程间通信。
二、实验内容1、实验要求(1)进程的控制修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析出现问题的原因,进一步理解各个进程争夺临界资源的情况。
如果在程序中使用系统调用locking()来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。
(2)进程的软中断通讯编制一段程序,实现进程的软中断通讯:使用系统调用fork()创建两个子进程;
再使用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键);
在捕捉到中断信号后,父进程用系统调用kill()向两个子进程发信号;
子进程捕捉到信号后分别输出下列信息后终止:Childprocess1iskilledbyparent!Childprocess2iskilledbyparent!父进程等待两个子进程都终止以后,输出如下信息后终止:Parentprocessinkilled!(3)进程的管道通讯编制一段程序,实现进程的管道通讯:使用系统调用pipe()建立一条管道线;
两个子进程分别循环向这条管道写一句话:Child1issendingamessage!Child2issendingamessage!而父进程则循环从管道中读出信息,显示在屏幕上。
实验报告内含源代码
2019/6/17 5:27:26 267KB ubuntu
1
共 385 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡