本文件含有两个程序,采用硬件IIC,一个是IIC主机发送程序,一个是IIC从机接收发送程序,实验现象是,在两块开发板上,连接上IIC线序(不用交叉),主机发送三个字节数据,从机接收到三个字节数据后,将数据发送回主机,完成主从机的通信,在IIC初试化中可以看到主机的地址设为了0x0A(主机地址没有用到,只是为了和从机进行区分),从机的地址设为了0x0B
2024/7/22 7:33:27 64.68MB stm32f407 cubemax IIC主从通信
1
1、图书管理系统以UNIX系统文件部分系统调用为基础设计一个简易的图书管理系统。
要求实现:图书的录入、查询、借阅、清理、统计等功能、还要实现对每天的借阅情况进行统计并打印出统计报表,操作界面要尽量完善。
图书资料信息必须保存在文件中。
2、信号通信与进程控制(l)进程的创建:编写一段程序,使用系统调用fork()创建两个或多个子进程。
当此程序运行时,在系统中有一个父进程和其余为子进程在活动。
(2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。
(3)进程通信:①软中断通信;
②在程序中使用实例signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)进行通信操作,观察执行结果,并分析原因。
(4)软中断的捕获与重定义。
首先定义一个服务函数function(),然后利用signal(sig,function)系统调用来实现中断的捕获与改道。
(5)使用操作系统保留给用户的信号SIGUSR1和SIGUSR2进行通信。
(6)扩展程序,使之成为信号或事件驱动的应用程序。
3、管道通信利用UNIX系统提供的管道机制实现进程间的通信。
(1)管道通信。
利用pipe()和lockf()系统调用,编写程序,实现同族进程间的通信。
使用系统调用pipe()建立一条管道线;
创建子进程P1、P2、…。
子进程Pi分别向管道各写信息,而父进程则从管道中读出来自于各子进程的信息,实现进程家族间无名管道通讯。
扩展之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
(2)命名管道通信:利用mkfifo(name,mode)或mknod(name,mode,0)创建一个命名管道,然后利用它和文件部分系统调用实现不同进程间的通信。
改造之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
4、进程间通信(IPC):消息机制(1)消息的创建、发送和接收使用系统调用msgget(),msgsnd(),msgget(),及msgctl()编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为175的消息队列,等待其他进程发来的消息。
当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一个消息后显示一句“(server)received”。
3)CLIENT端使用key为175的消息队列,先后发送类型从10到1的消息,然后退出。
最后的一个消息,即是SERVER端需要的结束信号。
CLIENT每发送一条消息后显示一句“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而实现C/S通讯要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件,或者执行一个shell命令等。
此功能可由设计者自己定义。
在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。
5、进程间通信(IPC):共享内存机制(1)共享存储区的创建,附接和断接使用系统调用shmget(),shmat(),msgdt(),shmctl(),编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为375的共享区,并将第一个字节置为-1,作为数据空的标志,等待其他进程发来的消息。
当该字节的值发生变化时,表示收到了信息,并进行处理。
然后再次把它的值设为-1。
如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一次数据后显示“(server)received”。
3)CLIENT端建立一个Key为375的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。
CLIENT随即填入9到0。
期间等待Server端的再次空闲。
进行完这些操作后,CLIENT退出。
CLIENT每发送一次数据后显示“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如
2024/7/19 3:04:26 918KB 操作系统
1
mt2503(A和D)的官方文档及设计文档,有些文档有密码,密码就是文件末尾的数字部分,2503A和2503D的区别是A没有内部flash,D带有一个4M字节的flash,2503相当于一个mt6261的芯片叠加一个独立的mt3333gps芯片。
2024/7/18 8:14:29 121.87MB mt2503 OrCAD原理图 pads封装
1
将4字节转float类型和将float型转4字节
2024/7/16 13:18:22 4.26MB 4字节转float
1
前言在我的上一篇文章《使用Nginx提升网站访问速度》中介绍了Nginx这个HTTP服务器以及如何通过它来加速网站的访问速度。
在实际的网站运营中,我们经常需要了解到网站的访问情况,例如每天有多少IP在访问、PV数是多少、哪个URL访问量最大、用户使用最多的浏览器是哪个、都是通过什么方式知道这个网站的以及有多少用户访问出错等等,通过掌握这些信息来提高用户的体验,从而改善网站的质量。
一般我们可以通过一些免费的访问统计网站例如GoogleAnalytics来或者这些信息。
但不足之处是这类网站只能对页面进行分析,不包括静态文件;
另外可能有很多的站长不愿意使用这类工具来暴露自己的数据,种种的这些因素使站长希望自己来分析访问日志。
而awstats就可以满足所有的这些需求。
Awstats是在SourceForge上发展很快的一个基于Perl的WEB日志分析工具,一个充分的日志分析让Awstats显示您下列资料:• 访问次数、独特访客人数,• 访问时间和上次访问,• 使用者认证、最近认证的访问,• 每周的高峰时间(页数,点击率,每小时和一周的千字节),• 域名/国家的主机访客(页数,点击率,字节,269域名/国家检测,geoip检测),• 主机名单,最近访问和未解析的IP地址名单• 大多数看过的进出页面,• 档案类型,• 网站压缩统计表(mod_gzip或者mod_deflate),• 使用的操作系统(每个操作系统的页数,点击率,字节,35OSdetected),• 使用的浏览器,• 机器人访问(检测319个机器人),• 蠕虫攻击(5个蠕虫家族),• 搜索引擎,利用关键词检索找到你的地址,• HTTP协议错误(最近查阅没有找到的页面),• 其他基于URL的个性报导,链接参数,涉及综合行销领域目的.• 贵网站被加入"最喜爱的书签".次数.• 屏幕大小(需要在索引页补充一些HTML标签).• 浏览器的支持比例:Java,Flash,RealG2reader,Quicktimereader,WMAreader,PDFreader.• 负载平衡服务器比率集群报告.Awstats的运行是需要PERL环境的支持,从awstats的文档来看,它对ApacheHTTPServer的支持是非常完美的,而当我们把Web服务器换成Nginx后,要运行awstats变得很麻烦。
首先Nginx本身对Perl的支持是比较弱的,甚至官方也不建议使用;
另外在日志格式上有需要修改后才能运行。
本文主要介绍通过让awstats对日志统计的结果生成静态页面,然后通过Nginx输出以达到统计Nginx访问日志的效果,其中还包括如何让Nginx自动切割日志文件。
配置Nginx自动切割日志
2024/7/13 18:52:05 73KB awstats 分析日志 Nginx日志
1
【】编程是一种有益的体验方式,当遇到挑战时,我们会不断寻求新的解决方法。
也许你会认为将毅力、直觉、适宜的工具三个组合在一起即可编写出优雅、完美的代码。
然而,随之而来的拙劣的部署或另一种功能需求亦或者是沉重的依赖关系会产生不良的迭代更新,等等这些突发状况会摧毁了你最初的梦想。
我们希望每次的努力付出能够有着深远的影响,希望我们的应用程序所依赖的服务器如同磐石一样,然而编程的获取方式却是残酷的。
这并不意味着你所有的努力都是有价值的。
相反,我们应该学会如何面对这些残酷的事实。
一起看下文中罗列出的10条实践真理,或许能为你的工作带来一丝帮助。
开发者往往会因封存(closures)、字节(typing)和
1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------IEC-60870-5-104:应用模型是:物理层,链路层,网络层,传输层,应用层物理层保证数据的正确送达,保证如何避免冲突。
(物理层利用如RS232上利用全双工)链路层负责具体对那个slave的通讯,对于成功与否,是否重传由链路层控制(RS4852线利用禁止链路层确认)应用层负责具体的一些应用,如问全数据还是单点数据还是类数据等(网络利用CSMA/CD等保证避免冲突的发生)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------基本定义:端口号2404,站端为Server控端为Client,平衡式传输,2Byte站地址,2Byte传送原因,3Byte信息地址。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------注:APDU应用规约数据单元(整个数据)=APCI应用规约控制信息(固定6个字节)+ASDU应用服务数据单元(长度可变)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------APDU长度(系统-特定参数,指定每个系统APDU的最大长度)APDU的最大长度域为253(缺省)。
视具体系统最大长度可以压缩。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------【1个例子】104报文分析BUF序0123456789.10111213141516171819202122M->R:6815100002001E01030001007900000110012413D20A02分析的结果是I(主动上报SOE,主动上报是因为104是平衡式规约)报文头固定为0x68,即十进制104长度15字节(不是6帧的,都是I帧)发送序号=8【控制字节的解析10000200,发送序号:0010H/2=16/2=8】接收序号=1【控制字节的解析10000200,接收序号:0002H/2=2/2=1】0x1E=30即M_SP_TB_1带长时标的单点信息01->SQ:0信号个数:10300->传送原因:[T=0P/N=0原因=3|突发]0100->公共地址:1790000->0x79=121信息体地址:12101->状态:1IV:0NT:0SB:0BL:010012413D20A02->低位10高位01,即0x0110=1*16*16+16=272时标:2002/10/1819:36:00.272
2024/7/5 19:30:53 366KB 104 规约 报文详解
1
该款产品是Spire.PDFViewerfor.NET的免费版本,无需购买即可适用于个人或者商业用途。
支持浏览含多种元素的PDF,这些元素包括超链接,字体(TrueType,Type0,Type1,Type3,OpenTypeandCJKfont),图形,表格,Device-DependentColorSpaces,DCT,JPEG2000等图片格式。
具体功能如下:从文件,流,字节数组读取文档;
加载浏览加密的PDF文档;
设置浏览选项(页面跳转,缩放,自适应页面大小,旋转,单页或多页显示);
显示缩略图;
识别书签目录及跳转到目标位置;
存取附件到本地硬盘;
支持多种打印方式:横向,纵向,自动;
保存为图片(.bmp,.png,.jpeg);
支持多种PDF页面元素(超链接,字体,图形,图片,表格)。
该产品支持.NETFramework2.0,3.0,3.5,4.0;
仅支持WindowsForm;
支持ASCIIHex,ASCII85,Flate,LZW,RunLength,CCITTFax,DCT,JPX解码;
控件完全由C#代码开发;
独立组件,无需AdobeReader及其他任何第三方软件。
本资料共包含以下附件:免费版.NETPDF查看组件-Spire.Pdfviewer_4.1.zip
2024/7/2 12:27:35 49.01MB C#
1
资源中是飞思卡尔XEP100单片机IIC测试代码,采用IIC接口与24C02进行通信,向24C02写入一个字节的数据,并读取出来进行验证。
2024/7/1 8:06:41 524KB 飞思卡尔 XEP100 IIC 24C02
1
NXP公司MIFAREClassic/UltraLight标准的的RFID卡,4字节7字节10字节UID定义与读取,在RC663芯片上验证过。
相关RFID、NFC开发或技术交流可联系上海匀逸物联(www.yunyi.link)
2024/6/26 15:28:22 213KB MIFARE Class MIFARE Ultra
1
共 351 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡