一.离线安装1.选择需要的器件支持包(这里我选择2.2.0)2.双击,路径自动选择自己安装的目录,所以直接next3.安装完成后,打开keil5新建一个工程,在选择工程设备中可以看见关于STM32F1的器件列表4.展开后选择F103的F103C8器件,就可以新建工程了二.在线安装(安装网速偏慢)1.在keil5界面中,点击图标2.弹出PackInstaller界面3.等待列表自动更新获取支持包安装列表(需等待进度满100%)4.更新完列表之后,在列表中找到如图的STM支持包列表选项5.展开列表后,有各种不同器件可以选择,根据需要下载6.在右侧选择后缀DFP文件,点击install安装7.等右下
目录一、GPIO是什么?二、GPIO的8种工作模式1.浮空输入模式(GPIO_Mode_IN_FLOATING)2.上拉输入模式(GPIO_Mode_IPU)3.下拉输入模式(GPIO_Mode_IPD)4.模拟输入模式(GPIO_Mode_AIN)5.开漏输出模式(GPIO_Mode_Out_OD)6.开漏复用输出模式(GPIO_Mode_AF_OD)7.推挽输出模式(GPIO_Mode_Out_PP)8.推挽复用输出模式(GPIO_Mode_AF_PP)三、GPIO寄存器1.GPIO端口模式寄存器(GPIOx_MODER)2.GPIO端口输出类型寄存器(GPIOx_OTYPER)3.GPI
通过输入LED_ON和LED_OFF分别控制LED灯的亮与灭接线:LED的正极接正电,负极接GPIOA_Pin1蓝牙模块TXD接GPIOA_Pin3,VCC接正电,GND接负电注意:USART2是APB1外设,汉字占用字节数是字符的两倍使用:手机向蓝牙传输"LED_ON",LED灯亮,反之传输“LED_OFF”则LED灯熄灭代码:main函数:#include"stm32f10x.h"//Deviceheader#include"Delay.h"#include"OLED.h"#include"Serial.h"#include"LED.h"char*News;voidOledShow(voi
CubeMX配置串口通讯(轮询方式)前言一、串口的介绍二、实验过程1.实验材料2.STM32CubeMX配置PWM3.代码实现重载printf轮询接收4.编译烧录5.硬件连接6.实验结果重载printf结果串口轮询接收结果总结前言本章介绍使用STM32CubeMX对串口进行配置的方法,因为我的最小系统没有其他外设,所以使用串口进行调试很重要,首先实现重载printf串口输出,然后实现串口通讯有三种方式:轮询,中断和DMA,接下来进行逐一介绍,本章接仅仅实现串口轮询接收和重载printf功能。一、串口的介绍通用同步异步收发器(UniversalSynchronousAsynchronousRec
在使用STM32微控制器进行USB通信时,使用虚拟串口驱动是一种常见的方式。然而,有时我们可能会遇到在Windows764位和32位系统上无法正常安装STM32虚拟串口驱动的问题。在本文中,将介绍一种解决这个问题的终极解决方案,并提供相应的源代码。解决方法如下:步骤1:检查设备管理器首先,我们需要检查Windows设备管理器,确保STM32开发板已正确连接到计算机。在Windows7中,可以通过以下步骤打开设备管理器:点击Windows开始按钮,并在搜索框中键入"设备管理器"。在搜索结果中,点击打开"设备管理器"。在设备管理器中,查找"端口(COM和LPT)"类别。如果STM32开发板正确连接
最近使用sw4stm32调试串口时发现串口接收不定长数据很不方便,这里是帧头帧尾的接收方式,欢迎大佬指导。这里要用串口中断接收的数据帧帧头为0xEB,帧尾为0XBE这里是其中定义的变量 #defineFRAME_HEADER0xEB//帧头#defineFRAME_TAIL0xBE//帧尾uint8_trxBuffer[256];//接收缓冲区uint16_trxIndex=0;//接收缓冲区索引uint8_tframeStart=0;//帧起始标志uint8_tframeEnd=0;//帧结束标志主函数里打开串口接收中断HAL_UART_Receive_IT(&huart1,&rxBuffe
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业
PWM简介ARR:auto-reloadregisterCCR:capture/compareregister脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制,PWM原理如图所示:当CNT当CNT>=CCRx时输出1。那么就可以得到如上的PWM示意图:当CNT值小于CCRx的时候,IO输出低电平(0),当CNT值大于等于CCRx的时候,IO输出高电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环。改变CCRx的值,就可以改变P
这次来分享一下DS1302时钟IC,之前听说过这个IC,但是一直没搞过,用了半天时间就明白了原理和驱动,说明还是很简单的。注:首先来区分一下DS1302和RTC时钟有什么不同,为什么不直接用RTC呢?RTC不是很精准DS1302:用于对时间精度较严格的产品上1.首先看下实物图长什么样2.然后我们来看看原理图长啥样2.1无上拉电阻的配置2.2有上拉电阻就将端口配置成开漏输出就行3.下面来看怎么配置代码由于DS1302的DATA根据时序图,还要配成输入模式所以还得写上区分然后后面的代码就照抄就行,只要会IIC,SPI协议,这些一看就明白是什么意思啦,无非就是移位和最高/最低位判断,然后将DATA拉
使用STM32单片机,下载方式有SWD/JTAG下载方式和串口下载方式,这两种下载方式不尽相同,需要注意区别。现将SW和串口下载方式进行对比。本帖的例子都是我切身遇到过的,曾经困扰过我好几天的问题,希望能对自己和大家学习STM32有所帮助区别:1.SW下载使用至少三根线进行通信,分别是VCC(可不连),GND,SWDIO(PA13),SWCLK(PA14)而串口下载需要四根线,分别是VCC,GND,TXD(PA9),RXD(PA10)注意:SWDIO、SWCLK和TXD、RXD并非单片机上相同引脚,不能使用系统板上引出的的SW接口进行串口通信,也不能使用串口通信接口进行SW方式下载。否则会无法