<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[azs0504的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/azs0504</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; azs0504]]></copyright><item><title><![CDATA[STM32利用Flymcu进行烧录]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/120741733</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/120741733</guid><author>azs0504</author><pubDate>Wed, 13 Oct 2021 14:20:43 +0800</pubDate><description><![CDATA[烧录教程
刻录也叫烧录，就是把数据通过刻录机等工具刻制到光盘，烧录卡（GBA)等介质中，即大家说的下载。目前大家手中没有J-link和ST-link等其他仿真器，只能用串口烧录的仿真软件FlyMcu。
提前在A盘（资料盘）解压后，找到它


因为他是利用串口烧录的，就要下载串口的驱动。
1.串口驱动安装
驱动同样在A盘（资料盘），路径如下：

点击setup。
接着我们在STM32上USB_TTL处插入USB线，并连接上电脑，如果之前没有安装过CH340的驱动（如果安装过，则应该在设备管理器看到USB串口，]]></description><category></category></item><item><title><![CDATA[OPENCV——C++版图像形状简单识别]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119973808</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119973808</guid><author>azs0504</author><pubDate>Sat, 28 Aug 2021 22:19:52 +0800</pubDate><description><![CDATA[OPENCV——C++版图像形状简单识别


其实就是简单的小实验，识别图形，opencv的库里是有对应的函数。
首先可以勾勒出他们的轮廓，其次还可以识别哪些是三角形，哪些是圆形，哪些是矩形。
这就是形状、轮廓检测的功能。
预处理
1.灰度
cvtColor(img, imgGray,COLOR_BGR2GRAY, 0);


2.高斯滤波
GaussianBlur(imgGray, imgBlur, Size(65, 65), 1, 1);


3.Canny边缘检测
		Canny(imgBlur, i]]></description><category></category></item><item><title><![CDATA[STM32F4系列HAL库配置定时器实验——输入捕获]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119972469</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119972469</guid><author>azs0504</author><pubDate>Sat, 28 Aug 2021 21:40:27 +0800</pubDate><description><![CDATA[STM32F4系列HAL库配置定时器实验——输入捕获
输入捕获简单讲解
输入捕获模式可以用来测量脉冲宽度或者测量频率。我们以测量周期和频率为例，用一个简图来说明输入捕获的原理

假定定时器工作在向上计数模式，
图中 t1~t2 时间，就是我们需要测量的高电平时间。测量方法如下：首先设置定时器通道 x 为
上升沿捕获，这样，t1 时刻，就会捕获到当前的 CNT 值，然后立即清零 CNT，并设置通道 x为下降沿捕获，这样到 t2 时刻，又会发生捕获事件，得到此时的 CNT 值，记为 CCRx2。这样，根据定时器]]></description><category></category></item><item><title><![CDATA[STM32F1基本定时器实验-外部触发脉冲计数]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119920704</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119920704</guid><author>azs0504</author><pubDate>Wed, 25 Aug 2021 23:01:19 +0800</pubDate><description><![CDATA[STM32F1定时器实验-外部触发脉冲计数
之前我们用外部中断测量了PWM的频率，而外部触发是设置2个定时器，利用按键触发，一个定时器2用来接受外部触发信号并计数，另一个定时器6实时检测按键。
按照这样的思路，我们的按键读取用状态机思想去读取，使定时器6产生10ms的定时中断来实时检测按键并利用状态机设计思想处理按键信号，将PA1设置成输出引脚，设置定时器2的PA0引脚来接收信号，通过按键触发改变标志位来发送电平信号，再定义全局数存放PA0接收脉冲信号次数，最后串口配置。
什么？你不知道状态机思想？送你学习]]></description><category></category></item><item><title><![CDATA[MSP432使用步进电机]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119908707</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119908707</guid><author>azs0504</author><pubDate>Wed, 25 Aug 2021 12:33:26 +0800</pubDate><description><![CDATA[MSP432P401步进电机使用
其实是电赛练手题里有一个1分钟转一圈的要求，就算我把占空比改到最小，也无法办到，证明普通电机无法办到这一点，只好用到步进电机。同时我们还要一个步进电机驱动，就是之后图片的大黑盒子DM542，大概100大洋左右。

代码部分
设置TIMER_A输出pwm
Timer_A_PWMConfig TIM0_PwmConfig2 =
        {
                TIMER_A_CLOCKSOURCE_SMCLK,
                TIMER_A]]></description><category></category></item><item><title><![CDATA[STM32F1系列基本定时器HAL库配置]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119892438</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119892438</guid><author>azs0504</author><pubDate>Tue, 24 Aug 2021 22:07:32 +0800</pubDate><description><![CDATA[STM32F1系列基本定时器HAL库配置
时钟的概念了解完就趁热打铁进行定时器的简单讲解，定时器的操作是十分重要的，他不仅可以用于计数/定时（两者其实一个道理），还可以生成PWM，输入捕获等等，高级定时器可以用于工业电机上的有关操作。所以，我们专门讲解一波基本定时器，并用它做一个闪烁灯小实验。
定时器简介
在STM32F1上，常规定时器分为三种定时器：高级，通用，基本；

高级定时器的功能涵盖通用定时器，通用定时器功能涵盖基本定时器

以基本定时器实现计数功能，这里说的并不准确，应该说是定时功能，
定时是对]]></description><category></category></item><item><title><![CDATA[STM32F1系列HAL库配置系统时钟]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119831945</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119831945</guid><author>azs0504</author><pubDate>Sat, 21 Aug 2021 17:08:10 +0800</pubDate><description><![CDATA[STM32F1系列HAL库配置系统时钟
其实一开始对于时钟我也是知之甚少，在MSP432中我就一直忽视时钟配置，其实也是在STM32学习时落下的病根，现在趁有空补一下。
时钟简单讲解
对于时钟系统，在之前我写启动文件涉及到，其实，每个功能的实现都涉及到时钟。我们首先说明一下RCC
RCC：复位和时钟控制
什么是复位，什么又是时钟？在STM32参考手册中文版我们可以看到

注意“除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器(见图4)以外，系统复位将复位所有寄存器至它们的复位状态。”这]]></description><category></category></item><item><title><![CDATA[STM32F1系列启动过程简单讲解]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119830628</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119830628</guid><author>azs0504</author><pubDate>Fri, 20 Aug 2021 21:29:36 +0800</pubDate><description><![CDATA[STM32F1系列HAL库配置系统时钟和启动过程简单讲解
STM32F1采用ARM-Cortex-M3内核，对于他的启动以及复位，时钟系统，都是紧密联系的。以下内容对你对模块的操作帮助可能不太大，但对于你理解其工作模式是有帮助的，对于只想要简单使用单一模块的建议可以不看

但是如果要深入了解，那你就要听我哔哔了。我对于时钟系统也是说一下自己知道的，毕竟官方手册中文版讲的很明白了，只需要稍稍解释一下即可。
1.如何启动
ARM-CM3处理器结构为哈佛结构，哈佛结构是一种将程序指令存储和数据存储分开的存储器结构]]></description><category></category></item><item><title><![CDATA[STM32F1系列HAL库配置外部中断——测量pwm频率]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119811144</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119811144</guid><author>azs0504</author><pubDate>Thu, 19 Aug 2021 22:14:02 +0800</pubDate><description><![CDATA[STM32F1系列HAL库配置外部中断——测量pwm频率
一.中断的简单介绍
对于之前的串口配置，之所以把串口中断搁置是因为它牵扯到中断这一概念，而我觉得中断对于像我这样的初学者来说是较为难理解的概念，所以，我专门把中断这个应用拿出来。但是也是很浅显的一点点，毕竟中断牵扯的确实有点多，外部中断（EXIT），串口中断，ADC中断及各种外设中断，我并不想在这里解释太多，因为我自己还有很多地方要学习，所以把外部中断拿来分享一下。
中断
中断是指计算机正在运行程序时，出现某些意外需要主机干预，主机可以暂停正在进行的]]></description><category></category></item><item><title><![CDATA[STM32F1系列HAL库配置串口通信（2）——串口重定向以及log信息格式输出]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119735890</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119735890</guid><author>azs0504</author><pubDate>Mon, 16 Aug 2021 17:19:13 +0800</pubDate><description><![CDATA[串口重定向以及log信息格式输出
之前我们提到了HAL库配置串口，但是由于我们还没有进行到中断，所以对于一些HAL库里有关串口的函数还是很难全部应用的，尽管如此，我们依然可以借助这两个函数胡作非为 加以利用。
1.串口发送数据：
HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
功能：串口发送指定长度的数据。如果超时没发送完成，则不再发送，返回超时标志（HAL_TIMEO]]></description><category></category></item><item><title><![CDATA[STM32F1系列HAL库配置串口通信]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119717021</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119717021</guid><author>azs0504</author><pubDate>Sun, 15 Aug 2021 20:31:47 +0800</pubDate><description><![CDATA[STM32F1系列HAL库配置串口通信
简单来说，串口通信（Serial Communications）的概念非常简单，串口按位（bit）发送和接收字节。
UART与USART简单讲解
UART: 通用异步收发传输器（Universal Asynchronous Receiver/Transmitter)，通常称作 UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片，UART 通常被集成于其他通讯接口的连结上。
USART:(Universal Synchr]]></description><category></category></item><item><title><![CDATA[STM32F1系列HAL库配置GPIO]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/119704345</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/119704345</guid><author>azs0504</author><pubDate>Sat, 14 Aug 2021 20:26:28 +0800</pubDate><description><![CDATA[STM32F1系列HAL库配置GPIO
前言（废话）
老早就被安利了stm32CUBEMX，只是当时特别懒，也没啥感觉，如今看来真的是不知好歹了我。相比较标准库，HAL库十分方便快捷，相当于你直接跳过了各种复杂的配置，直接来到应用层，并且只要明白库中函数如何使用，基本上就可以写了，比起早已不更新的标准库，HAL库的优势不至于此，虽说看懂标准库也十分重要，但是过程却是当你痛苦的go to definition,发现你根本看不懂，又烦又长

但是，cubemx真的解放了我的眼睛和手，

我一个手癌选手激动的都要]]></description><category></category></item><item><title><![CDATA[MSP串口打印避坑]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/118582922</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/118582922</guid><author>azs0504</author><pubDate>Thu, 08 Jul 2021 22:43:09 +0800</pubDate><description><![CDATA[MSP432UART_print两天实现ccs选手的疑惑##自定义的串口打印一个参数引发的惨案
ccs选手的疑惑##

还没有的给你传送：ccs安装教程
当你装好了ccs时，我们就入土了一半了，ccs虽然是官方编程调试软件，但是他有诸多不便之处，一位不愿透漏姓名的学长曾用它烧了半个小时代码，你完全可以在VScode或者Clion配置更好的环境。
但是来都来了，用库函数写的全国统一的好吧，接下来就是导入diverlib库函数，教程传送门：ccs库函数导入
因为我们主要讲串口，所以就只涉及串口的相关参数和函数
]]></description><category></category></item><item><title><![CDATA[MSP432中断初试]]></title><link>https://blog.youkuaiyun.com/azs0504/article/details/117450249</link><guid>https://blog.youkuaiyun.com/azs0504/article/details/117450249</guid><author>azs0504</author><pubDate>Tue, 01 Jun 2021 20:24:16 +0800</pubDate><description><![CDATA[MSP432中断初试

@目录
MSP430 单片机中断
再次领悟中部中断实验


一、MSP430 单片机中断
与所有单片机一样包括
中断请求，中断响应，中断处理，中断返回
下面展示一些 中断程序编写格式。
#pragma vector=中断向量名（中断向量号，为中断地址）
__interrupt void 自定义中断函数名(void)
{… }

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
 P1OUT ^= BIT0; // ]]></description><category></category></item></channel></rss>