C语言编写的1024点的FFT,以前做国赛的时候本人写的,分享出来大家一起用吧,里面写了基本的用法,有编程基础的人很快就看懂了,使用查表法做的,内存占用也做了极大优化,目前在STM32上,72M的计算速度为200-300ms,因为用的是1024点全局变量,所以在计算的时候会用到8*1024B=8.192k的内存,建议单片机RAM至少在10k以上,以免导致程序无法运行,因为点数比较大,内存占用较多,所以建议选用STM32这种运行速度较快的单片机
2023/2/18 17:47:57 7KB FFT 1024
1
首先要理解基本的原理,2台电脑间实现TCP通讯,首先要建立起连接,在这里要提到服务器端与客户端,两个的区别通俗讲就是主动与被动的关系,两个人对话,肯定是先有人先发起会话,要不然谁都不讲,谈什么话题,呵呵!一样,TCPIP下建立连接首先要有一个服务器,它是被动的,它只能等待别人跟它建立连接,自己不会去主动连接,那客户端如何去连接它呢,这里提到2个东西,IP地址和端口号,通俗来讲就是你去拜访某人,知道了他的地址是一号大街2号楼,这个是IP地址,那么1号楼这么多门牌号怎么区分,嗯!门牌号就是端口(这里提到一点,我们访问网页的时候也是IP地址和端口号,IE默认的端口号是80),一个服务器可以接受多个客户端的连接,但是一个客户端只能连接一台服务器,在连接后,服务器自动划分内存区域以分配各个客户端的通讯,那么,那么多的客户端服务器如何区分,你可能会说,根据IP么,不是很完整,很简单的例子,你一台计算机开3个QQ,服务器怎么区分?所以准确的说是IP和端口号,但是客户端的端口号不是由你自己定的,是由计算机自动分配的,要不然就出现端口冲突了,说的这么多,看下面的这张图就简单明了了。
在上面这张图中,你可以理解为程序A和程序B是2个SOCKET程序,服务器端程序A设置端口为81,已接遭到3个客户端的连接,计算机C开了2个程序,分别连接到E和D,而他的端口是计算机自动分配的,连接到E的端口为789,连接到D的为790。
了解了TCPIP通讯的基本结构后,接下来讲解建立的流程,首先声明一下我用的开发环境是VisualStudio2008版的,语言C#,组件System.Net.Sockets,流程的建立包括服务器端的建立和客户端的建立,如图所示:二、实现:1.客户端:第一步,要创建一个客户端对象TcpClient(命名空间在System.Net.Sockets),接着,调用对象下的方法BeginConnect进行尝试连接,入口参数有4个,address(目标IP地址),port(目标端口号),requestCallback(连接成功后的返调函数),state(传递参数,是一个对象,随便什么都行,我建议是将TcpClient自己传递过去),调用完毕这个函数,系统将进行尝试连接服务器。
第二步,在第一步讲过一个入口参数requestCallback(连接成功后的返调函数),比如我们定义一个函数voidConnected(IAsyncResultresult),在连接服务器成功后,系统会调用此函数,在函数里,我们要获取到系统分配的数据流传输对象(NetworkStream),这个对象是用来处理客户端与服务器端数据传输的,此对象由TcpClient获得,在第一步讲过入口参数state,如果我们传递了TcpClient进去,那么,在函数里我们可以根据入口参数state获得,将其进行强制转换TcpClienttcpclt=(TcpClient)result.AsyncState,接着获取数据流传输对象NetworkStreamns=tcpclt.GetStream(),此对象我建议弄成全局变量,以便于其他函数调用,接着我们将挂起数据接收等待,调用ns下的方法BeginRead,入口参数有5个,buff(数据缓冲),offset(缓冲起始序号),size(缓冲长度),callback(接收到数据后的返调函数),state(传递参数,一样,随便什么都可以,建议将buff传递过去),调用完毕函数后,就可以进行数据接收等待了,在这里因为已经创建了NetworkStream对象,所以也可以进行向服务器发送数据的操作了,调用ns下的方法Write就可以向服务器发送数据了,入口参数3个,buff(数据缓冲),offset(缓冲起始序号),size(缓冲长度)。
第三步,在第二步讲过调用了BeginRead函数时的一个入口参数callback(接收到数据后的返调函数),比如我们定义了一个函数voidDataRec(IAsyncResultresult),在服务器向客户端发送数据后,系统会调用此函数,在函数里我们要获得数据流(byte数组),在上一步讲解BeginRead函数的时候还有一个入口参数state,如果我们传递了buff进去,那么,在这里我们要强制转换成byte[]类型byte[]data=(byte[])result.AsyncState,转换完毕后,我们还要获取缓冲区的大小intlength=ns.EndRead(result),ns为上一步创建的NetworkStream全局对象,接着我们就可以对数据进行处理了,如果获取的length为0表示客户端已经断开连接。
具体实现代码,在这里我建立了一个名称为Test的类:2.服务
2023/2/17 5:19:13 297KB TCP/IP C++ 协议
1
Angular极品教程environments中存放全局变量1.自定义组件3.自定义服务4.双向数据绑定5.#Ref的用法6.星ngIf指令2.给H5标签指定id的写法是直接#id7.ngForm表单:FormModule1.管道2.ng指令2.ng2中使用动画CSS3.钩子函数1.第三方CSS样式库mdl1.basehref2.路由4.模仿ajax(不用后台,前端写json模仿数据)1.自定义模块2.路由守卫1.生产环境(线上环境)2.你没有后端程序员,你就可以安装http-server(静态webHttpModule模块已经被淘汰
2023/2/13 22:48:20 1.59MB Angular ng
1
第一部分 面向过程的程序设计第1章 C++概述11.1 计算机语言与程序11.1.1 机器语言与程序11.1.2 汇编语言与程序11.1.3 高级语言与程序11.2 从C到C++21.3 程序设计方法21.3.1 结构化程序设计方法31.3.2 面向对象的程序设计方法31.4 简单的C++程序引见41.5 程序开发的步骤5习题15第2章 数据类型、运算符和表达式62.1 保留字和标识符62.1.1 保留字62.1.2 标识符62.2 C++的基本数据类型62.3 常量和变量82.3.1 常量82.3.2 符号常量92.3.3 变量102.4 基本运算符和表达式112.4.1 C++运算符及表达式简介112.4.2 算术运算符和算术表达式112.4.3 运算优先级和结合性112.4.4 关系运算符和关系表达式122.4.5 逻辑运算符和逻辑表达式122.4.6 位运算符和位运算表达式122.4.7 自增、自减运算符和表达式142.4.8 赋值运算符和赋值表达式142.4.9 逗号运算符和逗号表达式152.4.10 sizeof()运算符和表达式152.4.11 逻辑表达式运算优化的副作用152.5 类型转换162.5.1 赋值时的自动类型转换162.5.2 各种类型运算量混合运算时的自动类型转换172.5.3 强制类型转换17习题218第3章 简单的输入/输出193.1 传统的输入/输出函数实现方法193.2 cout输出流203.2.1 输出八进制数、十六进制数和用科学记数法表示的数223.2.2 输出字符或字符串233.3 cin输入流233.3.1 输入十六进制或者八进制数据253.3.2 输入字符数据263.4 总结27习题327第4章 C++的流程控制294.1 算法概述294.1.1 算法的作用和类别294.1.2 算法的设计原则304.1.3 算法的表示工具304.1.4 结构化程序设计中基本结构的表示314.2 C++程序的结构和语句334.3 选择结构语句的使用354.3.1 if语句354.3.2 if语句的嵌套使用374.3.3 条件运算符384.3.4 switch语句394.4 循环结构语句的使用424.4.1 goto语句及标号的使用424.4.2 while语句434.4.3 for语句434.4.4 do-while语句444.4.5 break语句和continue语句454.4.6 循环的嵌套474.5 控制语句的应用举例47习题452第5章 函数545.1 概述545.2 函数的定义与调用545.2.1 函数的定义545.2.2 函数的调用565.2.3 函数的参数585.3 函数的原型声明595.4 函数的嵌套调用和递归调用605.4.1 函数的嵌套调用605.4.2 函数的递归调用635.5 内联函数665.6 函数重载675.6.1 参数类型不同的重载函数675.6.2 参数个数不同的重载函数685.7 使用C++系统函数685.8 作用域和存储类别695.8.1 作用域695.8.2 存储类别725.8.3 全局变量的作用域的扩展和限制745.9 程序的多文件组织765.9.1 内部函数和外部函数765.9.2 多文件组织的编译和连接77习题577第6章 编译预处理796.1 宏定义796.1.1 不带参数的宏定义796.1.2 带参数的宏定义806.2 “文件包含”处理82*6.3 条件编译83习题685第7章 数组867.1 数组的定义及应用867.1.1 一维数组的定义及使用867.1.2 一维数组作函数参数887.1.3 多维数组的定义及使用967.1.4 二维数组作函数参数987.2 字符数组的定义及应用1017.2.1 字符数组的定义1017.2.2 字符数组的初始化1017.2.3 字符数组的使用1027.2.4 字符串和字符串结束标志1027.2.5 字符数组的输入/输出1037.2.6 字符串处理函数1047.2.7 字符数组应用举例106习题7108第8章 结构体、共用体和枚举类型1108.1 结构体的定义及应用1108.1.1 结构体类型的定义1108.1.2 结构体类型变量的定义1118.
2023/2/11 6:48:32 1.36MB 王珊珊 c++ 第二版
1
savegif将位于for循环中的figure动画转化为gif文件用法:savegif必须在for循环中输入savegif函数,默认文件名为‘untitledgif.gif’savegif('filename')必须在for循环中使用,文件名保存为‘filename.gif’.savegif('filename.gif')必须在for循环中使用,文件名保存为‘filename.gif’.留意:在使用该函数前最好使用clearall命令清除全局变量,不过这个Bug已经修复,大家放心使用吧,记得给个好评哦
2016/9/3 11:49:12 975B MATLAB
1
线程间通信的demo,包括全局变量通信和自定义音讯通信两种方式。
喜欢的可以下载看一下。
或者搜博主文章,里面也有其他下载方式。
2015/1/25 10:40:32 19.77MB 线程通信
1
1.Qt下,多线程使用互斥锁安全访问同一全局变量;
2.源码中定义了ThreadA和ThreadB,定义变量后,顺次调用函数start()来启动重写的run()函数
2016/7/26 8:41:35 3KB Qt  多线程
1
1、概述2、全局变量3、子程序
2022/9/24 22:39:56 860KB 网络 物联网 单片机 嵌入式硬件
1
包含制造的说明档(readme.doc)以及一定会动的执行档一、 超级玛丽制造揭秘1工程开始 2二、 超级玛丽制造揭秘2图片基类MYBITMAP 4三、 超级玛丽制造揭秘3游戏背景类MYBKSKY 7四、 超级玛丽制造揭秘4图片显示类MYANIOBJ 9五、 超级玛丽制造揭秘5魔法攻击类MYANIMAGIC 13六、 超级玛丽制造揭秘6时钟控制类MYCLOCK 14七、 超级玛丽制造揭秘7字体管理类MYFONT 19八、 超级玛丽制造揭秘8跟踪打印类FILEREPORT 22九、 超级玛丽制造揭秘9精灵结构structROLE 24十、 超级玛丽制造揭秘10子弹的显示和帧的刷新 26十一、 超级玛丽制造揭秘11子弹运动和打怪 27十二、 超级玛丽制造揭秘12旋风攻击,小怪运动,火圈 29十三、 超级玛丽制造揭秘13小怪和火圈,模板 34十四、 超级玛丽制造揭秘14爆炸效果,金币 37十五、 超级玛丽制造揭秘15金币提示,攻击提示 41十六、 超级玛丽制造揭秘16攻击方式切换 43十七、 超级玛丽制造揭秘17地图物品 44十八、 超级玛丽制造揭秘18背景物品 47十九、 超级玛丽制造揭秘19视图 48二十、 超级玛丽制造揭秘20地图切换 50二十一、 超级玛丽制造揭秘21游戏数据管理 53二十二、 超级玛丽制造揭秘22玩家角色类MYROLE 58二十三、 超级玛丽制造揭秘23玩家动作控制 63二十四、 超级玛丽制造揭秘24角色动画 69二十五、 超级玛丽制造揭秘25类GAMEMAP全局变量 72二十六、 超级玛丽制造揭秘26菜单控制窗口缩放 76二十七、 超级玛丽制造揭秘27程序框架WinProc 80二十八、 InitInstance函数说明 85二十九、 后记 87以下的资源也很不错,加减可以看一下o使用C++制造3D动画人物-100%提供源码http://download.csdn.net/source/2255453Linuxkernel每一行都完全注释-初学者必备http://download.csdn.net/source/1982431ProgrammingEmbeddedSystems2ndhttp://download.csdn.net/source/1982338J2MEpdfandcode郭克华http://download.csdn.net/source/2229809C语言程序设计(Visual+C6.0环境)http://download.csdn.net/source/2232878VisualC++60MFC+code学习最强宝典http://download.csdn.net/source/2236266ASP.NETWeb(第一次亲密接触ASP.NET)http://download.csdn.net/source/2241466http://hqioan.download.csdn.net/
2020/7/7 10:25:23 1.25MB C++ 超级玛丽 game 不用钱
1
本套模板按照高保真效果进行还原设计,相关界面的规划和交互还原度达到了95%以上,且所有界面元素都是使用Axure重新制作的,避免使用任何的截图效果,所以相关的元素都是支持修改和复用的。
本套作品是一套免费且没有任何保留的分享模板,通过本模板不仅可以学习如何在Axure中通过母版合理的创建大型网站的原型框架,同时可以学习到Axure中动态面板、全局变量、辅助线、中继器、函数的相关知识点和使用技巧。
2020/11/1 8:43:45 758KB 省市区三级联动 Axure
1
共 63 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡