自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kim_小星兴的自留地

一个小小人的树洞莱莱

  • 博客(23)
  • 收藏
  • 关注

原创 【STM32F4xx踩坑记录】ADC+DMA+STM32CUBEMX 造成数据溢出的问题

配置-> 多通道ADC扫描模式+DMA无缓冲区+循环DMA最近使用STM32F405RGT6进行开发,移植103c8t6的ADC+DMA是发现ADC模块中的值全为零,单步调试后发现ADC转换了一次(一个通道值)后就停止了转换.单步调试发现ADC1->SR中 OVR溢出标志置1了,查询数据手册得知此标记为DMA溢出标志.怀疑是DMA出现问题.单步调试观察DMA2_Stream0内寄存机的值,发现初始化后与期望的值不一致DMA2_Stream0->FCR (FIFO控制寄存器被设置

2021-12-21 13:15:42 2175 2

原创 STM32 实现软件时间片调度

STM32 实现软件时间片调度前言:在有些时候嵌入式系统不需要上RTOS的情况下,使用一个while大循环,有可能会造成一层while套一层while的情况出现.为了解决这种情况(更好的装X).这里提出一个可行的解决方案. 软件时间片调度 klib_cron原理系统systick + 函数指针数组, 对于每个定时轮询执行的任务有以下元素:1. 函数指针 void(*f)(u32 argn ,void*argv[]);2. 参数存储 argn;3. 参数存储 argv;4. 上一次执行时间

2021-05-27 22:21:12 1349

原创 STM32驱动TTL-LCD屏幕画直线

STM32驱动TTL-LCD屏幕画直线最近又把LCD屏幕玩起来了. 之前用LCD屏幕都是直接用原子哥的驱动文件也没想过直线应该怎么画.现在自己琢磨出一个比较好理解也比较好实现的方法.故记录下来.原理直线实际上就是 一个一次函数,两点求出解析式,就可以计算出任意点的坐标.因此 绘画直线函数一般都需要两个端点的坐标 m(x1,y1) , n(x2,y2).一次函数解析式:y=ax+by = ax + by=ax+b由 1 联立 m,n两点 可得:a=y1−y2x1−x2 a =\frac{y

2021-04-10 14:23:30 2144 1

原创 openocd Win10安装jlink->winUSB失败

Open OCD win10系统下转换jlink为 winUSB失败昨日在搭建织女星开发板的Eclipse环境中发现 使用 UsbDriverTool置换jlink驱动为 winUSB时报错:不能为驱动添加签名驱动添加失败原因为:win10系统强制每个驱动都需要为其添加签名,不添加签名者无法安装.解决方法: 取消win10的强制签名步骤:开始菜单下点击设置.进入安全与更新->恢复->高级启动->立即重新启动启动后 鼠标点击答疑解难->高级选项->启动设置(更改w

2021-03-09 21:58:06 3201

原创 Python 如何优雅的排序与去重

Python 如何优雅的排序与去重前言: 最近使用python(简称 py)搞了一个小脚本,把git仓库中的所有commit记录统计下来放入到一个excle表中,统计自己的提交时间;其中遇到了一些问题,找了很久,终于在一个偏僻的网站找到答案,现在给大家总结一下,方便大家,让它更容易被发现;先说结论:python中想要自定类能被set容纳重载实现 __hash__方法和__eq__方法函...

2020-01-16 08:43:08 354

原创 非对称加密&&RAS算法学习经验

非对称加密&&RAS算法之前对非对称加密有很大的误解,可以说之前理解的非对称加密都是错误的,经过一位大牛的点拨 (碾压) 充分认识到了自己的错误~,现在重新对非对称加密做一个总结;之前错误的想法非对称加密 指的是 传输信息时 拥有公钥/私钥,公钥加密的信息只能使用私钥解密,私钥加密的信息只有公钥能解密~ 仅此而已;但这是错误的,这是非对称加密的必要条件;但不是充分必要条件...

2020-01-12 13:14:46 722

原创 将博客搬至CSDN

内容如题

2020-01-04 23:16:00 82

原创 # C语言使用树设计族谱

C语言使用树设计族谱完整代码地址: Github本项目可使用vscode 打开并编译,详情请参考环境搭建教程:教程链接问题描述家属关系查询系统问题描述:用树结构表示你所在家族的家谱关系,实现家族信息的管理与查询。具体要求:此系统应实现如下功能。建立(打开)家族关系树。添加(删除)家属成员。家属关系查询,例如查找某人的祖先、双亲、兄弟、孩子、堂兄弟、后代子孙、查询某入居于家族中...

2020-01-03 12:04:27 4130 2

原创 判断某字符串是否是有效的十进制数(leetcode算法题)

使用状态机的思维,简单易懂,leetcode运行速度:0ms:C语言实现

2019-12-17 15:10:45 1968 1

原创 私人Git远程仓库的进阶配置

私人Git远程仓库的进阶配置ssh免密登录本地端的准备远程端(git仓库端的准备)本地新建远程仓库#私人Git远程仓库的进阶配置阅读本文的必要条件:linux命令行的基本操作git 的基本使用ssh免密登录本地端的准备生成密钥使用git bash 执行以下命令cd ~ssh-keygen -t rsa # 生成的密钥代表你这台电脑打开 用户文件夹下/.ss...

2019-12-16 16:00:08 163

原创 windows上使用VsCode开发C/C++

使用VsCode+makefile开发C/C++1. 介绍  vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ 方面,因此在这里简单介绍一下如何搭建vscode编译、调试C/C++项目的过程;整套环境完全使用开源软件进行搭建,只需要做很少的改变就可以无缝搬移到linux中;采用的方案是:vsco...

2019-11-08 23:05:00 826

原创 3.1 C语言_实现AVL平衡二叉树

【序】上节我们实现了数据结构中最简单的Vector,那么来到第三章,我们需要实现一个Setset的特点是 内部有序且有唯一元素值;同时各种操作的期望操作时间复杂度在O(n·logn);那么标准的C++ STL(Standard Template Library) 容器内部使用的是什么呢?STL使用的是红黑树或者hash Tree ,由于笔者现在的水平和精力,没时间搞这个...

2019-10-25 21:16:00 237

原创 2.2 C语言_实现数据容器vector(排序功能)

上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能。排序算法我们网上一百度哇~~!很常见的就有8大排序算法;1.选择排序  2.冒泡排序  3.插入排序  4.快速排序5.归并排序  6.桶排序  7.堆排序  8.希尔排序具体的思想本猿就不展开讲啦,现在C语言应用的场景大多数在服务器和嵌入式设备...

2019-10-21 21:59:00 486

原创 2.1实现简单基础的vector

2.1实现简单基础的vector1.设计API我们参考下C++ <std> 库中的vector, vector中的api很多,所以我们把里面用的频率很高的函数实现;1.1 new&deletenew:     应该可以初始化一个我们需要的结构体指针并申请一段内存;delete: 不仅能够把new出来的内存完整\...

2019-10-19 16:17:00 140

原创 1.C&DataStructure引言

使用过C++ <STD> 库的猿友们应该都觉得 C++中那些已经实现好了的数据类型封装使用让人很是舒服;例如 vector 支持自动扩充数组,支持模板类,任何数据类型都可以 简单的管理,如果在C语言中,我们就需要预先声明数组或者动态声明指针,最最重要的是,同样的事情我们有可能需要做很多遍,那么有没有什么方式可以让C语言也可以实现类似C++中数据类型的功能呢?...

2019-10-19 16:16:00 98

原创 Git学习笔记----基础运用

安装GitWindows:进入官网下载或百度网盘下载 Git(V2.23_x64)提取码:uf2xUbuntu:sudo apt-get -install git安装完成之后打开git命令行(Ubuntu命令行即可操作)输入以下代码#查询版本号git --version#设置你的姓名(最好是英文)git config --g...

2019-09-27 16:07:00 132

原创 vim安装 YCM 过程记录

YCM(YouComplateMe) 属于Vim中大神级的插件,提供了类似于巨硬爸爸的VS中的代码补全,但是其安装方式也是比较复杂,因此特意写下一篇记录,记录下我自己如何安装这一插件的过程;检查自己的vim版本是否在7.9版本之上、是否支持Pthon很幸运我的vim版本是8.0 vim --version #查看vim版本以及是否支持Pyth...

2019-09-20 16:08:00 254

原创 一个自动管理项目的Makefile(C语言)

Linux 是所有嵌入式软件工程师绕不过去的坎,makefile 是在Linux系统中绕不过去的坎。花了几天时间初步学习和了解了makefile 的作用以及功能,并且制作了一个通用型的makefile 用于管理后续可能的在Linux上独立开发的项目。在此用笔记的方式记下。怕自己以后忘了。makefile 思想: makefile 核心公式 <tar...

2019-09-18 11:32:00 126

原创 基于Doxygen_C语言代码文档一键生成的记录与规范(嵌入式适用)

下位机代码格式规范整合记录注册 doxygen 账号获取doxygen 的 *.exe 执行文件https://pan.baidu.com/s/1MF5v-Ts80BysmZtXSqONmg提取码:l4br进入Graphviz 首页下载Graphviz 软件*.mis 安装包 (可不选,但推荐)https://pan.baidu.com/s/1lIhc...

2019-01-19 08:58:00 443

原创 单片机实现简易版shell的方法和原理

单片机实现简易版shell的方法和原理Rt-thread 中有一个完整的finsh(shell )系统,使用串口做命令行输入输出.但是想要用这个炫酷的工具就必须要上rtthread系统,或者花大力气将其移植出来.于是我就自己写了一个类似于这样的插件.只需要把一对.c/.h文件加入到你的工程,就可以实现这个简易版的shell.git: https://github.com/KimAlittleS...

2019-01-14 11:30:26 1528

原创 单片机实现简易版shell的方法和原理

  Rt-thread 中有一个完整的finsh(shell )系统,使用串口做命令行输入输出.但是想要用这个炫酷的工具就必须要上rtthread系统,或者花大力气将其移植出来.于是我就自己写了一个类似于这样的插件.只需要把一对.c/.h文件加入到你的工程,就可以实现这个简易版的shell.  git:https://github.com/KimAlittleStar/E...

2019-01-14 11:00:00 179

原创 让串口调试助手像命令行一样

说到嵌入式的实时系统,大家首先想到的是不是 闻名遐迩的 UCOS 呢? UCOS 简单,易移植,在关键部分移植汇编语言,是入坑 RTOS[1]的不二选择.接触了一段时间之后,偶然在网上看到,原子哥(正点原子) 的开源教材里头也有介绍 RT-Thread OS 系统,然后开始了解和使用Rt-thread. 它的优势是:商用无风险,不限任务个数,各种协议栈齐全(尤其在 IoT方面),兼容部...

2019-01-10 17:51:00 467

原创 兼容正点原子 stm32f103 UTF8字符编码转换 GBK 编码格式

最近想做一个 网络天气的小东西.好容易写好了驱动,GET 了一下天气网站的 API 返回竟然是中文乱码,猜测是 UTF8 乱码,果不其然.于是就自己去寻找网上大神们的解决方案:一般是 UTF-8 -&gt; Unicode -&gt;GBK (中文) 关键字: stm32103 嵌入式 utf8 GBK 乱码 单片机 fatfas 中的库文件中有 GBK &lt;=&gt;Unicode ...

2018-08-25 18:14:14 6637 2

空空如也

空空如也

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

TA关注的人

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