上次的程序由于串口2USART2.c文件里串口2中断函数对数据的处理中没有对0x0a和0x0D进行判断,因此只有串口一是可以正常用的,这次的程序我对串口2中断函数进行了修改,完全按照串口一的处理,同时保留了u2_printf函数可用于和单片机向测距模块传送字符串;
另外按照相同的模式,扩展了串口三,也是串口一中断的方法,扩展了u3_printf函数。
因此可以用三个串口中任何一个使单片机与上位机通信,另外两个各接一个激光测距模块,可以同时监控两个测距模块,实际做小车等机器人时,三个串口都可以接激光测距模块,这样可以同时搞三个,如果还想扩展,可以按照相同方法加入新的串口。
程序完全自己写的,也是在网上没找到stm32的实现例程,淘宝卖家说只有用Arduino的程序,所以就自己写了,希望用这个模块的人都能看到。
1
使用stm32f103RCT6串口DMA空闲中断接收,DMA发送完整源码,修改串口只需修改对应宏定义即可
2023/7/1 16:21:09 2.91MB stm32F103 串口 DMA
1
Lingo编写的IEEE39节点带一个风电场三个可中断负荷的多目标优化问题代码,使用了模糊理论,将多目标问题转换为单目标问题求解,只需要稍微改动,就可以运用在其他节点模型中。
2023/7/1 11:08:54 16KB Lingo
1
SWAT模型中气象数据的计算翻译By:94527257TheProgrampcpSTATUser’sManualStefanLiersch,Berlin,August12,2003stliersch@freenet.de下载地址:http://www.brc.tamus.edu/swat/pcpSTAT.zip引言pcpSTAT.exe程序用来计算SWAT模型气象发生器所需要的每日降水数据的统计参数(userwgn.dbf)。
表1中列出的一些参数能毫不费力地利用MICROSOFTEXCEL等工具计算出来,而PR_W1和PR_W2比较难计算。
表1:SWAT所用的降水统计参数PCPMM(mon)=averageormeantotalmonthlyprecipitationPCPSTD(mon)=standarddeviationfordailyprecipitationinmonthPCPSKW(mon)=skewcoefficientfordailyprecipitationinmonthPR_W1(mon)=probabilityofawetdayfollowingadrydayPR_W2(mon)=probabilityofawetdayfollowingawetdayPCPD(mon)=averagenumberofdaysofprecipitationinmonth输入文件存储着每日降水数据的输入文件必须是只有一列数字的ASCII码文本文件(图1)。
观测期必须是开始于1月1日,结束于12月31日。
换句话说,第一个数据值是1月1日的,最后一个是12月31日的。
虽然对利用的总年数没有限制,但每一次的计算都必须是基于一整年。
若是有缺失的数据,需要用空值(必须是数字)来填充这些缺失的数据值。
程序会询问这些值,并用整个系列的平均值取代空值。
图1:ExampleofaPrecipitationInputFile翻译By:94527257创建输入文件降水数据文件通常是文本文件,一列是日期,一列为降水值。
用EXCEL打开数据文件,若有必要可以缩减日期,以使其从1月1日开始,12月31日结束。
随后,删除日期列,只剩降水数据列,并保存为文本文件(filename.txt)。
若是使用其它软件创建输入文件或是之后使用文本编辑器操作文件,确保最后存在一个空行。
若是没有空行或是超过一个空行,程序将会中断并弹出消息“Endoffileduringread”,且将会产生错误的输出数据运行pcpSTAT.exe程序将程序和输入文件放在同一个目录,双击pcpSTAT.exe或是从DOS窗口中启动程序(图2)。
键入输入、输出文件的名字(包括其扩展名),至于输出文件,可以任意命名。
下一步,需要输入起始年份,用来判断一个年份是否是闰年。
只要键入第一年(4位数字)回车。
此后,需要输入无数据值,若降水数据有缺测,需要输入一个并不存在的数字,例如“999”。
图2:ProgrampcpSTAT.exe在计算结束后,输出文件(图3)会自动保存在程序目录中。
此外,还会生成2个文件:totalpcp.sta和mean_pcp.sta。
totalpcp.sta(图4)包含了每年每个月的总降水,mean_pcp.sta则包含每年每个月的平均每日降水。
翻译By:94527257图3:ExampleofanOutputFile翻译By:94527257图4:ExampleoftheFiletotalpcp.sta
2023/6/30 21:10:04 752KB 降雨、露点
1
此例程为使用按键触发STM32的外部中断的基础例程,其中包括中断的配置、相关寄存器的设置等内容。
2023/6/29 19:14:07 1.57MB STM32 key exti
1
STM32F103增量式编码器的采集以及处理程序,每隔0.1sec进入中断读取一次溢出值和当前脉冲计数,计算位移和速度。
2023/6/29 8:27:49 327KB STM32 增量式编码器 测速
1
MSP430F149串口发送与接收程序,查询方式发送,中断方式接收。
波特率9600
2023/6/29 4:48:42 28KB MSP430F149串口
1
中文版目录总汇及内容提要第一章.企业应用中的作业调度内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案第二章.Quartz起步内容提要:本章对Quartz框架一个快速的入门介绍,同时也大略指导你从哪里下载,构建和安装这个框架第三章.HelloQuartz(第一部分)内容提要:建立HelloQuartz工程,并创建一个QuartzJob类ScanDirectoryJob.第三章.HelloQuartz(第二部分)内容提要:创建一个QuartzScheduler,关联上一个QuartzTrigger以编程方式调度前面编写的ScanDirectoryJob运行。
第三章.HelloQuartz(第三部分)内容提要:通过配置quartz.properties、quartz_jobs.xml以声明的方式调度ScanDirectoryJob运行。
第三章.HelloQuartz(第四部分)内容提要:让我们最后简单讨论打包一个用到了Quarts框架的应用程序的流程,需要依赖于哪些包,也以此来结束本章的内容。
第四章.部署Job(第一部分)内容提要:介绍Scheduler和SchedulerFactory有哪些类型、SchedulerFactory的关键API方法;
以及如何通过java.util.Properties实例或默认quartz.properties文件创建Scheduler。
第四章.部署Job(第二部分)内容提要:如何管理Scheduler(启动、停止、Standby模式)。
还介绍了Job、JobExecutionContext、JobDetail、JobDataMap,及如何访问JobDataMap中的数据。
有状态和无状态的Job。
第四章.部署Job(第三部分)内容提要:Job的易失性、持久性和可恢复性,如何从Scheduler中移除、中断Job。
Quartz已为我们提供了哪些Job。
最后是Java线程的简单介绍。
第四章.部署Job(第四部分)内容提要:线程在Quartz中的用法,主处理线程:QuartzSchedulerThread和Quartz工作者线程。
QuartzTrigger和Calendar各有哪些类型和如何使用。
第五章.Cron触发器及相关内容(第一部分)内容提要:引入QuartzCronTrigger 及简单使用CronTrigger来部署一个Job第五章.Cron触发器及相关内容(第二部分)内容提要:详细介绍了cron表达式的格式和像,-*?/LWC#特殊符号的使用第五章.Cron触发器及相关内容(第三部分)内容提要:CronTrigger使用起(startTime)迄(endTime)日期的使用。
TriggerUtils简单方便的创建Trigger。
应用JobInitializationPlugin在quartz_jobs.xml配置文件中写Cron表达式。
第五章.Cron触发器及相关内容(第四部分)内容提要:Cron表达式Cookbook,列举了各种Cron表达式的写法和意义,有助于更好的理解Cron表达式;
还用了TriggerUtils创建了一个即刻触发的Trigger。
第六章.Job存储和持久化(第一部分)内容提要:介绍Quartz中的Job存储,JobStore接口相关API方法。
使用RAMJobStore来实现Job存储及它的优缺点。
第六章.Job存储和持久化(第二部分)内容提要:使用持久性的JobStore,可用类型JobStoreTX和JobStoreCMT。
持久性JobStore是通过数据库来完成的,哪可支持哪些数据及需要创建些什么表。
第六章.Job存储和持久化(第三部分)内容提要:使用和配置JobStoreTX,需要为不同数据库平台指定不同的驱动代理(DriverDelegate),和quartz.properties中与JobStoreTX相关配置说明。
第六章.Job存储和持久化(第四部分)内容提要:为JobStoreTX通过在quartz.properties配置来创建数据源,并在Scheduler中使用数据源第六章
2023/6/28 22:27:03 1.18MB Quartz 使用文档
1
1、设计内容:对8路0—5V的模拟电压进行循环采集。
2、基本要求:①对8路模拟输入实行循环采集,每路连续采集16次,取平均值;
②输入量与显示误差<1%;
③CPU以中断方式读取采集数据。
3、发挥部分:①分别设定每一路的上限值,若采集的平均值超过该界限值,则对应通道的指示灯闪烁10次以后一直亮,以示警告;
②能对输出控制信号进行调节:对于第0路,则设定一个下限和一个上限,当采集的平均值小于下限时,输出一个较大的模拟信号作为向大的方向的调节控制信号;
当采集的平均值大于上限时,输出一个较小的模拟信号作为向小的方向调节的控制信号,且两种超限指示灯均闪烁10次后亮;
③速度上实现高精度采集;
④提高系统精度;
⑤设计抗干扰性;
2023/6/15 4:15:37 470KB 数据采集系统
1
STM32L4x1高级ARM_32位MCU单片机技术手册中文资料628页完整版1文件约定2系统和内存概述3嵌入式内存(FLASH)4防火墙(FW)5功率控制(PWR)6复位和时钟控制(RCC)7通用I/O(GPIO)8系统配置控制器(SYSCFG)9外设互连矩阵10直接存储器访问控制器(DMA)11嵌套矢量中断控制器(NVIC)12扩展中断和事件控制器(EXTI)13循环冗余校验计算单元(CRC)14灵活的静态存储控制器(FSMC)15四通道SPI接口(QUADSPI)16模数转换器(ADC)17数模转换器(DAC)18电压参考缓冲器(VREFBUF)19比较器(COMP)20运算放大器(OPAMP)21Σ-Δ调制器的数字滤波器(DFSDM22触摸感应控制器(TSC)23随机数生成器(RNG)24高级控制定时器(TIM1/TIM8)25通用定时器(TIM2/TIM3/TIM4/TIM5)26通用定时器(TIM15/TIM16/TIM17)27基本定时器(TIM6/TIM7)28低功耗定时器(LPTIM)29红外线接口(IRTIM)30独立看门狗(IWDG)31系统窗口看门狗(WWDG)32实时时钟(RTC)33集成电路(I2C)接口34通用同步异步接收发射机(USART)35低功率通用异步接收发射机(LPUART)36串行外设接口(SPI)37串行音频接口(SAI)38单线协议主接口(SWPMI)39SD/SDIO/MMC卡主机接口(SDMMC)40控制器局域网(bxCAN)41调试支持(DBG)42设备电子签名43修订记录
2023/6/12 7:56:14 10.37MB STM32L4x1
1
共 506 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡