自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 结构体内存对齐

内存对齐是一种编译器优化技术,它通过将程序中不同数据单元的内存地址进行适当的排列,以减少CPU访问内存时的寻址工作,从而提高程序的执行效率。

2023-10-27 22:31:22 84 1

原创 Source Insight 自动补全 C 关键字、keil 标准库关键字

一开始笔者的 include 变量值为 VSCode 的 mingw64 编译器下的 include 路径,但是该路径下没有 C 的库文件,所以 import 进 SI 后依旧无法识别 int、char 等关键字。该变量的路径每个人都不一样,最主要是设置为你要 import 的 C 库文件或 keil 的标准库文件即可。一开始遇到该问题疯狂 baidu、bing,相关的 blog 寥寥无几,而且是差不多十年前的 blog。,则创建一个 include,变量值为C 库文件或 keil 的标准库路的路径。

2023-09-11 12:39:41 651

原创 STM32寄存器

问题什么是寄存器?什么是存储器映射?什么是寄存器映射?STM32架构程序存放在FLASH中。const的常量存放在FLASH中,变量(全局、静态变量)存放在SRAM中。System总线主要读取寄存器。AHB(高速)总线上挂着SDIO、复位和始终控制RCC,通过桥接又分出APB1(低速总线)和APB2(高速总线),两条总线分别挂着一些外设FSMC用于驱动液晶屏学习重点是AHB1、2上的外设存储器映射  存储器本身不具有地址信息,给存储器分配地址的过程就成为存储器映射,再分配一个地址

2022-05-24 07:55:25 368

原创 QT5.12编译MQTT

使用mingw81-64进行编译安装,超级便捷的方法,几步即可完成打开下图编译器控制台打开后如下图所示步骤一:进入下载的mqtt源码目录qtmqtt-5.15.2步骤二:接着步骤一,直接输入命令qmake步骤三:输入命令mingw32-make步骤四:输入mingw32-make install新建QT项目,在.pro文件中加入mqtt添加自己需要的头文件demo代码可以查看官方给出的实例,已经很详细了运行源码中的c...

2021-08-17 10:10:47 577

转载 关于Qt5.12.0找不到Qmysql的问题解决方法

项目需要用到数据库,学习途中发现了一些问题,故记录一下。网上看了是因为新版不支持mysql了,需要自己编译,本文章的解决方法就是通过编译mysql。如下图所示,只找到以下几个驱动参考文章:QT出现没有MySQL驱动,手动编译步骤 - nanmi - 博客园 (cnblogs.com)...

2021-08-16 14:36:34 485

原创 FreeRTOS学习之中断配置和临界段

前言此文章针对开发板stm32F103ZET6。在初学的时候对里面的一些概念比较模糊,看了第二遍才清楚了不少。因为是初学stm32,学习过程中有些知识掌握得不够扎实,比如:此章涉及了NVIC的有关知识,相关内容拓展知识:STM32属于ARM中Cortex-M系列处理器,比如:STM32F1数据Cortex-M3,STM32F7数据Cortex-M7。Cortex-M3是stm32F1的一个内核,stm32F1是在Cortex-M3基础上增加了一些外设(如:...

2021-07-27 19:58:44 2136

转载 STM32菜鸟成长记录---RS485通讯协议的应用

RS485缺点: RS485总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据冗余量较大,对于速度要求高的应用场所不适应用RS485总线。同时由于RS485总线上通常只有一台主机,所以这种总线方式是典型的集中—分散型控制系统。一旦主机出现故障,会使整个系统的通信限于瘫痪状态,因此做好主机的在线备份是一个重要措施。 *...

2021-07-08 23:05:33 801

转载 STM32菜鸟成长记录---系统滴答定时器(systick)应用

1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个系统不放。或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此

2021-07-08 22:57:10 1200

原创 STM32菜鸟成长记录——移植FreeModbusRTU

本文章用于记录学习RS485及配置Modbus协议参考博文:http://www.mcublog.cn/software/2020_03/stm32-freemodbus-yizhi/

2021-07-06 15:26:26 132 1

转载 QT(c++) 线程 调用python问题

1、背景   简单说一下需求,Qt开发的上位机界面程序,需要调用Python编写的算法跑一个结果返回到界面上显示。 2、度娘出一篇博客,按照步骤进行环境搭建和简单的代码测试   环境搭建请参照如下博客地址:     博客:① https://blog.csdn.net/cholenmine/article/details/82854301        ② https://blog.csdn.n...

2021-07-04 21:41:53 751

原创 stm32关于影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用

一直没搞清楚stm32定时器的TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数的作用,影子寄存器、预装载寄存器、重载寄存器的概念。今天来研究一下:关于影子寄存器、预装载寄存器 首先看高级定时器的框图:图1.高级定时器框图图1中有阴影的小方框(已用红色框标出),代表该功能对应的寄存器有影子寄存器,也就是:PSC预分频器、自动重装载寄存器、REP寄存器和4个通道的捕获/比较寄存器。 可以看到这几个寄存器都是经常用到的,而且存在定时器...

2021-07-04 18:24:58 6394

原创 stm32关于通用定时器的周期、频率计算公式

定时器时基单元包含:● 计数器寄存器(TIMx_CNT)● 预分频器寄存器 (TIMx_PSC)——该寄存器用设置对时钟进行分频,然后提供给计数器,作为计数器的时钟。● 自动装载寄存器 (TIMx_ARR)定时器的时钟来源(4个):1)内部时钟(CK_INT)2)外部时钟模式 1:外部输入脚(TIx)3)外部时钟模式 2:外部触发输入(ETR)4)内部触发输入(ITRx)定时器的周期计算:psc:预分频系数 (范围...

2021-07-03 14:13:45 36500 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除