- 博客(17)
- 收藏
- 关注

原创 STM32 HAL库学习(零):学习索引
目录STM32 HAL库学习(一):点亮ledSTM32 HAL库学习(二):按键检测未完说明开发板:野火stm32mini软件:stm32cubemx,vscode,arm-gcc工具链想使用mdk或者其他IDE,需要在cubemx里边修改IDEGitHub地址...
2020-06-24 16:58:04
320
原创 循序渐进学习开发RISCV-OS
exercisesch3 编译与链接练习3-1使⽤ gcc 编译代码并使⽤ binutils ⼯具对⽣成的⽬标文件和可执⾏文件(ELF 格式)进⾏分析。具体要求如下: 编写⼀个简单的打印 “hello world!” 的程序源文件:hello.c#include <stdio.h>int main(void){ printf("hello world!\n"); return 0;} 对源文件进⾏本地编译,⽣成针对⽀持 x86_64 指令集架构处理器
2022-02-09 21:48:42
1262
原创 线程池实现C++版本
学习了c++,把线程池改成c++试试开始C++版本的线程池是根据C语言版本修改来的,为了熟悉一下C++的相关语法,所以就有了这篇笔记。记录一下修改的过程中遇到的问题。本线程池应该是基于对象的,并不是面向对象。[线程池简单实现(基于C语言)](Linux C线程池简单实现 | Blog (ethereal14.github.io)) 也不知道会不会有内存泄露的问题,这些事以后再说文件说明文件名作用threadpool.cpp线程池成员函数具体实现threadpoo
2022-02-06 15:17:05
443
原创 线程池简单实现(基于Linux C)
线程池常用于高性能服务器中。为了减小线程创建、销毁时的开销,引入了池式结构。比如:内存池、数据库连接池等等。学习线程池也只要是因为最近在学网络编程的东西。环境wsl2(ubunt1804)、gcc7.5.0、cmake3.0.0cmakelists.txt添加一下两句find_package(Threads)target_link_libraries(thread_pool ${CMAKE_THREAD_LIBS_INIT})线程池结构从上图可以看到线程池主要包括任务队列、线程数组
2021-04-12 12:07:06
265
1
原创 ART-Pi上手体验
一、先来张照片art-pi的做工我看着是真的舒服。很符合RT-Thread官网的那句话"小而美"了。二、出厂程序体验出厂例程是通过蓝牙对开发板进行配网,内置一个web服务器,配网成功后能够通过网页显示开发板的基本信息,并对开发板的板载LED进行简单的控制。蓝牙配网流程直接看GitHub的文档即可配网成功以后,这个网页是真的骚,可以查看内存、norflash、SD等信息。三、驱动I2C的OLED屏幕其实拿到art-pi之后,并没有什么好的创意来发挥H7的实力。RT-Thread最近半年多也
2020-12-08 23:25:59
2385
原创 STM32 HAL库学习(五):DMA
DMA简介直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。DMA主要特性● 12个独立的可配置的通道(请求):DMA1有7个通道,DMA2有5个通道● 每个通道都直接连接专用的硬件DMA请求,每个通道
2020-07-11 22:30:40
3795
原创 STM32 HAL库学习(四):串口中断
串口通信简介物理层主要就是定义通信接口、电平标准这些东西 - 物理接口是指UART、USB、COM这类物理形式的硬件 -电平标准:根据使用的电平不同,串口通信可以分为TTL标准和RS-232标准 -TTL:理想状态下5V代表逻辑1,0V代表逻辑0 -RS-232:理想状态下-15V代表逻辑1,+15V代表逻辑0协议层 主要规定了数据的格式,数据包由起始位、数据位、校验位以及停止位组成。通信双方的数据包格式必须一致才能正常接发数据。用STM32CubeMX新建U
2020-07-04 22:14:34
2048
原创 STM32 HAL库学习(三):中断以及外部中断实验
外部中断用CubeMx生成初始化代码1、新建工程2、配置RCC3、配置引脚4、配置系统时钟5、配置工程编辑业务代码
2020-06-26 15:24:57
1318
原创 STM32 HAL库学习(二):按键检测
用cubemx生成初始化代码1、新建工程File→NewProject选择芯片2、配置RCC选择System Core里边的RCC,配置外部时钟3、配置引脚按键有两个,分别是PA0,PC13;这个实验可以用LED的亮灭来验证按键是否配置正确,LED的引脚为PC2具体配置如下4、配置系统时钟具体如下5、配置工程工程的基本配置生成代码的配置,最后点击GENERATE CODE生成代码编辑业务代码1.、按键扫描函数uint8_t Key_Scan(GPIO_Ty
2020-06-24 16:07:02
6650
原创 STM32 HAL库学习(一):点亮led
使用STM32CuBeMX新建一个工程1.点击file→NewProject,稍微等待一下,就可以了。2.选择芯片型号我用的是stm32f103rct6,可以直接搜索3.开始配置引脚首先需要配置时钟源,打开RCC选项,选择 Crystal/Ceramic Resonator,即使用外部晶振作为HSE 的时钟源。下面就可以配置引脚了,这里选定led的引脚PC2,PC2配置如图4.配置系统时钟开发板晶振是12Mhz,所以填入12;选择HSE,PLLCLK,具体配置如图5.配置工程
2020-06-24 11:10:58
656
原创 用vscode+gcc搭建stm32开发环境
一、必备工具的安装下载vscode,官网直接下载安装,下载地址gcc-arm-none-eabi,交叉编译工具链,下载地址。安装(解压)完成后,将gcc添加到环境变量,比如我的安装路径:OpenOCD,一个开源的调试软件,下载地址...
2020-05-14 12:23:50
3012
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人