- 博客(10)
- 收藏
- 关注
原创 固件库之按键学习(GPIO的输入)
使用的是key0对应的引脚是PE4如图所示,KEY0的另一端是接地的,也就是说是低电平有效,所以初始化是模式设置成上拉模式(高电平)。
2024-05-02 12:19:20 55 1
原创 认识固件库
设置堆栈指针、设置pc指针、初始化中断向量表、配置系统时钟、对用C库函数_main最终去到c的世界。把外部时钟HSE = 8M,经过PLL倍频为72M,在main函数中时已经时72M了。存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明。中断服务函数可以随意放在其他的地方,不一定在stm32f10x_it.c上。:实现了内核之外的外设的寄存器的映射。头文件的头文件,包含所有外设的头文件。:实现了内核里面外设的寄存器的映射。外设的驱动函数库文件。嵌套向量中断控制器、
2024-04-29 23:14:34 121
原创 自己写库--构建库函数编程
这是GPIO寄存器的映射,看起来不多,但是如果你遇到的寄存器很多的情况下,你就需要写多行的这样的代码,那么有没有什么办法可以对这段代码进行优化呢?
2024-04-29 22:01:10 107
原创 寄存器编程之GPIO
GPIO是通用的输入输出端口的简介,是由软件可控制的引脚,STM32芯片的GPIO引脚可以和外部设备连接起来,实现和外部的通讯,控制和数据的采集。
2024-04-28 20:18:16 247
原创 寄存器编程之创建模板--STM32F103
创建该寄存器模板时,需要先取找到适合的启动文件,可以去所购买的板子配套的资料中找到启动文件存放在创建的文件的目录下,打开keil时可以将这个文件包含进去,进行编译一下会发现会报两个错误,这是为什么呢?让我们来仔细看一下这个启动文件是如何开始这一个程序的。可以看到一上电进行的是一个复位函数,先执行SystemInit(),再转而去执行我们的main文件。
2024-04-25 23:14:11 326
原创 Linux之文件I/O编程
在Linux中,为了保护内核空间,将程序的运行空间分成了内核空间和用户空间(内核态和用户态),它们运行在不同的级别上。逻辑上是相互隔离的。通常情况下,用户进程是允许访问内核的数据,也没有办法直接调用内核函数。只能在用户空间操作用户数据、调用用户空间的函数。操作系统为用户提供了两个接口:1、用户编程接口API:用户利用这些操作命令来组织和控制任务的执行和管理计算机系统。2、系统调用:请求操作系统提供服务。利用软中断机制向内核提交请求,来获得内核服务的接口。
2023-12-15 20:14:14 1379
原创 解决在ubuntu上用linux使用Codeblocks显示couldn‘t create the project directory的问题
修改完之后就,将项目的存储位置放在这个目录下,就可以实现项目的正常创建了。出现这个问题是因为当前用户没有权限在指定的目录下创建项目的权限。即:改成无论什么用户都可以对这个目录实现:可读、可写、可执行。解决方法就是改变目录的使用权限。1.创建终端创建所要使用的目录。
2023-12-15 14:16:45 692
原创 Linux安装Vim和解决在Vim编辑下的无法删除和无法使用方向键的问题
将倒数第二句的“set compatible"改成”set nocompatible"在“set compatible”后添加一句“set backspace=2”首先:需要确定你的Linux中有没有成功下载Vim,如果没有可以使。可以使用下面的代码,检查是否成功安装了Vim。在root权限下使用。2.解决删除键的问题。
2023-12-13 19:11:52 1117
基于QT5.15.2的光强检测系统
2023-12-13
QT4.8.6串口通信助手
2023-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人