<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[乱学一气]]></title><description><![CDATA[菜鸡学习笔记]]></description><link>https://blog.youkuaiyun.com/XZHMARS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; XZHMARS]]></copyright><item><title><![CDATA[Surface Pro X重装系统&The Boot Configuration Data file is missing some required information& 重置失败 解决]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/124376252</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/124376252</guid><author>XZHMARS</author><pubDate>Sun, 24 Apr 2022 10:58:13 +0800</pubDate><description><![CDATA[Surface Pro X重装系统&The Boot Configuration Data file is missing some required information& 重置失败 解决]]></description><category></category></item><item><title><![CDATA[STM32 PWM波比较输出]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/117307264</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/117307264</guid><author>XZHMARS</author><pubDate>Wed, 26 May 2021 23:01:03 +0800</pubDate><description><![CDATA[关键配置

对应GPIO
NVIC中断管理
定时器初始化
定时器输出模式TIM_OC初始化（模式为TIM_OCMode_Toggle）

频率与占空比的计算

计数频率的计算
若使用比较输出，则ARR表示计数的上限，基本无用。计数频率由TIM_Prescaler成员变量配置。若配置TIM_Prescaler=71，输入时钟为72MHz72MHz72MHz，则计数频率为：
f=72M72+1=1Mf=\frac{72M}{72+1}=1Mf=72+172M​=1M
计数规则
当计数器数到CCR所储存的值时，输]]></description><category></category></item><item><title><![CDATA[蓝桥杯嵌入式无法烧写程序]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/117217687</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/117217687</guid><author>XZHMARS</author><pubDate>Mon, 24 May 2021 10:17:00 +0800</pubDate><description><![CDATA[使用蓝桥杯的嵌入式开发板无法烧写程序。
可能会出现
Unkown device
Error: Flash Download failed coocox-agdi.dll
等错误，问题。建议解决办法如下：
首先确保已经按照官方文件安装Colink for MDK插件，然后按照参考下面的博文进行配置：
解决蓝桥杯嵌入式竞赛板在MDK5上使用CooCox下载出现unknown device的问题。同时也是蓝桥杯嵌入式下载程序的详细教程。
这篇博文十分详细，一般按步骤进行就可以解决问题。
如果还是无法下载，可以尝试]]></description><category></category></item><item><title><![CDATA[STM32 SPI读写FLASH]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107489234</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107489234</guid><author>XZHMARS</author><pubDate>Wed, 09 Sep 2020 22:17:58 +0800</pubDate><description><![CDATA[SPI协议
  Serial Peripheral Interface，串行外围设备接口。SPI 是串行同步全双工通信协议。一般用于控制器和控制器之间的数据传输。
物理层

  每个从机都有四条线和主机相连，不同从机的 MISO MOSI SCK  连接的是主机统一个端口，SS 线，连接不同端口

SS ：（Slave Select）从机选择。当主机想和某个从机通讯时，就把从机的 SS 条线的电平拉低。
SCK ：（Serial Clock）时钟信号线。由主机产生，f103的SPI挂载在不同的总线上，最大频]]></description><category></category></item><item><title><![CDATA[STM32时钟树]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107281481</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107281481</guid><author>XZHMARS</author><pubDate>Wed, 09 Sep 2020 22:17:25 +0800</pubDate><description><![CDATA[STM32时钟树

HSE时钟
High Speed External Clock signal 外部高速时钟
控制 ： RCC_CR 时钟控制寄存器位16：HSEON 置1，启动完毕HSERDY置1。
野火的指南者使用8M的无源晶振作为HSE时钟的输入。
HSI
High Speed Internal Clock signal 高速内部时钟
当外部HSE故障，系统时钟切换导HSI，直到HSE启动。
控制：RCC_CR 时钟控制寄存器位0：HSION置1，启动完毕HSIRDY置1。
PLLCLK
锁相环时钟]]></description><category></category></item><item><title><![CDATA[DL-LN33使用笔记]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/108227481</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/108227481</guid><author>XZHMARS</author><pubDate>Fri, 28 Aug 2020 23:32:03 +0800</pubDate><description><![CDATA[本文仅为学习笔记，在产品说明书中有更详细，细致的描述。
简介
  DL-LN33模块是一个无线通信模块，他的通信协议和zigbee的模块类似，但并不是严格的zigbee通信协议。
  好处是，无需学习zigbee通信协议，通过串口向模块发送指令，即可完成传输数据的任务，模块上电后，会自动寻找通信范围内的设备，可谓上电自组网。
通信协议
USART协议格式
  DL-LN33使用Uart作为数据交互接口，使用异步通信，所以要规定起始位，停止位和校验位以便通信，通信格式如下：




位名
宽度（位）




]]></description><category></category></item><item><title><![CDATA[STM32 高级定时器]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/108203684</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/108203684</guid><author>XZHMARS</author><pubDate>Tue, 25 Aug 2020 17:32:40 +0800</pubDate><description><![CDATA[高级定时器功能简介
  高级定时器对应为 TIM1/8 比基本定时器多了外部引脚，可以实现输入捕获，输出比较和互补输出,其有16为位计数器，可上下，两边计数，拥有重复计数器RCR。时钟来自 PCLK2 , 为72M.
功能框图
  整个框图非常大，分为6个部分逐步讲解。

1.时钟源

内部时钟源 CK_INT
  内部时钟源由RCC引入，挂载在 APB2 总线上，为72M，具体可见RCC时钟树。
外部时钟1


...]]></description><category></category></item><item><title><![CDATA[STM32 基本定时器]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/108183694</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/108183694</guid><author>XZHMARS</author><pubDate>Mon, 24 Aug 2020 19:18:56 +0800</pubDate><description><![CDATA[系列文章目录
提示：这里可以添加系列文章的所有文章的目录，目录需要自己手动添加
例如：第一章 Python 机器学习入门之pandas的使用

提示：写完文章后，目录可以自动生成，如何生成可参考右边的帮助文档
文章目录系列文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结


前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例]]></description><category></category></item><item><title><![CDATA[STM32 硬件I2C外设]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107441408</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107441408</guid><author>XZHMARS</author><pubDate>Wed, 22 Jul 2020 23:00:06 +0800</pubDate><description><![CDATA[文章目录I2C 框图通信引脚时钟控制数据控制整体控制STM32的通讯过程固件库编程结构体初始化结构体固件库函数EEPROM电路图读写说明字写入
I2C 框图

通信引脚
输入的引脚有三个，SDA 数据传输引脚，SCL 时钟引脚， SMBA用于SMBUS警告，在 I2C 中并未用到。这些引脚实际对应的硬件引脚可以在 数据手册 的引脚定义中查到。这里小结如下:




引脚
I2C1
I2C2




SCL
PB6 / PB8(重映射)
PB10


SDA
PB7 / PB9(重映射)
PB11


时钟控]]></description><category></category></item><item><title><![CDATA[STM32 串口]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107350321</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107350321</guid><author>XZHMARS</author><pubDate>Wed, 22 Jul 2020 22:59:38 +0800</pubDate><description><![CDATA[USART 通信协议
所谓协议，就是一种交换信息的规定。想要传输信息，必须按照一定的规则才能识别。USART是串行，全双工，异步通信。
RS-232与TTL电平
TTL: 0~3.3/5V 一般芯片输出的都是TTL；
RS-232：-15~15V,但-15V对应逻辑1，+15V对应逻辑0。主要用于工业设备的通信，高的电平差有较高的容错能力。
USB转串口 ：电平转换芯片有CH340，PL2303，CP2102；需要安装驱动。指南者上的是CH340，通过跳帽连接USART1；
串口通信数据包组成
起始位：一个]]></description><category></category></item><item><title><![CDATA[STM32 SysTick小结]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107300052</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107300052</guid><author>XZHMARS</author><pubDate>Wed, 22 Jul 2020 22:47:56 +0800</pubDate><description><![CDATA[STM32 SysTick小结
SysTick简介
系统定时器，24位，只能递减，存在于内核，嵌套在 NVIC 中。其大部分内容可以查看 STM32F10xxx Cortex-M3编程手册-英文版。
SysTick工作过程
1.计数器在时钟驱动下从初值开始计数直到0。
2.为0时可以产生中断或置位 COUNTFLAG 标志位。
3.如果没有关闭，则初值再次开始计数，如此循环。
计数过程中，计数器的实时值可由 STK_VAL 位得到
SysTick寄存器
STC_CTRL

控制及状态寄存器，只有四个有效位：]]></description><category></category></item><item><title><![CDATA[STM32 DMA]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107417271</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107417271</guid><author>XZHMARS</author><pubDate>Wed, 22 Jul 2020 22:47:32 +0800</pubDate><description><![CDATA[DMA简介
Data Memory Access，直接储存器访问。可以把数据从一个地方搬移到另一个地方，同时不占用CPU。
其方向有

Memory -&gt; Memory   存储器到存储器
Memory -&gt;  Periph     存储器到外设
Periph   -&gt; Memory    外设到存储器

DMA功能框图
DMA请求
在参考手册中可以找到DMA请求映像，里面规定了不同设备间传输数据应用哪条通道。

仲裁器
当多个DMA请求同时发出时，仲裁器会仲裁顺序。这里就需要配置优先级了]]></description><category></category></item><item><title><![CDATA[C语言宏定义拓展]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107251826</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107251826</guid><author>XZHMARS</author><pubDate>Sun, 19 Jul 2020 22:02:53 +0800</pubDate><description><![CDATA[C语言的宏定义
条件宏定义
条件宏编译可以完成一些简单的逻辑控制，其具体形式如下
#define TEXT(a)   if(a) printf("yes!");\
                  else printf("no~");
void main(void)
{
	TEXT(1);
}

其中反斜杠在C中表示换行符,其后不可添加任何字符，空格也不允许。
这样的宏定义有点像一个小函数，其中TEXT接收一个值，这个值会被后面的条件语句判断和执行，所得结果为
yes

在stm32编程中的体现
#de]]></description><category></category></item><item><title><![CDATA[STM32固件库的小结]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/104764711</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/104764711</guid><author>XZHMARS</author><pubDate>Thu, 16 Jul 2020 23:22:02 +0800</pubDate><description><![CDATA[最近跟着野火的视频学习stm32推进速度较快，很需要消化理解。最近疫情使得不能返校，时间非常充裕，返校后就不再有这么多集中的时间学习别的东西乐。好记性不如烂笔头，这里不仅为了加强理解，也为了日后复习。
文章目录储存器地址由51引入STM32的储存器映射
储存器地址
由51引入
  实际上，单片机对任何端口的控制都是通过操作内存实现的，说出这句话很抽象，我们可以以从51单片机类比来说明这是什么意思。...]]></description><category></category></item><item><title><![CDATA[stm32位带操作中对内存的浅显理解]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/104727424</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/104727424</guid><author>XZHMARS</author><pubDate>Thu, 16 Jul 2020 15:13:18 +0800</pubDate><description><![CDATA[最近学习stm32位的位带操作，有很多地方不理解，才发现自己对内存的理解不够，搜集资料后，得出以下浅显理解。
基础知识
进制
计算机以二进制代码储存信息，每个二进制数表示一位 (bit)，每8个二进制数表示一个字节**(Byte)**， 而再往上的KB，就是210倍的字节，总结有以下进制关系。
1 Byte  = 8 bit
1 KB   = 1024Byte（210=1024）
1 MB  = ...]]></description><category></category></item><item><title><![CDATA[STM32 EXTI外部中断小结]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/104851871</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/104851871</guid><author>XZHMARS</author><pubDate>Sun, 12 Jul 2020 10:46:43 +0800</pubDate><description><![CDATA[这周较忙迷迷糊糊就过了很多天，现在又有闲暇正好把刚刚学的EXTI总结一下。
文章目录EXTI原理解释EXTI 简介EXTI原理框图解释输入线余下寄存器的介绍编程实例实例简介实验的电路图开始编程初始化EXTI和GPIO
EXTI原理解释
EXTI 简介
  EXTI (External interrupt/event controller) ——外部中断/事件控制器，其用于管理外设中GPIO和一些其...]]></description><category></category></item><item><title><![CDATA[STM32中断应用总结]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/107287950</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/107287950</guid><author>XZHMARS</author><pubDate>Sat, 11 Jul 2020 20:27:36 +0800</pubDate><description><![CDATA[STM32中断应用总结
中断种类
可以参考参考手册中的中断向量表
NVIC
嵌套向量中断控制器，属于内核外设，管理内核和片上所以外设相关的功能。其功能可以参考内核编程手册 ** STM32F10xxx Cortex-M3编程手册-英文版**

...]]></description><category></category></item><item><title><![CDATA[Matlab复习]]></title><link>https://blog.youkuaiyun.com/XZHMARS/article/details/105822923</link><guid>https://blog.youkuaiyun.com/XZHMARS/article/details/105822923</guid><author>XZHMARS</author><pubDate>Wed, 29 Apr 2020 15:56:17 +0800</pubDate><description><![CDATA[最近开了一门Matlab仿真课，发现自己的matlab几乎全忘了，复习并且引入一些东西。
函数
最一般的
其实matlab的函数和任何语言中的函数作用是一致的，即输入一些变量，输出一些变量。创建的目的就是模块化代码，便于维护，移植，理解。
其函数的命名如下

function [out1,out2…] = Name_of_Function(in1,in2…)

这里的out1就是输出，Name_o...]]></description><category></category></item></channel></rss>