- 博客(35)
- 资源 (3)
- 收藏
- 关注
原创 stm32f1硬件I2C busy问题
看了几篇博文,开关I2C->CR1的最高位SWRST并且重新初始化也不行,误打误撞遇到了博主lalalaxy的文章,文中提到需要在接收数据前把SDA拉高,还提到要注意数据手册中的清零细节。我尝试配置f1的硬件I2C,写好程序后读取一下mpu6050的I2C地址,只读取一个byte,调试代码时发现I2C写操作没问题,但是读取操作加入之后I2C一直停留在busy。原文链接:https://blog.csdn.net/qq_41571077/article/details/119766611。
2024-10-09 20:37:55 331
原创 STM32F1读写时钟芯片DS1307总结
l如果主机发送n个DS1307内部寄存器的新数据,那么就修改起始地址以及起始地址之后n-1个寄存器的数据,比如这个起始地址是0x02,新数据是{0x08,0x22,0x03},寄存器0x02、0x03、0x04的值都会被修改,即小时、日、星期寄存器的新值就分别是0x08、0x22、0x03。接收6个字节就发送停止信号,那么就相当于读取了6个字节数据。l假设发送的起始地址是0x01,接收了5个字节就发送停止信号,就相当于读取了寄存器0x01、0x02、0x03、0x04、0x05这5个寄存器的值。
2024-10-05 11:31:26 756
原创 STM32_IIC 24C02
WriteAddr 24C02 中要写入数据的首地址。I2C在读取完 最后一个字节 发送NACk 释放总线。** 函数名: I2C_EE_ByteWrite。I2C_CheckEvent 事件所有值如下。** 功能描述: 一个字节写入EEPROM。/* 发送数据到EEPROM内部地址。产生I2Cx传输 START 条件。/* //通过外设 发送地址·*/第一步引脚配置 ,IIC配置。I2C_SR1寄存器的第二位。产生I2Cx STOP条件。第二部 IIC的通讯。//等待选着过程完成。//等待字节发送完成。
2024-10-04 18:54:03 502
原创 CRC16的标准校验算法及C语言实现
多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或。多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或。多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或。多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0x0000异或。重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
2024-10-03 22:05:02 1643
原创 串口指令增加CRC校验
指令后面,结束符前面,加上2字节的CRC16校验码(HEX)+1字节的常数:0x01(HEX),相当于在指令和结束符中间插入了3个字节,CRC校验码的储存方式是小端模式,低位在前。需要校验的数据为所有指令数据,如果是带地址的指令,从地址开始算,不带地址的指令,就从指令第一个字节开始计算,结束符不计算在内。带校验或不带校验无需做任何配置,只需修改指令即可,您可以上一条指令带校验,下一条指令不带校验也是可以的。如果屏幕收到带校验的指令后发现校验失败,会返回错误:0x09 0xff 0xff 0xff。
2024-10-03 21:48:53 684
原创 FreeRTOS:显式声明printf函数以解决编译警告的办法
2. 使用FreeRTOS提供的调试宏:FreeRTOS提供了用于调试的宏,以便在运行时输出调试信息。这个警告提示是因为在文件..\FreeRTOS\src\queue.c的第1244行中使用了printf函数,但是该函数没有在文件中显式声明。这样可以避免隐式声明printf函数并且利用FreeRTOS提供的调试宏来输出调试信息。请注意,第二种方法可能需要根据您所使用的具体FreeRTOS版本和配置进行适当的调整。这样可以显式地告诉编译器函数的声明,消除警告。解决printf显示声明的办法。
2024-09-23 11:22:22 399
原创 STM32开发Tips系列之FPU+DSP库
打开MDK-ARM,在设置选项中点击"C/C++",将宏定义:ARM_MATH_CM4,__TARGET_FPU_VFP,__FPU_PRESENT添加进来,如图3.1所示。其中ARM_MATH_CM4表示使用arm_math.h库(属于CMSIS-DSP库)来处理数学运算,可充分发挥FPU的性能;如图4.1,在MDK工程下双击"Drivers/CMSIS"文件夹,将项目文件夹下的目录Drivers->CMSIS->Lib->ARM中文件arm_cortexM4lf_math.lib添加进来。
2024-09-22 20:42:30 620
原创 QSettings类 简介(Qt说明文档)
它还支持自定义存储格式。QSetting对象既可以创建在栈上,也可以创建在堆(即new)上,构建和销毁速度很快。当创建一个QSetting对象时,必须指定公司或组织名称(或文件名),和产品应用名称(或文件格式,例如Windows中的.ini)。//获取exe应用程序路径。//获取当前工作目录路径。//【IP】为组名,【/】为分层键,first为键值对名称,后为键值,与下方方法同理。// 创建一个QSettiQngs对象,格式为.ini。//创建QSettings 对象。// 创建QSetting对象。
2024-07-02 19:44:37 421
原创 Qt6.7.2安装QUC SDK6.5.2控件过程
如果选择,这是关键,Qt6.7.2对应低于的QUC SDK的qt_6_5_2(都是各自目前最高本版),MSVC2019 64-bit 对应qt_6_5_2_msvc2019_64、MinGW 11.2.0 64-bit对应qt_6_5_2mingw112_64 如果看呢11.2.0 64-bit就是112_64,这样找一一对应的本版,编译本版,一定,一定,一定,大版11版,要一一对应,重要的事情说三次,这个一定要一致的本版才能使用,可以看看各个编译本版。在安装过程中,走了不少弯路,现写一个安装过程。
2024-06-22 21:46:28 1132
原创 SetClassLong编译32位,无法编译64位,推荐使用SetClassLongPtr,32位和64都能用
/修改图标,使用32位编译,没问题。使用64位编译,这个函数失效。//使用这个函数修改图标,32位和64位都能使用。
2024-06-01 17:44:54 162
原创 WNDCLASS的lpszClassName成员赋值解决思路
WNDCLASS的lpszClassName成员赋值给WNDCLASS的lpszClassName成员赋值,在vs2008下报错error C2440: : c。//怎样给类名赋值?给WNDCLASS的lpszClassName成员赋值,在vs2008下报错。问题描述的很清楚,char*的字串不能复制给unicode的字串变量。定义wchar_t型数组赋值成 "example"也报错.网上的程序都是直接用 "example"这种方式赋值.用_T(“xx”)或者L"xx"或者Text等等。
2024-05-17 10:54:07 442
原创 rhel(centos)异常断电关机导致“/run/in itramfs/rdsosreport.txt“并提示 Device or resource busy
如果输入xfs_repair -v -L /dev/dm-0 ,报 no such file or directionary 的错误,是没有这个设备。输入journalctl,翻到最后一页,查看红色地方XFS()是什么。例如如果是XFS(3),那么就将命令对应的文件改为 xfs_repair -v -L /dev/sda3 即可。-L:强制日志归零,可以理解为强制进行修复,可能会造成文件丢失,正常修复不了的情况下在用.此命令的作用是强制清除日志,但是不会删除自己的文件。解除占用后重新修复成功,后重启。
2023-12-26 16:03:38 1629
原创 mysql 视图
对于MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。不知道大家理解清楚了没有,接下来再看看TEMPTABLE的方式,这个就简单了,我感觉可以将其理解成类似ORACLE物化视图的概念,但在MySQL中它是个临时的物化视图,怎么个临时法呢,就是说物化只存在于查询那一刻---将视图的定义SQL生成实体临时表,对于视图的查询条件会在临时表上进行,包括传统的WHERE子句,以及像MERGE方式无法支持的DISTINCT、GROUP BY、HAVING等。
2023-12-04 22:19:09 137
原创 Spring Cloud项目启动失败:class path resource [mapper/] cannot be resolved to URL because it does not exist
当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径;用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。如果要加载的资源, 不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的, 这种情况下就需要使用classpath*:前缀。
2023-12-03 20:16:41 1134
原创 win10怎么添加双路由(win10如何添加路由)
大体来说,无线设置,可设置无线wifi网络的SSID,也就是名称,以及描述,并可选择SSID广播是否启用,如果启用此功能,则能够搜索到无线网络,若不启用,则自动搜索不到,需要手动在wifi接收端比如智能手机上输入SSID也就是wifi名,之后进行连接。在未使用路由器时,猫(宽带网线)直接连接电脑上网时,电脑上需要用“宽带连接”(类似的程序),填写宽带账号、宽带密码,进行拨号,拨号成功后,电脑才能上网。即使运营商提供了宽带账号、宽带密码,但是在未使用路由器时,只需要把猫接出来的网线(入户网线),连接到电脑;
2023-12-01 15:53:36 3375 1
原创 spring boot 项目集成layui 关于table 渲染数据的时候一直报数据接口请求异常:error的处理
controller有两种返回数据的方式:1.返回页面,使用@Controller注解 2.返回数据,使用@ResponseBody.//如果进入管理页面,那么这个人肯定是管理员,那么这个人的id肯定=该机构的负责人id。//1.如果这个人是超级管理员,就可以看到所有机构,机构的id为-1,// 2.如果为机构负责人,那该负责人就只能看到自己机构的情况。//退出系统:销毁session里面存放的用户,跳转到登录页面。//将list类型的数据转换成json数据。
2023-11-25 08:15:07 492
原创 $.ajax()里面data参数的含义、用法
这个data又是什么意思,和上面的那个data一样么。data参数和success:function(data){}里面的data有什么关系?第一个data就是发送给服务端的数据,success里面的data是服务器返回的数据。你的dataType是json的话,这两个data里的数据都要是json格式的。
2023-10-06 23:15:02 270 1
原创 请问如何理解:for(Integer id:userIds){}?
那这时候,循环就停止了,然后接着运行循环后面的代码。第二遍循环,把数组userIds的第二个元素的值赋给变量id,此时id的值为4,于是输出4;进入循环,把数组userIds的第一个元素的值赋给变量id,此时id的值为2,于是输出2;userIds是一个Integer型的数组,然后id遍历这个数组。第三遍循环,把第三个元素6赋给id,id为6,输出6;第四遍,把7赋给id,id为7,输出7;第五遍,把9赋给id,id为9,输出9;举个例子给你说,你会明白些,比如说。
2023-10-04 20:31:29 138 1
原创 spring mvc将对象转换为json返回的配置
之前在spring 3中用的好好的MappingJacksonHttpMessageConverter转换器,将对象转为json响应给浏览器,在spring4中,报错。你的能量超乎你想象_________
2023-10-02 15:28:58 178 1
原创 怎么用 PLSQL Developer 创建新的oracle数据库
从Windows桌面执行“开始”→“程序”→“Oracle - <ORACLE_HOME_NAME>”→“配置和移置工具”→“Database Configuration Assistant”命令,打开Database Configuration Assistant对话框的欢迎界面,单击该界面中的“下一步”按钮。采用默认设置,单击“下一步”按钮,进入“步骤11:创建选项”界面,在该界面中采用默认设置,单击“完成”按钮,在弹出的“确认”对话框中单击“确定”按钮,即可开始新数据库的创建。¤单击“确认”按钮,
2023-10-02 10:19:29 2464 1
原创 应用Druid进行数据源、SQL、Web应用、URI、Session等监控的简单实现
{projectName}/druid/sql.html就可以访问监控页面了,druid已经将数据友好的显示到页面上了,包括每条sql执行的次数,执行的时间,最慢时间等等很多详细信息,供我们参考,找到哪些执行效率低的耗时长的语句进行优化。同时提供数据源、sql防火墙,web应用,URI监控、Session监控,spring监控等,里面有详细的各种数据信息,大家可以参考查阅。第二步: 修改web.xml,添加druid的SQL监控,以及Web应用等监控配置。好了,经过上边三个步骤,就可以进行监控了。
2023-09-14 12:02:15 796 1
原创 Mybatis Generator 安装(idea+maven)
table schema="" tableName="表名" domainObjectName="实体类名" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">-- 是否允许子包,即targetPackage.schemaName.tableName -->
2023-09-14 10:39:42 645 1
原创 idea 输出 System.out.println() 控制台乱码
做完这三步,基本上就能解决输出乱码的问题,我也是做完这三步后,才解决的乱码问题。。。
2023-09-10 11:14:34 1426 1
原创 javascript获取地址栏的绝对路径
【strPath.substring(0, strPath.substr(1).indexOf('/') + 1)】:再次做截取;【 strFullPath.substring(0, pos)】:通过当前页面的路径或文件名的位置截取页面地址栏的地址;【strFullPath.indexOf(strPath)】:查看当前页面的路径或文件名在在地址栏之中的位置;【window.document.location.pathname】:获取当前页面的路径或文件名;// 获取地址栏的绝对路径。
2023-09-08 09:37:34 523 1
原创 IDEA2021.3.3配置Maven(详细版)
maven用来管理依赖,是专门用于构建和管理项目的工具,很大程度方便了我们对依赖导包等,然而Idea配置自己本地maven很有必要。然后 Build ==> Build Tools ==> Maven,如下图选择对应的路径及配置应用确认即可。注意的是:idea使用的JDK版本要和第二步试运行maven时显示的JDK版本一致。此外maven helper插件是个宝藏插件,可以考虑下载使用解决依赖冲突。全局设置maven配置(如果平时项目所用版本一致,可以考虑设置)找到maven设置即可进行全局设置。
2023-08-25 22:59:48 581 1
原创 IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法
原因是从别的地方引入的项目文件,本地的MavenRepository库中并不存在对应版本的dependency依赖,所以导致版本号报红。找到对应项目,右键reload就可以了。
2023-08-22 21:43:46 3655 4
原创 eclipse jee 创建 JPA 工程
因为源代码的路径从src变成了src/main/java,所以要把src/META-INF目录也移到src/main/java/或src/main/resources/目录中,也就是META-INF必须与源码同一目录,不然就找不到。使用JEE版本的ECLIPSE可以创建JPA工程,JPA工程的好处是可以把数据库中的TABLE全部映射成JAVA对象,可以免除很多的工作量。——当然,HIBERNATE一样可以做这件事,但使用JPA还是有好处的。建完之后可以我把它改成maven工程,中间出了些问题,下面说一下。
2023-07-28 22:30:54 286 1
转载 ExtJS6的版本历史、目录结构以及Demo安装过程
版本上4.2和6.2的区别很大,至少概念上MVC和MVVM的区别还是很大,MVC已经是老帮子了,很土的感觉。他们表示,开发过程不会去主动使用sencha在eclipse上的plugin,就直接在eclipse中写就好了。ext官网的内容,不说人话,还是仅作为参考,我没有能力直接从、单独从这一个信息来源获得足够的支持。2.蒋锋的csdn博客(spring+ext6,而且有代码,有案例可以下载,人话说的很好);本文之前的博文内容,6.2最初始案例的项目,看懂了一二,因为蒋锋的博客写的很好。
2023-07-22 10:05:00 471
转载 MyEclipse2018中安装Mybatis generator插件的实现步骤
在使用maven配置Mybatis generator插件时报以下错误,generator插件一直无法使用,查询资料说和eclipse版本有关系。在搜索框输入MyBatis Generator出现点击install-->Finish.如下图所示。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。点击help-->install from catalog...点击next 选择文件生成的路径以及文件名,如下图所示。无奈之下选择安装eclipse的插件。点击Finfish。
2023-07-03 19:49:32 206 1
转载 Ext JS教程
Extjs表格控件功能丰富、界面美观、轻量级的实现,都是人们对其趋之若鹜的理由,究竟Extjs能实现多少不可思议的功能,就让我们一起来学习一下教程里面的内容。ExtJS代表扩展JavaScript,是基于YUI(Yahoo用户界面)的sencha的JavaScript框架和产品。它基本上是一个具有现代UI的桌面应用程序开发平台。本教程完全理解Ext JS。这个参考将带你通过简单和实用的方法,同时学习Ext JS。
2023-07-03 08:34:58 627
原创 spring注解之@PostConstruct在项目启动时执行指定方法
被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。被@PostConstruct修饰的方法会在服务器加载Servlet(bean)的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConstruct注解的方法可以有多个。-- 引入属性文件 -->
2023-06-24 22:12:25 1845 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人