
STM32f103zet6战舰开发板学习笔记
lbd0125
这个作者很懒,什么都没留下…
展开
-
STM32 DMA的特性
STM32的DMA特性: ·每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通多软件来配置。 ·在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),假如在相等优先权 时由硬件决定(请求0优先于请求1,以此类推)。 ·独立的源和目标数据区的传输宽度(字节8、半字16、全字32),模拟打包和拆包的过程。源和目标地原创 2017-06-10 21:42:51 · 1255 阅读 · 0 评论 -
基于STM32wifi小车制作(五)-基本完工
小车的硬件组装已经基本完成,软件调了一天也成功了。遇到的问题有: 1、OLED显示初始化应该放在GPIO初始化和中断初始化后面,不然程序无法正常启动 2、距离显示和中断一起执行的问题,困扰了一天,最终把中断要执行的程序比如前进、后退、舵机等这些功能放到串口中断服务函数中,在主函数中执行距离显示。 3、最后加了温湿度传感器,也在主函数中进行显示。 4、设置距离限制...原创 2017-05-26 23:52:15 · 4185 阅读 · 3 评论 -
J-Link在线调试stm32开发板,无需多次下载,实现仿真
今天在淘宝买的JLINK仿真器到手了,试了一下,东西是好的,毕竟一分价钱一分货。然后一直有个疑问就是仿真是仿真用的,目的就是减少FLASH的擦写次数,延长单片机的寿命,而 每次用JLINL仿真,在MDK里一直是下载后仿真,这和每次烧写程序没有区别呀?查了十几分钟发现MDK配置不对,改好之后只需下载一次,就可以实现多次仿真,无需多次下载,以下是配置图:第一次下载一定要选中Erase原创 2017-05-16 23:28:47 · 10235 阅读 · 3 评论 -
用usb to ttl线给stm32f103zet6开发板下载程序
手动ISP下载程序,我们已经知道了,控制BOOT0引脚实现。STM32上电,会自动检测BOOT0引脚是什么电平,如果是高电平,等待用户下载程序;如果是低电平,运行用户之前下载到单片机的程序。所以我们需要把BOOT0引脚引出,然后控制其接地或接VCC来下载程序或者运行程序。手动下载步骤: 1、用串口线连接PA9和PA10,共GND,B1与V3.3跳线帽短接 2、用原创 2017-04-25 23:04:19 · 9943 阅读 · 0 评论 -
蜂鸣器实验
1、参考资料 《STM32F1开发指南-库函数版本》-第7章 蜂鸣器实验 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO) 2、蜂鸣器的硬件连接 不能通过IO口直接驱动大功率器件 BEEP引脚输出高电平三极管导通,蜂鸣器发声 R38电阻的作用是防止stm32复位时IO口输出原创 2017-04-25 20:44:13 · 1446 阅读 · 0 评论 -
基于STM32wifi小车制作(四)
今天把底盘和电路板组装到一起,车差不多做好了。遇到的问题有: 1、继电器模块失灵,先前是3.3V供电,电压不够,改成5V供电,问题解决。 2、路由器模块一开始用的7805稳压供电,测试结果小车一控制就掉电,电源电压降得比较厉害,然后用四节五号电池单独供电就好了。 3、拆电路结束后,路由器的GND没有与stm32接在一起,导致小车跑飞,这个注意一下就行。下面是小车的照原创 2017-05-25 23:44:44 · 3842 阅读 · 2 评论 -
STM32 USMART调试组件
1、USMART是由ALIENTEK开发的一个灵巧的串口调试交互组件,通过它你可以通过串口助手调用 程序里的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字(10/16进制)、字符串 、函数入口地址等作为参数),单个函数最多支持10个输入参数,并支持函数返回值显示。 2、USMART的特点 1.可以调用绝大部分用户直接编写的函数。原创 2017-05-15 23:09:39 · 808 阅读 · 0 评论 -
跑马灯-位带操作
1、参考资料 《STM32F1开发指南-库函数版本》-5.2.1小节IO口的位带操作实现 STM32F1xx官方资料: 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO) 《Cortex-M3权威指南(中文)》第5章 位带操作2、位操作的本质目的就是原创 2017-04-24 23:10:51 · 1033 阅读 · 0 评论 -
跑马灯实验-寄存器版
1、参考资料 《STM32F1开发指南-寄存器》-第六章 跑马灯实验6.1小节 《STM32中文参考手册_V10》-8.2 GPIO寄存器描述 7.3.7 APB2外设时钟使能寄存器(RCC_APB2ENR)2、编写步骤: 使能IO口时钟。配置寄存器RCC_APB2ENR。 初始化IO口模式。配置寄存器GPIOx_CRH/CRL原创 2017-04-24 20:55:35 · 748 阅读 · 1 评论 -
窗口看门狗实验
1、参考资料 《STM32F1开发指南-库函数版本》-第12章 窗口看门狗实验 《STM32中文参考手册V10》-第18章 窗口看门狗2、窗口看门狗概述 之所以称为窗口就是其喂狗时间是一个有上下限的范围内(窗口),你可以通过设定相关寄存器, 设定其上限时间(下限固定)。喂狗的时间不能过早也不能过晚。 而独立看门狗原创 2017-05-08 17:44:52 · 1305 阅读 · 0 评论 -
通用定时器基本原理
1、参考资料 《STM32F1开发指南-库函数版本》-第13,14,15章 《STM32中文参考手册V10》-第14章通用定时器2、通用定时器概述 ·STM32定时器 ·三种STM32定时器区别 ·通用定时器功能特点描述 STM32的通用TIMx原创 2017-05-09 15:35:56 · 6073 阅读 · 4 评论 -
STM32DAC的特点
STM32的DAC模块主要特点有: 1、2个DAC转换器:每个转换器对应1个输出通道 2、8位或者12位单调输出 3、12位模式下数据左对齐或者右对齐 4、同步更新功能 5、噪声波形生成 6、三角波形生成 7、双DAC通道同时或者分别转换 8、每个通道都有DMA功能原创 2017-06-08 16:39:01 · 1309 阅读 · 0 评论 -
STM32F10x ADC基本原理简介
1、STM32F10x ADC特点 ·12位逐次逼近型的模拟数字转换器。 ·最多带3个ADC控制器 ·最多支持18个通道,可最多测量16个外部和2个内部信号源。 ·支持单次和连续转换模式 ·转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。 ·通道0到通道n的自动扫描模式原创 2017-06-04 09:52:58 · 1796 阅读 · 0 评论 -
warning: #61-D: integer operation result is out of range
STM32程序编译出现以下问题的解决方法://IO方向设置 #define SDA_IN() {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=8#define SDA_OUT() {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=3结果编译时出现错误 compiling myiic.c... ..\HARDWARE\IIC\m原创 2017-06-19 12:21:23 · 9567 阅读 · 1 评论 -
基于STM32F103WIFI视频小车制作(一)
制作小车的器件都买好了,包括stm32核心板,电机驱动模块,稳压模块等等。总体硬件布局是这样的:核心板+底板模块用胶沾到洞洞板上,各种接口用排针引出来,用标签贴好标识。下面是一些模块图片:原创 2017-05-21 10:52:08 · 4414 阅读 · 0 评论 -
正点原子2.8寸TFTLCD接到stm32f103zet6最小系统板上显示失败解决方法
最近学了一下stm32TFFLCD显示,突发奇想,把它接到最小系统板上,按照电路图接好了之后,程序也是下载的原子的,结果就显示背光,不显示字。搞了两天终于发现复位引脚没接,开发板上的复位和其他外设都是接在一起的,复位引脚是25号,最小系统上没有复位引脚引出来,我就照着电路图焊个引脚出来,效果还是不错的。一开始就是这样,白色。接上复位引脚就好了,完美解决。原创 2017-05-19 11:28:25 · 15929 阅读 · 38 评论 -
按键实验(GPIO输入)
1、参考资料 《STM32F1开发指南-库函数版本》-第8章 按键输入实验 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO) 2、硬件连接 KEY_UP-PA0 KEY0-PE4 KEY1-PE3 KEY2-PE2 3、GPIO输入操作说明 读取IO口原创 2017-04-27 23:48:51 · 2900 阅读 · 0 评论 -
JLINK仿真器用SWD模式下载/调试只需三根线
stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔。试了一下只需三根线就可以下载和调试,分别是1、7、9三根线。下面附图:(20脚实际上可以不接,但是VCC一定要接,不然下载会报错)原创 2017-05-29 23:45:28 · 13867 阅读 · 1 评论 -
STM32定时器中断实验-TIM3
1、参考资料 《STM32F1开发指南-库函数版本》-第13章 定时器中断时实验 《STM32中文参考手册V10》-第14章 通用定时器2、时钟选择 计数器时钟可以由下列时钟源提供: ①内部时钟(CK_INT) ②外部时钟模式1:外部输入脚(TIx) ③外部时钟模式2:外部触发输入原创 2017-05-10 11:35:28 · 8881 阅读 · 1 评论 -
SMT32控制IO时,模式和速度如果一样可以省略
#include "led.h"#include "stm32f10x.h"void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; //定义一个GPIO初始化结构体// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE)原创 2017-04-24 12:30:00 · 583 阅读 · 0 评论 -
FSMC的初识
FSMC(Flexible Static Memory Controller,可变静态存储控制器) ·STM32系列采用的一种新型的存储器扩展技术。 ·方便地进行不同类型大容量静态存储器的扩展。 ·STM32通过FSMC可以与SRAM、ROM、PSRAM、NOR Flash和NANDFlash存储器的引脚直接相连。 ·支持代码从FSMC扩展的外部存储原创 2017-05-15 09:54:50 · 437 阅读 · 0 评论 -
独立看门狗实验
1、参考资料 《STM32F1开发指南-库函数版本》-第11章 独立看门狗实验 《STM32中文参考手册V10》-第17章 独立看门狗2、独立看门狗概述 ·为什么要看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰, 造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控原创 2017-05-05 20:56:15 · 2020 阅读 · 0 评论 -
STM32端口复用
1、参考资料 《STM32F1开发指南-库函数版本》-4.4小节 端口复用和重映射 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO)2、端口复用 STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。 也就是说,一个GPIO如果可以复用为内置外设的功能引脚, 那么当这个GPIO作为原创 2017-05-03 19:08:42 · 1893 阅读 · 0 评论 -
新建基于寄存器版本的工程模板
1、参考资料 STM32F1开发指南-寄存器版本_V3.0 -3.2小节2、开始步骤和新建固件库一样, USER SYSTEM OBJ 1、将程序源码文件中的启动文件添加到USER目录 2、SYSTEM要从寄存器版本的工程中复制过来 3、设置全局宏,STM32F10x_HD 4、添加头文件路径原创 2017-04-21 12:31:50 · 916 阅读 · 0 评论 -
新建基于固件库的工程模板-M3
1、参考资料 《STM32F1开发指南-库函数版本》- 3.3 新建基于固件库的MDK5模板2、开发环境MDK5 固件库版本 V3.53、新建工程 1、新建Template文件夹 2、新建子文件夹USER 3、打开MDK5在USER目录新建一个工程 4、选择CPU,STM32F103ZE 5、在Temla原创 2017-04-21 11:01:01 · 1526 阅读 · 0 评论 -
STM32 PWM输出函数
1、参考资料 《STM32F1开发指南-库函数版本》-第14章 PWM输出实验 《STM32中文参考手册V10》-第14章 通用定时器2、STM32 PWM工作过程 ·STM32 PWM工作过程(通道1为例) CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。原创 2017-05-10 23:05:43 · 6420 阅读 · 1 评论 -
Systick滴答定时器-延时函数
1、参考资料 《STM32F1开发指南-库函数版本》-5.1小节 delay文件夹介绍 《Cortex-M3权威指南-中文》-第8章最后一个小节:Systick定时器2、Systick定时器 Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。 Systick定时器常用来做延时,或者原创 2017-05-02 12:58:03 · 3250 阅读 · 0 评论 -
JLINK程序下载
1、《STM32F1开发指南-库函数版本》-3.4.3 JTAG/SWD程序下载与调试2、JTAG 20根线 JLINK驱动安装 JTAG和SWD模式3、MDK上配置JLINK4、Debug Use JlINK settings 升级固件,不能断网断电 选择SW方式,速度为5M或者10M Flash Download 左侧原创 2017-04-19 23:17:32 · 863 阅读 · 0 评论 -
STM32串口下载
1、参考资料 《STM32F1开发指南-库函数版本》-3.4.2 STM32串口程序下载2、PA9(T) PA10(R) 串口下载引脚3、USB/串口转换电路 CH340 FLYMCU4、下载硬件连接:PA9 和 PA10跳线帽 B0和B1和GND跳线帽5、STM32的ISP下载,只能使用串口1,其他串口只能用作串口通信,不能进行串口下载原创 2017-04-19 22:52:23 · 9954 阅读 · 0 评论 -
stm32时钟系统复习
1、参考资料 《STM32F1开发指南-库函数版本》-4.3小节 时钟系统 《STM32中文参考手册V10》-第六章 复位和时钟控制 RCC2、时钟系统总结 1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 ②、原创 2017-05-01 20:20:39 · 482 阅读 · 0 评论 -
GPIO工作原理(简述)
1、参考资料 《STM32F1开发指南-库函数版本》-第六章 跑马灯实验6.1小节 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO ) 芯片数据手册(datasheet)2、144个脚, STM32F103ZET6 - 一共有7组IO口 - 每组IO口有16个IO - 一共16X7=112原创 2017-04-21 21:39:46 · 5209 阅读 · 0 评论 -
串口通信基本原理
1、参考资料 《STM32F1开发指南-库函数版本》- 5.3 usart串口文件夹介绍 -第9章 串口实验 《STM32中文参考手册V10》-第25章通用同步异步收发器(USART)2、通信接口的背景知识 ·处理器与外部设备通信的两种方式: ·并行原创 2017-05-04 10:48:05 · 5760 阅读 · 0 评论 -
基于STM32wifi小车制作(三)
这次还是硬件电路的焊接,增加了OLED接口,舵机接口,超声波模块接口,还有LED灯珠和继电器连接接口。需要注意的是: 1、舵机采用的是9G舵机,为了防止出现舵机抖动,在信号脚焊了一个4.7K的上拉电阻。 2、舵机供电采用5V供电稳定,如果用3.3V就会造成供电不稳,出现抖动。 3、超声波模块也是5V供电,3.3V测试不行。 4、LED灯珠直接接在5V两端,发现灯原创 2017-05-24 23:51:06 · 5695 阅读 · 3 评论 -
外部中断实验-M3
1、参考资料: 《STM32F1开发指南-库函数版本》-第10章 外部中断实验 《STM32中文参考手册V10》-第9章 中断和事件2、外部中断概述 ·STM32的每个IO都可以作为外部中断输入。 ·STM32的中断控制器支持19个外部中断/事件请求: 线0~15:对应外部IO口的输入中断 线16:连接到PVD原创 2017-05-05 15:26:19 · 657 阅读 · 0 评论 -
跑马灯实验-库函数版
1、参考资料 《STM32F1开发指南-库函数版本》-第六章 跑马灯实验6.1小节 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO)2、WarShip原理图 LED0--PD5 LED1--PE5 共阳极 低电平有效 推挽输出: 可以输出强高低电平,连接数字器件原创 2017-04-23 00:20:18 · 764 阅读 · 0 评论 -
STM32串口寄存器库函数配置方法
1、参考资料 《STM32F1开发指南-库函数版本》- 5.3 usart串口文件夹介绍 -第9章 串口实验 《STM32中文参考手册V10》-第25章通用同步异步收发器(USART)2、串口通信基本原理 ·常用的串口相关寄存器 ·USART_SR原创 2017-05-04 18:02:06 · 3476 阅读 · 0 评论 -
SPI初识
SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。SPI协议概括SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个原创 2017-05-04 17:57:34 · 391 阅读 · 0 评论 -
NVIC中断优先级管理
1、参考资料 《STM32F1开发指南-库函数版本》-4.5 小节 中断优先级分组管理 《STM32中文参考手册V10》-第9章 中断和事件2、NVCI中断优先级分组 ·CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。 ·STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。原创 2017-05-03 20:27:46 · 2158 阅读 · 0 评论 -
NVIC的初识
NVIC全称为Nest Vector Interrupt Controller,人们一般称之为“嵌套中断向量控制器”,是用来管理中断嵌套的,核心任务就是在于其优先级的管理。NVIC给每个中断赋予先占优先级和次占优先级。它们的关系描述如下:1、拥有较高先占优先级的中断可以打断先占优先级较低的中断(类似前面所说的执行优先级)。2、若两个先占优先级的中断同时挂起,则优先执行次占优先级较高的中断。原创 2017-05-01 20:49:32 · 1304 阅读 · 0 评论 -
基于STM32wifi小车制作(二)-电源设计
小车的电源采用三节18650串联的方式供电,电压为12V,并联一个数码管电压表显示,再用7805稳压到5V,用排针引出5V接口,给后期的模块供电。 本次项目采用的stm32芯片,这个芯片的工作电压是3.3V,这里用了降压模块,主要是为了省钱,用已有的模块,还可以用LM1117T芯片稳压到3.3V。3.3V也引出来供电。 报警电路的设计,采用有源蜂鸣器,用NPN原创 2017-05-23 21:21:04 · 3427 阅读 · 0 评论