寄存器mstatus v307 32
Win32编程之线程池同步(十三)
1.InterlockedAdd函数 InterlockedAdd 是 Windows API 中的一个原子操作函数,用于在多线程环境下对一个变量执行原子加法操作。原子操作是指在执行期间不会被其他线程中断,从而确保多线程环境下的数据一致性。 函数原型: LONG InterlockedAdd( LO ......
Stm32F103使用硬件I2C的DMA模式失败
CubeMX配置的硬件I2C,DMA模式,下面发送函数 /** * @brief 向OLED发送数据的函数 * @param data 要发送的数据 * @param len 要发送的数据长度 * @return None * @note 此函数是移植本驱动时的重要函数 将本驱动库移植到其他平台时应 ......
08_了解STM32串口通讯
了解STM32串口通讯 TTL 原理图 RS232 原理图 串口 差分: 对比一根线发送一根线接收, 抗干扰能力更强 485舵机 ......
09_学会单片机STM32的IIC通信
学会单片机STM32的IIC通信 开发过程中如何选择什么样的通讯接口 通讯接口如何使用 为何需要I2C 用途 12C只有两条线一条串行数据线:SDA,一条是时钟线SCL,使用SCL, SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线。因此,I2C总线被非常广泛地应用在EEPROM, ......
5.1 内存CRC32完整性检测
CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否发生了变化,如果发生变化则拒绝执行,通过此种方法来... ......
5.2 磁盘CRC32完整性检测
CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否发生了变化,如果发生变化则拒绝执行,通过此种方法来... ......
Win32编程之线程池(十二)
一、线程池概念介绍 1.线程的执行流程 2.线程池原理 线程创建API和线程池API对比: 二、线程池异步函数的调用 三、线程池的周期性调用 四、线程池内核对象触发调用 五、线程池IO完成调用 ......
每天一个linux命令(32):gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压 ......
Win32编程之debugview调试(十一)
一、debugview本地调试 代码中通过OutputDebugString()函数打印印象: for (int i = 0; i < 10; i++) { OutputDebugString(TEXT("hello word")); } 程序编程成功后,先打开DebugView Include:默 ......
欢迎来到我的世界,开启探索国产芯片GD32 MCU之旅!
引言 大家好!我是Lawrence,非常高兴加入博客园这个平台,并在这里开始我的【十年磨一剑!】博客的创作之旅。 博客的主题和内容介绍 我的博客将主要探索国产芯片GD32 MCU这一领域,在未来的文章中,我将主要就以下4个角度分享内容: 1.GD32 MCU各系列产品前沿分享 2.GD32 MCU各 ......
STM32基础(二)
一、 STM32F103C8T6开发板软件工具安装。 1.安装Keil5 MDK。(安装的Keil5 MDK压缩包出来的部分文件和破解工具被[病毒和威胁实时保护删掉了导致不显示开发板型号]) 2.安装器件支持包。(安装对应型号) 3.软件注册。(破解) 4.安装STLINK驱动。 5.安装USB转串 ......
需要非常熟练掌握的寄存器位操作
bita置零 (a 为 0-7 ,0-15, 0-31 位) reg &= ~(1<<a); bita置1 reg |= (1 << a); bita取反 reg ^= (1 << a); 获取bita的值 reg_value = (reg >> a) & 1; 思路: 置0: 用&,因为,and, ......
5.0 CRC32校验技术概述
CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否发生了变化,如果发生变化则拒绝执行,通过此种方法来... ......
2021-6-5-stm32系统板历程
这份笔记是我离开团队的第一份笔记 不是想纪念 而是想让自己明白以后要更加努力 AD部分 不要用中文名!! 常用封装 0805规格 104电容代表10*10的4次方,对应是100nf 105电容就是0.1uf stm32引脚 OSC接外部高速晶振(8M),OSC32接外部低速晶振 VDD接3.3电 V ......
2021-12-13-寄存器怪谈
layout: post title: 寄存器怪谈 categories: 日志 tags: - 日志 - 大二 BGImage: 'https://github.xutongxin.me/https://raw.githubusercontent.com/xutongxin1/PictureBed ......
Win32编程之异步完成IO(十)
一、文件的异步写入 #include <Windows.h> #include <stdio.h> int main() { HANDLE hFile = CreateFile(TEXT("test.txt"), GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN ......
Win32编程之文件设备(九)
一、文件的创建 CreateFile 是一个 Windows API 函数,用于创建或打开文件、设备、目录或管道。它是 Windows 操作系统中文件和 I/O 操作的基础之一。CreateFile 允许你指定文件的访问方式、共享模式、创建选项等,并返回一个文件句柄,通过该句柄可以执行读取、写入、关 ......
Win32编程之线程开发(八)
一、线程概念 (1).Windows线程是可以执行的代码的实例,系统是以线程为单位调度程序,一个程序当中可以有多个线程,实现多任务的处理 (2).Windows线程的特点: 线程都具有一个ID 每个线程都具有自己的内存栈 同一进程中的线程使用同一个地址空间 (3).线程的调度:操作系统将CPU的执行 ......
Win32编程之动态库(七)
一、动态库的特点 运行时独立存在 源码不会链接到执行程序 使用时加载(使用动态库必须使用动态库执行) 与静态库的比较:由于静态库是将代码嵌入到使用程序中,多个程序使用时,会有多份代码,所有代码体积会增大,动态库的代码只需要存在一份,其他程序通过函数地址使用,所以代码体积小;静态库发生变化后,新的代码 ......
Win32编程之静态库(六)
一、静态库的特点 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 二、C语言静态库 1.C静态库的创建 创建一个静态库项目 添加库程序,源文件使用C文件 2.C静态库的使用 库路径的设置:可以使用pragma关键字设置;#pragma comment(lib, "../lib/clib.l ......
关于配置MCU从FLASH某一位置开始运行——以CH32V203为例
正常MCU运行时,都是从FLASH 0起始地址开始运行,有时因为某些需要,需要配置从非0地址开始运行。以CH32V203为例(适用于其他CH32V系列),主要修改配置如下: 主要集中在ld文件的修改: 1、修改FLASH的分配,将FLASH分配成2块区域,如下图 /* CH32V20x_D6 - C ......
CH32V208与CH582芯片的区别
目录 CH32V208和CH582都是沁恒的支持BLE5.0+的MCU,下面介绍两者的区别。 选型方面: ①CH32V208比CH582的ram和零等待flash更多。使用CH582,对速度有要求的代码,需要放到ram中运行;使用V208,对速度有要求的代码可以放到零等待flash中,不会占用ram ......
QT6.5.2msvc2022静态编译套件成品32位
我自己编译的QT6.5.2成品库,静态编译,release和debug版本,压缩包250m解压后1G 要是自己编译需要占用70G磁盘空间而且非常慢。 关键词:QT6.5.2;QT静态编译;QT开发套件成品 链接:https://pan.baidu.com/s/1vGBzn-hJwO1vsYp3dfp ......
system_stm32f4xx.c文件配置时钟
static void SetSysClock(void) { /******************************************************************************/ /* PLL (clocked by HSE) used as Syste ......
c++ 32位异常还原
本文中的例子下载地址 https://wwmf.lanzout.com/ij4zq18au9yd 密码:2vts 确定try的位置 首先确定try的位置 上面明显是一个SEH结构,在c++异常中,state固定在var_4的位置上,这里state初始化位-1,我们将var_4改名为state 上图为 ......
stm32f103移植lvgl
这篇需做前期工作:https://www.cnblogs.com/njit-sam/p/17699205.html LVGL官方主页:https://lvgl.io/ 当你想快速上手时,点击这个:https://docs.lvgl.io/master/get-started/quick-overvi ......
32位电脑装64位Python
本文将从多个方面详细阐述在32位电脑上安装64位Python的方法和注意事项。 一、64位Python简介 1、64位Python是指Python编程语言的64位版本。与32位Python相比,64位Python能够更好地支持大型数据集、高性能计算和内存密集型任务。 2、安装64位Python的主要 ......
Win32编程之绘图编程(四)
一、绘图基础 绘图设备DC(Device Context),绘图上下文/绘图描述表 HDC:DC句柄,表示绘图设备 GDI:Windows graphics device interface(Win32提供的绘图API) 颜色的使用:COLORREF:实际DWORD;例如:COLORREF nCol ......