![](https://img-blog.csdnimg.cn/20190116082140409.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32
记录自己在STM32学习和使用中遇到的一些问题和解决办法
爱吃肉的大高个
执着于单片机应用、电子设计大赛、嵌入式开发的有理想的咸鱼
邮箱 gyyjx123024@gmail.com
展开
-
关于STM32F103C8T6内部FLASH容量的问题
在STM32中文参考手册的第3页就看到STM32MCU的名命规则如下 显而易见,C8T6应当是LQFP48封装的64k内部FLASH的MCU,但是在使用中发现,我们是可以对超过64K字节的FLASH空间进行读写的,而且MDK默认的下载算法也是针对128KFLASH的,如下图。 在网上查阅资料后发现,C8T6和CBT6(仅FLASH容量有区别)一般...原创 2018-12-10 22:15:28 · 46311 阅读 · 7 评论 -
STM32单个定时器四通道输入捕获
以前就纠结过能不能一个定时器进行多路的输入捕获,因为毕竟输出四路的PWM是轻松随意的,当时大概想了一下觉得可能会比较麻烦就一直没去尝试,最近组里的同学做方波测频和测占空比遇到了问题,又提到了这个,今天仔细想了一下有了思路就写程序然后上板子试了一下,解决了这个问题。 首先我们先看单路的输入捕获是怎么实现的 定时器的初始化函数://定时器2通道1输入捕获配置//ar...原创 2018-12-04 21:27:48 · 21613 阅读 · 20 评论 -
错误解决:STM32F103串口1与串口3相同代码却结果不同
在前几天调试openmv时发现同样的代码串口1和串口3的结果却是不一样的,当时着实是把我坑了很久,怎么都找不到原因,用示波器看波形也是没有问题的,在Openedv网站上有位网友指出是我初始化代码的问题,在翻阅参考手册后终于发现了问题。 下列代码为我原本的初始化代码:#include "sys.h"#include "usart.h"#include "led.h"#i...原创 2018-10-28 12:19:13 · 8058 阅读 · 2 评论 -
OpenMV数据打包发送以及STM32对数据的解析(串口方式)
今天尝试了使用Openmv用串口发送数据,32接收,遇到了一些坑,但是最后还是实现了,难住我的地方并不是关于传输的代码,而是那个板子串口3不知道因为什么原因接收到的数据是错误的,这个原因正在寻找,找到了再记录。 Python提供了便捷的将数据打包的方法。我使用的方法就是将数据以二进制的方式打包然后通过串口逐字节发送。 struct模块的pack(fmt, v1, v2,...原创 2018-10-26 19:21:39 · 43493 阅读 · 58 评论 -
keil中code和const的区别
Keil 51中的const与code & Keil MDK中的const与code 在Keil 51中,code修饰的变量放在ROM(Flash)中,而const修饰的变量为只读(不可修改),放在RAM中!可以用“code const”修饰变量,表示变量存储在ROM中,且为只读,由此看来“code”与“code const”修饰变量有一样的功用。 Keil MDK中的cons...转载 2018-09-27 18:34:05 · 6625 阅读 · 1 评论 -
FATFS文件系统学习笔记
什么是文件系统 负责管理和存储文件信息的软件机构,在磁盘上组织文件的方法。常用的文件系统 FAT/FATFS 小型嵌入式系统 NTFS WINDOWS CDFS 光盘 exFAT 更适用于闪存FATFS优点:免费开源,专门为小型嵌入式系统设计,c编写,支持FAT12, FAT16 与 FAT32,支持多种存储媒...原创 2018-09-01 10:34:01 · 36890 阅读 · 6 评论 -
SD卡及STM32的SDIO接口相关原理
SD卡 SD卡(Secure Digital Memory Card)即:安全数码卡,它是在MMC的基础上发展而来,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。 SD卡按容量分类,可以分为3类:SD卡、SDHC卡、SDXC...原创 2018-08-28 14:09:55 · 25187 阅读 · 3 评论 -
STM32上的外部中断
今天记录一下关于外部中断的知识点以及在32上外部中断的相关寄存器以及配置的流程。一、原理介绍 首先,什么是中断 中断就是将正在做的事情停下来,先去完成另外一件事情,完成后继续回来做这件事。 比如:在吃饭的时候有电话打来,去接电话,打完电话后继续吃法。 在计算机科学中,中断(英语:Interrupt)是指处理器接收到来自硬件或软...原创 2018-05-31 13:37:47 · 2730 阅读 · 0 评论 -
STM32上的PWM
在昨天的实验室嵌入式组内分享会上我讲解了PWM、外部中断以及定时器的一些知识,在整理知识点以及制作PPT的过程中也对自己的知识进行了一个总结,所以打算写三篇博客来记录这三个方面的知识点,就以我最近使用的STM32作为平台来记录,起始这三个点是单片机可以说最为基础以及通用的点,任何一个MCU都会有,所以说总结一下还是很有必要的。 首先就是PWM。 在昨天的...原创 2018-05-30 18:49:03 · 9951 阅读 · 0 评论 -
使用stm32产生三角波和正弦波
最近在备战电赛,所以这几天研究了一下用32产生可以控制频率的波形的方法。 32的功能还是很强大的,F4有168MHZ的主频,时钟频率可以达到84MHZ,对于产生波形来说,如果只是产生中低频率的波形来说是完全够用的,借助DMA后产生5MHZ的正弦波是没什么问题的。 我也分享一下我产生三角波和正弦波的方式,因为方波的产生基本上都能做出来,是比较简单的,当然也有不少的...原创 2018-05-22 20:14:48 · 61752 阅读 · 24 评论 -
STM32通信接口(三)硬件SPI
一、概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,是Motorola最先在其的MC68HCXX芯片上使用,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议。 SPI接...原创 2018-05-03 21:49:03 · 27248 阅读 · 0 评论 -
STM32通信接口(二)IIC--软件模拟
一、概述 IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。 IIC是 由数据线SDA和时钟SCL构成的串行...原创 2018-05-01 17:03:17 · 16004 阅读 · 3 评论 -
STM32通信接口(一)串口
什么是串口毫无疑问,串口是我们接触到的第一种通信接口,无论是串口调试还是与外设的通信,串口的用途十分广。关于同步和异步,最简单的区分方法就是看在通信时需不需要接时钟线,像SPI、I2C等通信接口都需要接CLK线,毫无疑问它们都是同步的,而串口是一种拥有两种模式的通信接口,可以选择是否连接时钟线。至于串行和并行,区分的方法就是看数据是一位一位的发送还是以一个字节(8位)或16位的格式发送,显然并口的...原创 2018-04-18 21:36:53 · 12956 阅读 · 1 评论