自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 APM32F1替代STM32F1使用记录

测试的时候,通过STM32CubeMX直接生成了一个简单的LED闪烁代码,使用STLINK或者DAPLink都可以在keil中直接烧录,但是在选项里不要用STM32CubeMX提供了的默认器件,即选择芯片的时候,要使用APM32F1的pack里的芯片,否则会无法下载。因为APM32F103的价格要比STM32F103同系列的价格要低很多,因此,博主尝试使用APM32F103CBT6来替换掉原来的STM32F103CBT6,也遇到了一些问题,这里记录下来,希望能帮到同样遇到问题的同学。

2023-05-31 15:34:26 1117

原创 从源代码来看HAL库函数(一) HAL基础函数

从源代码来看HAL库函数(一) HAL基础函数

2022-06-21 00:18:12 4858

原创 STM32 HAL库的中断(一)外部中断&&UART中断

STM32 HAL库的中断可以说大型任务里面逃不掉中断的使用,在从标准库开发转向HAL库开发的过程中,HAL库函数层层调用的函数关系着实令人头皮发麻,在此记录一下自己一下午的摸索,本文将持续更新。外部中断在使用一些按键触发操作时,我们可能需要使用外部中断来实现要求,HAL库使用外部中断的一个重要之处在于实现外部中断回调函数。为了方便配置以及开发,这里全部使用STM32CubeMX完成初始化操作。cubeMx配置加入现在我使用了PE4引脚来外接按键,按键按下拉低引脚电平实现触发,在CubeMX中的

2022-03-17 18:40:31 5469

原创 STM32F103控制PCA9685产生16路PWM波控制SG90舵机

STM32控制PCA9685产生16路PWM波控制SG90舵机如果你能点开这篇文章,说明你已经知道PCA9685是多么强大,NXP公司原本做这片芯片是为了提供给LED使用,在其官方文档里也能看到所有PWM输出都是写着LED,但是PWM波形不仅仅能够控制一个简单的LED,PWM应用很广泛的一个方面就是电机调速,以及部分舵机控制角度就是通过调节PWM波的占空比来实现,因此本篇博客就来介绍一下这块如何使用这块芯片。博主采用的是下面这款模块,淘宝上很容易买到。这款芯片通过IIC总线来控制,如果你想很快上手,

2021-12-01 00:37:59 3159 3

原创 STM32标准库通用软件模拟IIC

STM32标准库通用软件模拟IIC继上次通用可移植的矩阵键盘之后,便继续寻找着下一个能够拿来只需改改引脚就可以使用的通用方案。恰好最近在研究PCA9685,这是一片能够产生最多十六路PWM信号的芯片,通过IIC总线接口控制,只需要SCL+SDA,外加一根GND,就可以控制多达16路舵机,这属实减少了开发难度。也正是因此,博主产生了写一下通用IIC总线的想法,以下是代码具体IIC时序在网上一搜一大把,这里就不再多说了。博主使用的是STM32F103ZET6开发板测试,测试有效,引脚输出速度可以根据你的

2021-12-01 00:35:26 2846

原创 基于亚博K210开发板的学习之旅(一)

本文参考亚博智能官方K210开源课程五月份购买了亚博的K210开发板,但由于课程压力就搁置了,最近暑假得空又恰逢电赛清单里有这个芯片,就抽空学习一下,特写下这些,以作记录。按照官方课程顺序开发环境采用的是勘智官方IDE,亚博课程推荐的是使用Vscode+裸机开发SDK,需要自己写编译命令和烧录程序,博主本人觉得太麻烦就采用了官方IDE,是基于vscode开发的一款IDE,有一键编译和烧写以及串口助手等功能。其中我觉得最为方便的是这个芯片引脚编辑器,利用FPIOA,可以自由安排软件IO口与实际芯片引

2021-08-17 19:52:10 3866

原创 CM3寄存器简介

Cortex-M3基础寄存器组通用目的寄存器组R0-R7也被称为低组寄存器,所有指令都能访问字长32位通用目的寄存器组R8-R12高组寄存器32位寄存器复位后的初始值不可预料堆栈指针R13CM3中共有两个堆栈指针主堆栈指针(MSP)这是缺省的堆栈指针,它由 OS 内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。进程堆栈指针(PSP)用于常规的应用程序代码(不处于异常服用例程中时)能引用到的是当前正在使用的那个另一个必

2021-06-04 20:25:26 2525 3

原创 数据结构(二)栈和队列

栈(stack):是限定仅在表位进行插入和删除操作的线性表允许插入的一段称为栈顶(top),另一端称为栈底(bottom),不包含任何数据元素的栈称为空栈栈又被称为是后进先出的线性表,简称LIFO结构栈的插入操作叫做进栈 push 也称压栈,入栈栈的删除操作叫做出栈 pop 也称弹栈栈的抽象数据类型ADT 栈 stackData 同线性表,元素具有相同的类型,相邻元素具有前驱和后继关系Operation InitStack(*S):初始化操作,建立一

2021-05-23 20:08:52 2069

原创 数据结构(1)线性表,链表,静态链表

线性表零个或多个数据元素的有限序列非空表中每个数据元素都有一个确定的位置在较复杂的线性表中,一个数据元素可以由若干个数据项组成线性表的抽象数据类型定义如下:ADT //线性表Data //线性表的数据对象集合,每个元素的类型均为DataType,其中除第一个元素外,每一个元素有且只有一个前驱元素,除了最后一个元素外,每一个元素有且只有一个直接后继元素。数据元素之间是一对一的关系。Operation InitList(*L); //初始化操作,建立一个空的线性表 ListEmpty(L);

2021-05-19 11:10:23 562

原创 VScode进行python开发出现 No module named “XXX“的解决方法

VScode进行python开发出现 No module named "XXX"的解决方法最近从pycharm转向vscode的时候,遇到了如下问题import numpy as np检查报错说No module named numpy然后去检查python路径,没错又用pip安装numpy,发现已经安装好了查了很多帖子,发现解决方式都不大有用结合自己的理解,改了launch.json,终于可以了。现将解决方法贴出来供大家参考首先在vscode中打开自己项目文件夹运行->

2021-05-18 23:08:53 17863 5

原创 初探Cortex-M3

Cortex-M3初探CM3ARM Cortex-M3处理器,Cortex系列的处女作。招牌功夫:性能强劲功耗低实时性好,能够极速地响应中断,而且响应中断所需的周期数是确定的代码密度得到很大改善使用更方便低成本的整体解决方案遍地开花的优秀开发工具基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,ARMv7架构闪亮登场,内核架构首次从单一款式变成3种款式。款式A:设计用于高性能的“开放应用平台”款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又

2021-05-16 17:02:15 446 2

原创 利用python创造一个词云

python 词云有时候我们需要分析一篇文章里某个词出现了多少次,当文章内容很多时,必然没有哪个时间和精力去一个一个数,我们可以利用python和几个扩展包,实现分析并绘图的目的。该项目我们用到了jieba分词工具包,具体介绍可以参考jieba官方github文档全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba以及os模块imageio模块官方文档matplotlib包下的pyplot工具包wordcloud

2021-05-16 15:11:55 140

原创 HTML5学习之旅(一)

HTMLhtml基础HTML技术HTML(hyper text markup language),超文本标记语言,不是计算机编程语言,而是由一些命令组成的描述性语言一般标签都是成对出现<title> </title>网页文件即采用HTML标签组织内容并符合html规范的文件,一般扩展名是.html或者.htm分为静态html动态html基础语法标记单标记<br>双标记<title>

2021-05-16 14:36:24 99

74LS系列芯片.zip

74LS系列芯片资料,很全,

2021-05-16

空空如也

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

TA关注的人

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