2024年程序员学习
文章平均质量分 90
普通网友
这个作者很懒,什么都没留下…
展开
-
STM32CubeMX_CAN_CAN3_FDCAN_cubemx dcan
【代码】STM32CubeMX_CAN_CAN3_FDCAN_cubemx dcan。原创 2024-05-17 09:09:25 · 406 阅读 · 0 评论 -
STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs
10:阅读支持包驱动代码 | 移植完后,不要就不管了,一定要看FLASH厂商给的驱动流程 || 9:移植验证 | 在这里插入图片描述 |原创 2024-05-17 09:08:52 · 410 阅读 · 0 评论 -
STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs(2)
10:阅读支持包驱动代码 | 移植完后,不要就不管了,一定要看FLASH厂商给的驱动流程 |原创 2024-05-17 09:08:18 · 454 阅读 · 0 评论 -
STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs(1)
【代码】STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs(1)原创 2024-05-17 09:07:43 · 287 阅读 · 0 评论 -
Qt QFileDialog实现文件选择对话框_qfiledialog选择文件夹(1)
/QMessageBox::warning(this,tr(“提示”),tr(“打开文件”),QMessageBox::Yes|QMessageBox::No);fileDialog->setWindowTitle(tr(“打开图片”));//定义文件对话框标题。//设置默认文件路径。原创 2024-05-17 05:46:49 · 659 阅读 · 0 评论 -
Qt pro文件详解
接下来,我们就为大家详细地讲解 pro 文件中各个配置信息的含义,以及如何手动修改 pro 文件。原创 2024-05-17 05:46:15 · 1016 阅读 · 0 评论 -
Qt pro文件详解(1)
除了 Core 和 GUI 模块外,Qt 还有 SQL(包含操作数据库相关的类)、Widgets(包含构建界面的所有控件类)、Multimedia(包含提供音频、视频等功能的类)等模块,Qt 项目不会自动包含这些模块。上表中,大部分配置项不需要我们手动修改,比如 SOURCES、HEADERS、FORMS 等,当我们添加或者删除项目中的源文件时,Qt 会自动修改这些配置项。每个新创建的 Qt GUI 项目中,都默认包含 Core 模块和 GUI 模块,如果项目中用不到它们,可以使用。原创 2024-05-17 05:45:41 · 947 阅读 · 0 评论 -
Qt Moc及信号-槽源代码解析_qt_moc_literal
/最后调用callFunction其实就是调用qt_static_metacall,还记的文章前边说的留个印象么,现在就到了调用的最后一步。//下面是对Connection* QObjectPrivate::senders双向链表的操作。//此处省略了函数参数检查,信号及槽函数索引获取,connect类型处理等代码。//最后其实调用了QMetaObjectPrivate::connect。//根据信号索引取得此信号所对应的链表,并把此连接加入链表中。//存储了信号-槽链接的信息。原创 2024-05-17 05:45:07 · 935 阅读 · 0 评论 -
HTML5——Canvas图表插件 chart
常规版本的Chart.js和 Chart.min.js,附带chart.js库的同时还带着颜色解析器。如果你想使用这个版本并且在你的图表中使用时间轴,你需要在安装Chart.js之前安装上Moment.js。而另一个版本Chart.bundle.js 和Chart.bundle.min.js早就包含了Moment.js。chart.js是简单而灵活的javascript图表插件,底层封装了canvas,而且是复合目前主流的响应式。以下使用的是chart.js的2.0版本。chart.js目前有两种版本。原创 2024-05-17 02:07:51 · 374 阅读 · 0 评论 -
hex文件、out文件、bin文件、map文件解析
1、hex文件包含地址信息而bin文件只包含数据本身,烧写或下载hex文件时,一般不需要用户指定地址,因为hex文件内部已经包含了地址信息。hex文件包括地址信息(烧写或下载hex文件,一般不需要用户指定地址),bin文件格式只包括数据本身(烧写bin文件时,用户需要指定地址信息)。(后面所有数据地址+线性地址左移16位,将该地址左移16 位后作为基地址,并且表示在下一个04类型行出现之前都要使用该地址作为基地址来使用。0000表示该行数据的起始地址(若该行数据的数据类型为00,则为偏移地址);原创 2024-05-17 02:07:17 · 454 阅读 · 0 评论 -
hex文件、out文件、bin文件、map文件解析(1)
hex文件包括地址信息(烧写或下载hex文件,一般不需要用户指定地址),bin文件格式只包括数据本身(烧写bin文件时,用户需要指定地址信息)。(后面所有数据地址+线性地址左移16位,将该地址左移16 位后作为基地址,并且表示在下一个04类型行出现之前都要使用该地址作为基地址来使用。例:0xBD = 0x0100 –(0x02 + 0x00 + 0x00 + 0x04 + 0x00 + 0x3D)第①行数据基地址(首行):0x0000 +(0x003D原创 2024-05-17 02:06:44 · 385 阅读 · 0 评论 -
CubeMX+STM32F407+FatFS+SDIO_DMA+SD FR_DISK_ERR 错误解决方法_sdio不用fatfs方式读写文件(1)
最后在ST官方的例子中找到解决方法,耗时两天时间终于解决了,如果你看到这篇博客,那么恭喜你,各种坑我都帮你踩过了,你节省了两天时间,不煽情,直接看代码。软件环境非常重要,检查下自己不是这个版本就不要照着操作了,解决方法仅供参考,如果版本一致,100%问题会解决。怀疑SDIO_BUS_WIDE_4B有问题改为SDIO_BUS_WIDE_1B,失败。怀疑SD卡格式有问题不支持,各种格式化,FAT,FAT32,各种单元大小组合,失败。怀疑FatFS设置有问题,设置各种选项测试,失败。简单介绍下遇到的问题。原创 2024-05-16 21:08:35 · 348 阅读 · 0 评论 -
css垂直外边距重叠问题解决_如何解决垂直外边距重叠
我们会发现他们的间距变为两百了,为什么当一个下外边距为100px,另一个上外边距也是100px,它们边距仍然是100px,这是因为它们两个发生了垂直外边距重叠问题,因此它们两个的距离将会是它们两个外边距的最大值,这也是为什么当下面的div的上外边距改为200px,它们的间距就变为200px的原因。这种情况我们会发现我们想让box2在box1中向下移动100px,但是实际效果是这个margin-top传递给了它的父元素也就是box1,这也就是垂直外边距重叠带来的问题:子元素的外边距会传递给父元素。原创 2024-05-16 21:08:01 · 415 阅读 · 0 评论 -
CSRF攻击理解、简单演示与预防_yxdfcsr
这就利用了web用户身份认证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。,因为浏览器之前认证过,所以被访问的站点会觉得这是真正的用户操作。登录受信任网站A,并在本地生成Cookie。CSRF即跨站请求攻击。在不登出A的情况下,访问危险网站B。没有登录不能进行转账。原创 2024-05-16 21:07:26 · 403 阅读 · 0 评论 -
C++ 笔记1 第一个C++程序 结构体 联合 枚举 string、bool类型_c
namespace 名字空间名{名字空间成员1;名字空间成员2;...注:名字空间成员可以是全局函数、全局变量、类型、名字空间.原创 2024-05-16 16:07:11 · 260 阅读 · 0 评论 -
C++ 常见崩溃问题分析_c++ bus error
对象切片很好理解,相当于32位整数转换为16位整数时会根据目标类型裁减丢弃一部分数据,对象切片亦会裁减对象数据,它的变换过程是:分配目标类对象空间 è 复制源对象等长内存 è 设置虚拟方法表指针【如果有】,类对象切片与普通数据类型唯一的不同是它会切换对应的函数视图,如果有虚方法则还会切换虚拟方法表指针以确保调用正确的虚函数;结构类型、类类型的值传递方式呢?按照摩尔定律,内存器件的成本迅速下降,但内存紧缺的问题却没有随之解决,内存分配失败的问题依然存在,保持检测内存指针或捕获内存异常的习惯依然有必要;原创 2024-05-16 16:06:36 · 276 阅读 · 0 评论 -
C++ 常见崩溃问题分析_c++ bus error(2)
由于 C 和 C++ 这两种语言血缘非常近,文本亦对 C 编程语言有借鉴作用;原创 2024-05-16 16:06:02 · 268 阅读 · 0 评论 -
C++ 常见崩溃问题分析_c++ bus error(1)
指针传递、引用传递都是传递对象的地址,传给函数时都是把这个地址压入栈,32位平台为四个字节,64位平台为八个字节,除结构实例、类实例外的标量类型,其数据长度均固定,可以精确的计算参数所需空间;由此可以看出,标量类型、指针、引用等数据类型长度都小于等于机器字长,占用的空间小,入栈、出栈速度都是非常块的,一般情况下默认栈空间足够使用,不会出现堆栈溢出的问题;哪些数据类型会潜在的降低程序效率呢?答案是结构类型、类类型,他们是程序低效率的潜在幕后黑手;原创 2024-05-16 16:05:27 · 328 阅读 · 0 评论 -
51单片机项目(11)——基于51单片机的多功能万年历_51单片机万年历
低成本和简单性:51单片机作为一种经济实惠和易于使用的微控制器,对于一些简单的万年历应用而言,依然是一个合适的选择。实时应用:51单片机有较强的实时处理能力,对于时间相关的任务,如时钟、定时器和闹钟功能的实现,以及日期计算和显示等方面,51单片机具备较高的准确性和稳定性,可以满足实时应用的要求。特定领域的应用:在一些特定的应用领域,如家电控制、电子游戏、自动化设备等,由于51单片机低功耗、低成本等特点,仍然可以找到其应用的机会。设置定时器计数值:根据您的需求,设置定时器的初始计数值,即定时器开始计数的值。原创 2024-05-16 13:04:29 · 366 阅读 · 0 评论 -
51单片机项目(11)——基于51单片机的多功能万年历_51单片机万年历(1)
低成本和简单性:51单片机作为一种经济实惠和易于使用的微控制器,对于一些简单的万年历应用而言,依然是一个合适的选择。实时应用:51单片机有较强的实时处理能力,对于时间相关的任务,如时钟、定时器和闹钟功能的实现,以及日期计算和显示等方面,51单片机具备较高的准确性和稳定性,可以满足实时应用的要求。您可以参考单片机的资料手册和开发工具的用户指南,了解详细的定时器配置和控制寄存器设置。根据您的需求,选择合适的工作模式。设置定时器计数值:根据您的需求,设置定时器的初始计数值,即定时器开始计数的值。原创 2024-05-16 13:03:55 · 341 阅读 · 0 评论 -
51单片机项目(10)——基于51单片机的电压计_串口发出adc0832测量电压
自动化控制系统:电压计可以作为自动化控制系统中的重要组成部分,用于监测和反馈电压信号,实现对电路、设备或系统的控制。通过学习和实践51单片机电压计,学生能够理解自动化控制系统中的电压监测和反馈原理,并应用于相关领域,如温度控制、电源管理等。他们需要了解和掌握电压测量的原理、ADC转换技术、单片机的编程等相关概念和技术,并将它们应用于电压计的设计和实现过程中。通过学习和实践51单片机电压计,学生可以了解电压测量的原理和方法,并掌握如何使用单片机测量和显示电压值,从而提高电子设备维护和调试的能力。原创 2024-05-16 13:03:21 · 390 阅读 · 0 评论 -
51单片机蜂鸣器演奏《我和我的祖国》_51单片机演奏蜂鸣器音乐简谱
5, 2, 2, 4, 2, 2, 3, 2, 2, 2, 2, 6, 7, 1, 2, 6, 1, 2, 5, 1, 2, 3, 2, 6,4, 2, 6, 2, 2, 4, 1, 2, 2,1, 2, 10,//你用你那母亲的脉搏和我诉说。8, 2, 2, 2, 3, 2, 3, 3, 2, 2, 3, 2, 8, 2, 2, 6, 2, 2, 7, 2, 2, 6, 2, 3, 3, 2, 1, 5, 2, 12,//我最亲爱的祖国。//超高音 1234567。原创 2024-05-16 13:02:45 · 512 阅读 · 0 评论 -
Ubuntu18(2)
根本原因:我以前曾经编译过JPEG库,动态库格式是ARM的。我看网上很多人都不是碰到这个问题,所以一时没有反应过来。可以看到这是ARM平台的动态库,而编译opencv时选择了x86,所以链接失败,编译出错。,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**下面直接说问题:我请教过别人,回复说这是一个很常见的问题。原创 2024-05-16 01:32:59 · 286 阅读 · 0 评论 -
Ubuntu18(1)
Desktop gcc 64-bit | 桌面版 GCC 64bit编译环境生成的Qt库,是Qt的核心,必须安装 || Qt Debug Information Files | 跟踪调试Qt文件 || Qt Purchasing | 使 Qt 应用程序能够支持应用内购买 || Qt Script (Deprecated) | 脚本模块,已被弃用 || Qt Quick 3D | 为Qt6开发的新的高级3D API || Qt WebEngine | Qt Web引擎 |原创 2024-05-16 01:32:25 · 675 阅读 · 0 评论 -
UART(一)——起始位,停止位,奇偶校验位
一般情况硬件连接比较简单,仅需要3条线,原创 2024-05-16 01:31:51 · 1043 阅读 · 0 评论 -
UART协议详解_uarta
例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。原创 2024-05-16 01:31:15 · 526 阅读 · 0 评论 -
FreeRTOS记录(六、FreeRTOS消息队列—Enocean模块串口通讯、RAM空间不足问题分析)_freertos每个现成占用ram
我们使用消息队列接收串口的数据,那么需要在。原创 2024-05-15 23:21:07 · 823 阅读 · 0 评论 -
FreeRTOS记录(七、FreeRTOS信号量、事件标志组、邮箱和消息队列、任务通知的关系)_freertos 信号量 邮箱
增加邮箱部分、任务通知发送消息 Demo 2021/11/28…增加事件标志组和对应的测试 Demo 2021/11/29…增加互斥量 优先级继承 Demo 2021/11/29= 0))/***/= NULL){else {#else#endifelse {else {#else#endifelse#else。原创 2024-05-15 23:20:33 · 867 阅读 · 0 评论 -
FreeRTOS小项目实战------基于FreeRTOS和stm32的门禁系统_freertos项目
首先指纹模块提前采取好需要识别的指纹到模块内置的芯片里面,将手指放到指纹识别模块上,系统会检测到指纹按下并且会采取当前的指纹图像与芯片内部的指纹图像进行识别,若识别成功,蜂鸣器响两下,并且LCD屏幕会显示指纹识别成功,舵机会转动180°模拟解锁成功,当指纹识别到的图像与模块存储的指纹识别不一致,则蜂鸣器会响3下,LCD屏幕会显示指纹识别失败,舵机不会转动。原创 2024-05-15 23:19:59 · 1201 阅读 · 0 评论 -
FPGA项目(1)--FPGA驱动16 16点阵动态显示_ 16 16 led点阵动态显示驱动电路设计 实物
如果要显示很多字符,那么字模数据量是很庞大的。我选择的方案是将字模数据存在ROM里面。要使用的时候直接去ROM里面读取即可。注意ROM的数据宽度要为16位。其他的ROM配置步骤我在这里就不多介绍了。再接着就是根据列扫描信号,提取出对应的字模数据。由于使用了ROM,提取ROM里面的数据时,只需要给出ROM的地址就行。动态显示(滚动显示)的关键在于,传入给ROM的地址,是以人眼可以识别的频率动态变化的。首先要例化ROM模块,因为字模数据全部在ROM里面。一切准备就绪以后,就是代码的编写了。原创 2024-05-15 23:19:24 · 432 阅读 · 0 评论