自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 贪吃蛇小游戏(C语言实现)

C语言实现贪吃蛇小游戏

2023-02-06 22:32:55 1073

原创 剑指 offer 58 - II. 左旋转字符串

剑指offer刷题

2022-06-13 23:54:29 1428

原创 剑指offer.30 包含min函数的栈

剑指offer刷题,带min的栈

2022-06-08 23:53:23 172

原创 剑指offer.09 两个栈实现一个队列

剑指offer刷题

2022-06-07 22:58:24 130

原创 Linux驱动开发———GPIO有效电平解析

设备树

2021-12-19 23:08:39 5575 2

原创 Linux驱动开发———imx6ull的pinctrl子系统源码分析

目录前言前言        最近在配置pinctrl时,配置了引脚复用寄存器的SION位,配置如下图中的所示,0x4001b8b0中的第30位表示SION位        按照个人理解,imx6ull在设备树中配置的pinctrl节点,后面所带的值应该为配置寄存器的值,而SION位是复用寄存器的第三十位...

2021-09-12 17:38:08 1202

原创 对linux内核中container_of(ptr, type, member)宏的理解

目录前言一、container_of(ptr, type, member)宏的作用二、container_of(ptr, type, member)宏解析(1)offsetof(TYPE, MEMBER)(2)typeof()(3)container_of(ptr, type, member)前言        最近在看《linux设备驱动开发详解》遇到了container_of()宏,在此记录自己对container_of

2021-01-29 20:49:12 850 1

原创 Linux系统学习——简单的Shell终端实现

前言最近学习了fork、pipe、exec族等的linux系统调用函数,现在将这几天所学的结合起来,做一个简单地shell终端。一、程序所用到的函数1、fork函数定义:pid_t fork(void)功能:创建一个子进程使用例程//包含的头文件#include <sys/types.h>#include <unistd.h>pid_t pid;p...

2020-09-04 11:19:53 844 1

原创 逆置单链表——递归与非递归

文章目录前言方式一:非递归原理图解实现代码方式二:递归原理图解实现代码完整实现代码运行结果前言单链表的逆置图解方式一:非递归原理非递归逆置单链表的本质是创建一个新的链表,遍历原先的链表,利用头插法将节点插入新的链表当中去。图解实现代码//链表节点定义typedef struct link_list{ int data; struct link_list *next;}singel_link_t;/************************************

2020-08-14 01:57:53 2825 1

原创 linux驱动开发——设备树节点转化为platform_device节点并与驱动匹配

一、设备树节点转化为platform_device的过程1、dts文件转化过程dts文件编译成为dtb文件之后供给内核解析,设备树中的每个节点都会转化为device_node节点,其中满足某些条件的节点将会被转化为platform_device节点2、dts中的节点转化为platform_device节点的条件只需包含下面的任意一个条件就能转化为platform_device节点(1)根节点下的含有compatible属性的子节点,compatible属性是用于匹配驱动如:节点key1和节点l

2020-05-12 10:45:41 2050 1

原创 嵌入式开发工具——嵌入式Qt连接mysql

前言上一篇(嵌入式开发工具——交叉编译libmysql)已经完成了mysql的C API交叉编译的工作,今天将用它来编译生成Qt连接mysql的动态库。提前准备的工作:1、向arm开发板中移植Qt,并且能正常运行2、交叉编译好libmysql(可参考我的文章,或者网上其他大神的文章)实现效果:Exynos4412开发板通过Qt连接阿里云数据一、编译Qt中自带的mysql源码1、进入...

2020-02-12 22:44:57 731

原创 嵌入式开发工具——交叉编译libmysql

前言在开发板中移植mysql太麻烦(就是懒) ,故将需要用到的库移植到开发板中供给C语言程序使用。最终实现效果:Exynos4412开发板连接阿里云数据库一、libmysql源码下载1、官网下载点击下载2、百度网盘链接失效可告知我链接:https://pan.baidu.com/s/1AlOxQozi4TmDvlG6cxD5yA 提取码:j052二、解压并配置1、将其拷...

2020-02-09 14:56:40 1335 2

原创 嵌入式开发工具——移植openssh到fs4412开发板

开发板:fs4412软件包与工具:(1)openssh-7.9p1.tar.gz (2)openssl-1.0.2p.tar.gz(3)zlib-1.2.8.tar.gz(4)交叉编译工具 arm-none-linux-gnueabi-gcc 4.5.1下载地址:openssh:http://mirror.esc7.net/pub/OpenBSD/OpenSSH/portable...

2020-01-01 21:47:09 377

原创 C语言学习(五)——函数与指针

指针函数指的是返回值为指针的函数如:char *dat(){ }; ---- 返回char *类型的指针函数指针存放函数的地址的指针如:char *dat(int a,int b);----函数声明char (*p) (int ,int ); ----定义了一个返回值类型为char,参数为 int int 的函数指针pp=dat; ...

2019-11-01 20:11:35 355

原创 C语言学习(四)——内存(字节对齐与内存的种类)

字节对齐struct dat{//32位操作系统下char a;//1个字节int b;//4个字节};sizeof(dat)=8 ---- 利用空间换取效率,给char a 分配四个字节大小的空间(编译器在读取的时候一次读取四个字节,取出结构体中的内容)与定义的顺序有关struct dat{//32位操作系统char a;//1个字节short b;//2个字节int...

2019-11-01 20:07:17 194

原创 C语言学习(三)——指针

指针的定义int *p char *p float *p 指针定义的含义:* 声明其为指针 前面的类型告诉指针这个地址中存放的是什么类型的值(取出来时应该取多少个自己,或者进行加减运算时应该怎么计算地址)指针变量所占内存的大小跟前面定义的类型无关 而跟系统有关16bits操作系统:2B32bits操作系统:4B64bits操作系统:8B指针指向一个值所在的第一个字节(...

2019-10-20 09:59:19 222

原创 C语言学习(二)——编译和预处理过程

c语言编译过程预处理简单来说是替换gcc -E -o outputFile InputFile --预处理编译(编译成汇编文件).c — .s gcc -S .c汇编(编译成对象文件 .o文件 包含各个函数的入口标记).s ---- .o gcc -c .s链接(可执行文件 link)gcc -o outputFile inputFile预处理命令...

2019-10-15 15:29:56 197

原创 C语言学习(一)——C语言关键字及运算符

关键字sizeof :查看内存容量的大小的一个工具 sizeof:是一个关键字而不是一个函数,其用法很类似于一个函数sizeof陷阱之一#include <stdio.h>int main(){ int i=3,j; j=sizeof(++i+ ++i); printf("%d %d",i,j); return 0;}//i=3 j=4sizeof是一个...

2019-10-15 15:19:50 414

原创 基础硬件学习之AD

ADA:analog 模拟的D:digital 数字的A->D:模拟转数字(连续分布的、无限的模拟量转化为机器可以识别的数字量,是有限的)D->A:数字转模拟模拟量是指变量在一定范围连续变化的量 也就是在一定范围(定义域)内可以取任 意值(在值域内)。数字量是分立量,而 不是连续变化量,只能取几个分立值,如 二进制数字变量只能取两个值。AD转化位数: AD转化后出来的...

2019-07-08 21:52:45 888

原创 STM32cubemx学习记录——使用UART接收不定长的消息

串口串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信STM32cube一、配置1、新建工程,选择对应开发板我使用的是STM32F4072、时钟配置这里要根据自己对应的开发板去配置3、配置串口,波特...

2019-07-06 19:21:20 1563

原创 基础算法———快速幂算法

快速幂快速运算一个底数a的n次幂,时间复杂度为O(log₂n),与最基本的O(n)复杂度的算法相比较 效率至少翻一番快速幂原理快速幂的运算需要用到位运算1、或运算1 l 10 l 10 l 01102、与运算1 l 10 l 10 l 01003、左移或右移4 = 0100左移:4<<1 = 1000 = ...

2019-04-29 15:19:17 390

原创 第十届蓝桥杯省赛C/C++B组省赛题解(留下了不学无术的泪水)

本人广东某本科院校大二O-O,第二次参加蓝桥杯,大一第一次参加 划水拿了个三等…废话不多说进入正题!!第一题试题 A: 组队本题总分:5 分【问题描述】作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少?数据97 90 ...

2019-03-27 22:09:03 559 1

原创 STM32cubemx学习记录————TIM输出PWM(基于STM32F407ZG)

STM32定时器输出一路PWM(控制LED灯的亮度)STM32的定时器具有强大的功能,今天的输出PWM功能是属于其中的输出比较功能。stm32输出PWM原理:(以下为个人理解,如果错误的地方 请多多指教OoO)CNT是计数值 ARR是重装载值 CCRx是比较值定时器输出PWM有两种模式:PWM 模式1 计数值大于比较值 输出有效电平 否则输出无效电平PWM 模式2 计数值大于比较...

2019-03-06 15:50:05 6562 1

原创 STM32cubemx学习记录————通用定时器控制LED闪烁(基于stm32F407ZG)

STM32通用定时器如下事件发生时产生中断/DMA(6个独立的IRQ/DMA请求生成器):更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)输入捕获输出比较支持针对定位的增量(正交)编码器和霍尔传感器电路触发输入作为外部时钟或者按周期的电流管理STM32 的通用定时器可以被用于:测量输入信号的脉冲...

2019-03-03 21:22:33 4971 2

原创 STM32cubemx学习记录————点灯(基于STM32F407ZG)

STM32CubeMX是意法半导体推出的图形化配置工具,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等。尤其值得一提的是,TrueStudio已经被ST收购,提供完全免费的版本,并且,通过插件式安装,可以将STM32CubeMX集成在一个IDE,使用十分方便--------------------- 作者:AngeloBaby 来源:CSDN 原文:https://blog.csdn.net/angelob

2019-03-03 13:22:13 5721

linux_shell.c

简单的shell终端,实现linux下进程的创建和一些基本命令的使用,文件目录的操作和重定向输入输出、管道操作

2020-04-17

嵌入式Qt连接数据库测试工程

嵌入式QT连接远程数据库例程,实现与Qt与远程数据的连接并对数据库中的表格进行操作,将其中的数据显示出来。

2020-02-12

TIM_PWM源码

STM32Cubemx输出一路pwm,通过改变占空比的值来控制LED的亮度

2019-03-06

空空如也

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

TA关注的人

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