精华内容
参与话题
问答
  • 详细解析STM32单片机

    千次阅读 2017-02-15 09:35:01
    STM32单片机 STM32的核心Cortex-M3处理器是一个标准化的微控制器结构,希望思考一下,何为标准化?简言之,Cortex-M3处理器拥有32位CPU,并行总线结构,嵌套中断向量控制单元,调试系统以及标准的存储映射。 嵌套...
    STM32单片机
    STM32的核心Cortex-M3处理器是一个标准化的微控制器结构,希望思考一下,何为标准化?简言之,Cortex-M3处理器拥有32位CPU,并行总线结构,嵌套中断向量控制单元,调试系统以及标准的存储映射。
    嵌套中断向量控制器(Nested Vector Interrupt Controller,简称NVIC)是Cortex-M3处理器中一个比较关键的组件,它为基于Cortex-M3的微控制器提供了标准的中断架构和优秀的中断响应能力,为超过240个中断源提供专门的中断入口,而且可以赋予每个中断源单独的优先级。利用NVIC从可以达到极快的中断响应速度,从收到中断请求到执行中断服务的第一条指令仅需12个周期。这种极快的响应速度一方面得益于Cortex-M3内核对堆栈的自动处理机制,这种机制是通过固化在CPU内部的微代码实现的。另一方面,在中断请求连续出现的情况下,NVIC使用一种称为“尾链”的技术,使连续而来的中断可以在6个时钟周期内得到服务。在中断的压栈阶段,更高优先级的中断可以不耗费任何额外的CPU周期就能完成嵌入低优先级中断的动作。具体的细节后面我会继续总结的。用户可以通过设置CPU自动进入低功耗状态,而使用中断来将其唤醒,CPU在中断时间来临之前会一直保持睡眠状态。这个后面我也会再总结。
    Cortex-M3的CPU支持两种运行模式:线程模式(Thread Mode)与处理模式(Handler Mode)并且需要注意的是,这两种模式都拥有各自独立的堆栈。这种设计使得开发人员可以进行更为精密的程序设计,对实时操作系统的支持也就更好了。
    Cortex-M3处理器还包含了一个24位可自动重装载定的定时器,可以为内核(RTOS)提供一个周期中断。
    在指令集方面,ARM7和ARM9都有两种指令集(32位指令集和16位指令集),而Cortex-M3系列处理器支持Thumb-2指令集。由于Thumb-2指令集融合了Thumb指令集和ARM指令集,使得32位指令集的性能和16位指令集的代码密度之间取得了平衡。
    而且,ARM Thumb-2 专门为C/C++编译器设计,这就意味着Cortex-M3系列处理器的开发应用可以全部在C语言环境中完成。
    STM32微控制器的推出标志着ST公司在两条产品主线(低价位主线和高性能主线)上迈出了重大一步。STM32最初发布时有14个不同型号,分为两个版本:最高CPU时钟为72MHZ的“增强型”和最高CPU时钟为36MHZ的“基本型”。这些不同STM32型号里内置的Flash最大可达128KB,SRAM最大为20KB,在STM32发布之初,配置更大Flash,RAM和更复杂外设的版本就已经在规划之中了。不管是什么版本,什么型号的STM32器件,它们在引脚功能和应用软件上是兼容的。这就使得开发人员在使用STM32系列微控制器时,不必改动PCB就可以根据需要随意更换器件型号。
    乍一看STM32的设备配备,与往日熟悉的51单片机倒有几分相似。一般,STM32都会配备常见外设,诸如多通道ADC,通用定时器,I2C总线接口,SPI总线接口,CAN总线接口,USB控制器,实时时钟RTC等。但是,它的每一个外部设备都具有独特之处。例如,12位精度的ADC具备多种转换模式,并带有一个内部温度传感器,带有双ADC的STM32器件,还可以使两个ADC同时工作,从而衍生出了更为高级的9种转换模式;STM32的每一个定时器都具备4个捕获比较单元,而且每个定时器都可以和另外的定时器联合工作以生成更为精密的时序;STM32有专门为电机控制而设的高级定时器,带有6个死区时间可编程的PWM输出通道,同时其带有的紧急制动通道可以在异常情况出现时,强迫PWM信号输出保持在一个预订好的安全状态;SPI接口含有一个硬件CRC单元,支持8位字节和16位半字数据的CRC计算。在对SD或MMC等存储介质进行数据存取时相当有用。
    而且,STM32还包含了7个DMA通道。没恶搞通道都可以用来在设备与内存之间进行8位,16位,32位数据的传输。每个设备都可以向DMA控制器请求发送或者接收数据。STM32内部总线仲裁器和总线矩阵将CPU数据接口和DMA通道之间的连接大大的简化了,这就意味着DMA通道单元是很灵活的其使用方法简单,足以应付微控制器应用中常见的数据传输要求。
    我们前面说过了,STM32是低功耗,高性能的微控制器。在低功耗方面,STM32表现也是不错的。它可以在2V供电的情况下运行,在所有设备同时打开且运行在满速72MHZ主频的情况下,也仅消耗36mA的电流,在与Cortex-M3内核的低功耗模式结合之后,只有2uA的电流消耗。即便外部振荡器处在待启动状态,STM32使用内部8MHZ的RC振荡器也可迅速退出低功耗模式。这种快速进出低功耗模式的特性,也进一步降低了微控制器整体的功率消耗,同时使微控制器仍然可以保持器件的整体高性能。
    在电子领域,对器件的要求精度高是一方面,另一方面,还要求器件稳定性要好,处于可靠性的考虑,STM32配备了一系列硬件来支持对可靠性的高度要求。这些硬件有:一个低电压检测器,一个时钟安全管理系统和两个看门狗定时器。时钟管理系统可以检测到外部主振荡器的失效,并随即安全的将STM32内部8MHZ的RC振荡器切换为主时钟源。两个看门狗定时器中的一个称为窗口看门狗。窗口看门狗必须在事先定义好的时间上下限到达之前刷新,如果过早或过晚的刷新它,将会触发窗口看门狗复位。第二个看门狗称为独立看门狗。独立看门狗使用外部振荡器驱动,该振荡器与主系统时钟是相互独立的,这样即便STM32的主系统时钟崩溃,独立看门狗也能“力挽狂澜”。
    在现代电子设计行业中,有一个问题是无法逃避的,那就是你不得不想方设法提高代码的安全性以防止被破解人员盗用。听师傅说,在极难得电子市场,复制一个芯片只需要几分钟。STM32可以锁住其内部Flash使破解人员无法通过调试端口读取其内容。当Flash的读保护功能开启后,其写保护功能也随之开启。写保护功能常用于防止一些来历不明的代码写入中断向量表。但是,写保护不仅可以保护中断向量表,还可以进一步将其保护范围延伸到整个Flash中的未被使用区域。另外,STM32还有一小块电池备份RAM区,这个RAM区域对应于一个入侵检测引脚应用,当这个引脚上产生电平变化时,STM32会认为遭遇了入侵事件,随即自动将电池备份RAM区的内容全部清除。
    目前好多开发工具都开始支持Thumb-2指令集和STM32系列,即使不支持也没有关系,我们只需要将软件升级一下即可。同时,ST公司还提供了一个设备驱动固件库和一个USB开发应用库,以方便调用。对于STM32来说,一些早期微控制器比如早期的STR7和STR9发布的ANSI C库和源代码都是可移植的。这些程序的接口已经在许多流行的编译工具上得到了整合。相似的,许多开源的或者商用的RTOS,还有一些中间件(比如TCP/IP栈,文件系统)对以STM32系列微控制器来说也是可用的。

    Cortex-M3还带有一个全新调试系统CoreSight。用户可以使用标准的JTAG接口或者双线串行接口通过调试端口(Debug Access Port)实现和CoreSight系统的对接。除了提供调试运行控制服务之外,STM32上的CoreSight还提供断点数据查看功能以及一个指令跟踪器。指令跟踪器可以将用户选择的应用信息上传到调试工具里。从而可以为用户提供额外的调试信息,并且它在软件运行期间同样可以使用。

    最后对广大电子爱好者,推荐几个个很实用的网站:

    edn中国

    http://www.ednchina.com/ 

    爱板网

    http://www.eeboard.com/evaluation/sensorshield-evk-001/?zh

    电子工程世界

    http://www.eeworld.com.cn/

    电子技术应用网

    http://www.chinaaet.com/

    阿莫西电子论坛

    http://www.amobbs.com/index.php

    展开全文
  • 学习STM32单片机,从菜鸟到牛人就是这样简单

    万次阅读 多人点赞 2019-05-21 10:45:40
    我想说,为了学习单片机而去学习单片机的思路不对。 你问,如何系统地入门学习stm32? 本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。 你要考虑的是, 我可以用STM32...

    我想说,为了学习单片机而去学习单片机的思路不对。

    你问,如何系统地入门学习stm32?

    本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。

    你要考虑的是, 我可以用STM32实现什么?

    为什么使用STM32而不是8051? 是因为51的频率太低,无法满足计算需求?是51的管脚太少,无法满足众多外设的IO? 是51的功耗太大,电池挺不住?是51的功能太弱,而你要使用SPI、I2C、ADC、DMA? 是51的内存太小而你要存储的东西太多?

    !
      当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi协议的网卡、要使用串口通信、要使用rtos等等。。。

    从菜鸟到牛人的学习步骤

    我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。

    英文好的同学,请不要以为你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。看英文的速度还是比看中文慢一些,我们要的是最短的时间,而不是追求短时间内记住所有细节。当然,如果是一篇论文,建议看英文原版还是有好处的。stm32学习交流群:197416462 欢迎加群

    STM32处理器进入国内市场时候,ST官方(或者第三方)的推广工作做的非常好。翻译了大量的英文文档,迎合了国内的很多工程师的思维。

    学习的时候,关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。这是针对有充足的时间、精力的同学,建议去下载需要查阅的文档,以获取更多信息。

    阅读《STM32F103xxx参考手册》,一定要注意,不需要全部阅读——没有时间的。建议选读,但是前几章必读。存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。

    后面章节,讲述的是具体的功能模块设计。如果我们用到哪个模块,就可以去阅读哪个模块。比如在使用AD的时候,就需要去阅读第10章ADC。其他不举例。相信每个初学者都有自己的研究方向和判断。

    阅读《STM32固件库使用手册》,主要是为了简化编程。STM32给我们提供了一个非常好的固件函数库,我们只要去调用即可。当然,我们也可以不去碰这些固件库——传说使用它会使得代码效率变低,是有道理的。网络上也出现了很多网友自己写的代码,没有使用带固件库函数。如何取舍,在于您的选择。

    这里我主要强调的是,阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。比如第一章文档和库规范中的命名规则,编码规则,这些都是需要注意的。第二章是最关键的,希望大家熟读。第二章描述了固件库的架构,我们如何去使用固件库的步骤等。有了第二章的基础,我们就可以借助固件库写出自己的代码了。第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。

    关于后面的章节,建议对GPIO库函数、中断部分库函数、复位和时钟设置的库函数要比较熟悉,因为平时经常会用到。

    以上提到的这两个文档,已经足够您看的了,呵呵。希望您能从中获取大量的STM32基础知识。

    设定一个不错的两周入门计划

    (1)这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。只能说,你已经有所了解了。但是,这对我们初学者来说已经足够了。

    (2)这里所谓的“两周”,根据每个人的时间安排不同而不同。

    如果您每天有充足的时间学习,那么可以规定自己尽快地能独立地进行简单的STM32开发。

    如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

    但是建议,不管您有无充足的时间,都必须给自己做一个计划!!
    在这里插入图片描述

    我这里列出一个思路,仅供参考。

    步骤一,安装完STM32学习的软件,比如J-Link、Keilfor ARM(MDK)、ISP(如果需要从串口下载的话)。这些软件安装的详细步骤,可以参考我们推出的相应教程进行。

    步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。这部分的操作,可以参考我们推出的相应的教程进行。

    实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。其实我们还没开始STM32的学习呢!

    步骤三,准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。用于平时查阅。这些文档,在光盘中的芯片手册目录中均可找到。

    步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?

    步骤五,Ucos-II的移植,是否需要试一下?

    恭喜你,至此,你已经可以自如进行独立的开发了。最后一步,给自己一个目标(项目),把它实现出来!

    再次强调,以上只是一个学习STM32的思路,供大家参考。下面列出了前面关键的步骤,希望大家能尽快入门。

    第1步:熟悉调试软件

    对初学者来说,我们至少需要安装两个软件:J-Link驱动软件、MDK(就是原来的Keil)软件。

    这两个软件在安装软件的过程可以查看神舟开发板用户手册,这里不再重复,大家可以参考我们推出的教程《如何安装J-Link驱动软件》以及《如何安装MDK(Keil)软件》。如何验证自己已经熟悉调试软件的操作了呢?很简单,神舟STM32开发板光盘里附带了很多HEX格式的文件,可以选择一些HEX文件,来观察运行结果。

    该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

    第2步:GPIO编程

    这是第一次接触固件库的编程,一定要硬着头皮去了解固件库。建议大家尽量去用固件库。而不是避开固件库自己写代码——这样只能在学习中才会发生。实际的项目中,代码成百上千个,如何一个一个自己写?调用固件库中的函数来完成,才是王者之道。

    GPIO本身的编程实际上很简单:

    1、设置GPIO口的引脚为输入或者输出模式。我们在进行点灯代码的时候,一般设置为推挽输出模式。

    2、操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去调用即可实现对IO口的置1和清零。

    3、实现多种花样的LED闪动,使得自己熟悉GPIO的编程过程。

    该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

    第3步:开始全新的STM32深入研究

    经过以上调试软件的熟悉和GPIO口的编程调试后,相信您已经对STM32有一定的了解。

    至少知道如何利用STM32的固件库去写一个代码。在这个阶段,将要接触到串口编程、TFT液晶屏驱动编程、定时器编程、串行外设接口SPI编程、存储器编程、SD卡与文件系统移植、USB读写、UCOS移植等,有精力还可以研究其他外设。

    展开全文
  • STM32单片机基本知识

    千次阅读 2018-12-14 14:32:05
    小容量产品是指闪存存储器nandflash容量在16K 至32K 字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 中容量产品是指闪存存储器容量在64K 至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微...

    1、MCU容量分类

    小容量产品是指闪存存储器nandflash容量在16K 至32K 字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。

    中容量产品是指闪存存储器容量在64K 至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。

    大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。

    2、启动文件分类

    3、不同容量芯片对应不同的启动文件

    cl: 互联型产品,stm32F105/107系列

    vl:超值型产品,stm32F100

    xl:超高密度(容量)产品,stm32F101/103

     

    ld:低密度产品,Flash < 64KB

    md:中等密度产品,Flash==64KB/128KB //startup_stm32f10x_md.s

    hd:高密度产品,Flash>128KB。 //startup_stm32f10x_hd.s

    4、MCU编号阅读

    STM32 F 103 V E T 6

    ==M3=32bit

    ==F=通用

    ==103=增强

    ==引脚(RVZ)

    ==存储(CDE)--封装...

    ==封装 T

    ==温度 6-7

    展开全文
  • 基于STM32单片机的精彩设计实例合集

    万次阅读 多人点赞 2018-09-18 21:35:28
    STM32系列给MCU用户带来了... stm32的学习资料多是零零散散的,电路城先将stm32资料做了一个整合,也将于STM32单片机的精彩设计实例做了一个汇总,适合新手迅速上手,也适合高手做创作。 1、(毕设)基于STM32多功能M...

    STM32系列给MCU用户带来了前所未有的自由空间,提供了全新的32位产品选项,结合了高性能、低功耗、低电压等特性,同时保持了高集成度和易于开发的优势。不会stm32,那你还不好意思来应聘硬件工程师? stm32的学习资料多是零零散散的,电路城先将stm32资料做了一个整合,也将于STM32单片机的精彩设计实例做了一个汇总,适合新手迅速上手,也适合高手做创作。

    1、(毕设)基于STM32多功能MP3设计(原理图+PCB+源代码)

    还记得你第一个MP3的样子吗,还记得它有哪些功能吗?这个多功能MP3除了具有音乐播放器的基本功能之外,还具有数码相框、电子书、计算器、万年历、照相机、非特定语音识别以及相关设置功能。是不是功能很强大呢!

    http://www.cirmall.com/circuit/2321/details

    2、基于STM32的MiNi简易示波器(原理图+源代码)

    此作品实现了一个简易示波器的功能。基于MiNiSTM32开发板的硬件资源制作。通过片内高速A/D转换器对模拟信号快速采样,存储其数字化信号。并对所存储的数据进行实时快速处理,得到信号的原始波形及其参数。在彩屏上显示波形和波形的一些参数,可根据显示要求,对波形进行缩放。模拟输入电压值范围为0V~3.3V。可通过按键调节显示的单位,即每一小格对应的时间和电压值。

    http://www.cirmall.com/circuit/2220/details

    3、分享基于STM32的心电采集系统(硬件+软件+上位机+设计报告等)

    传统的心电采集系统操作平台基于有线壮志,它不够灵活,没有考虑到与现有的个人通信终端(如移动电话、便携式电话)的融合,且价格昂贵,操作复杂。针对这种状况,本作品以实时性强、价格便宜、操作简单为标准,以可穿戴心电采集系统为设计主题。

    http://www.cirmall.com/circuit/2179/details

    4、STM32音乐频谱(32*64点阵)

    采用STM32F103C8T6作主控芯片,晶振频率8MHZ。音乐频谱增加轨至轨运放显示效果更有动感!FFT运算采用官方的DSP库,效率非常高!适用各种风格音乐!程序采用的是256点FFT,运算一次FFT只需0.437MS,非常的快!通过红外遥控器切换64分频、32分频以及16分频显示,柱条和顶点颜色是随机切换的采用32*64红绿双色点阵,直接输入音频信号即可将美妙的音符转变为跳动的节奏!非常富有节奏感!

    http://www.cirmall.com/circuit/2173/details

    5、基于STM32的H型微型四轴飞行器(硬件+源代码+文档)

    自制微型四轴及遥控器电路设计概述:

    (1)基于STM32开发

    (2)MPU6050传感器模块

    (3)NRF24L01无线通信模块

    (4)双摇杆遥控和体感遥控

    (5)2.4液晶显示

    http://www.cirmall.com/circuit/2088/details

    6、STM32基础资料集合(新手快速上手指南、2.5G学习资料)

    现在出去面试说不会stm32,就不好意思来应聘硬件工程师了。好多人在纠结到底是学ARM,还是学STM32,按照现在来看,完全可以先学stm32了。stm32的学习资料多是零零散散的,电路城先将stm32资料做了一个整合,适合新手迅速上手,也适合高手做创作。

    http://www.cirmall.com/circuit/2003/details

    7、基于STM32+ GPRS+GPS+Google Earth的车载导航定位系统

    本设计主要由监控中心和数据采集两大部分组成。监控中心采用了通用的PC机,由监控人员发送的命令经Internet、GPRS 无线传输给LPC1769处理器,由处理器对监控中心发送来的命令进行判断并决定何时传输采集信息给监控中心;数据采集部分以NXP 公司的LPC1769芯片作为核心控制单元,将GPS 和DS18B20采集回来的信息进行运算与处理,再通过GPRS将经LPC1769芯片处理后的数据通过GPRS网络、Internet 无线传输给监控中心,同时将数据存放到PC机的SQL Server 2000数据库中,并以Google Earth的形式呈献给监控人员。

    http://www.cirmall.com/circuit/1995/details

    8、基于STM32示波器 DDS信号发生器

    该DDS信号发生器采用STM32VET6作为主控制芯片,DDS芯片采用AD9708,外部接口支持手动按键、SD卡、USB接口等。电路主要有STM32最小系统和电源电路以及并行信号转换和外接转接口等组成。

    http://www.cirmall.com/circuit/1911/details

    9、基于STM32多功能虚拟信号分析仪 示波器频谱仪(完整设计资料免费下载)

    该多功能虚拟信号分析仪、示波器频谱仪信号分析仪下位机基于STM32设计,是仪星电子自主研发的虚拟电子测量仪器与处理平台。通过MDSO、HDSO等采集硬件获取信号,借助自主研发的数字信号处理算法将传统的示波器、逻辑分析仪、谱分析仪、数据记录仪、函数发生器、频率计以及滤波器设计和仿真、窗函数等功能高度集成、统一平台方便使用。

    http://www.cirmall.com/circuit/1884/details

    10、基于STM32的数字示波器设计(完整的设计资料)

    功能:1、波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。

      2、SD卡存储:能够存储1S内的波形数据,可以随时调用查看。

      3、数据传输:用C#编写上位机,通过串口完成对下位机的控制。

      4、图形接口: UCGUI

      5、水平扫速: 250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms

      6、垂直电压灵敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div,               1V/div,2V/div, 5V/div

      7、被测信号的各种参数屏幕显示,包括频率、电压峰峰值等。

    http://www.cirmall.com/circuit/619/details

    11、(电子大赛作品)采用STM32实现的智能节能风扇

    风扇可实现的功能

    (1)智能风扇可通过温度检测到即时室温,然后根据室温的高低以及设定的温度对扇叶的转速进行自我调节。

    (2)智能风扇可通过红外传感器感受人的存在,无人时可自动关闭,节省能源。

    (3)通过设定时间,定时关闭风扇

    (4)风扇有普通模式,可以设置为快档,中档,慢档,跟普通风扇一样,不受温度影响。

    (5)本系统装配安卓客户端,可以进行一些相关功能的控制,简单方便。

    http://www.cirmall.com/circuit/1698/details

    12、基于STM32+OV7670的照相机 【原理图、PCB、参考源码】

    分享一个基于STM32的照相机,包括原理图、PCB,参考代码,经过测试之后各部分的功能模块是正常的。大家有兴趣的话可以去开发它。这个相机的模块有,3.2寸320*240、SSD1289驱动的液晶显示器,SRAM,OV7670模块(不带FIFO),快门电路(侧边键盘),双LED闪光灯,BC04蓝牙模块,RCT时钟,DS18B20+SD卡(SDIO)等。

    http://www.cirmall.com/circuit/1700/details

    13、基于STM32F411-NUCLEO-411密码保险箱设计方案

    本方案使用基于STM32F411RE芯片为核心的NUCLEO-411RE板为基础,配合外部的电源管理、按键模块、点阵液晶显示模块(Nokia5110)、语音或蜂鸣器模块、基于SPI总线的存储模块、指纹识别模块(扩展功能)以及门锁驱动模块等一起构成。

    http://www.cirmall.com/circuit/1820/details

    14、基于STM32F103VET6的智能手表设计,附工程文件、项目源码

    智能手表功能简介:

    1.具有手表功能,可以查看当前日期、时间、以及环境的温度和湿度。

    2.可以对当前的使用者运动的情况进行检测,检测运动的步数,运动时间以及运动过程中所消耗的体内能量情况。

    3.可以检测当前使用者是否发生摔倒的情况,若摔倒则会以手机短信的形式发送到另一台固定的手机号码上。

    4.可以进行家电控制的功能,控制空调的开关,温度以及模式,控制大灯,房间,厨房灯的开关和亮度。

    5.可以设置当前整个手表系统的环境,设置日期、时间、计步的灵敏度、蓝牙开关、报警开关、以及屏幕的背光亮度,背光时长。

    http://www.cirmall.com/circuit/1767/details

    15、基于MPU6050+NRF24l01+stm32的空中鼠标

    这个空中飞鼠的原理大概讲一下,就是读取MPU6050中X和Z轴上的角速度值,然后通过NRF24l01发送给接收板,接收板通过NRF24l01接收到数据后,通过stm32内部自带的USB模块将数据发送给电脑,而USB部分的东西基本不用去深入研究,使用的时候只要知道那个鼠标数据的接口函数就可以了。

    http://www.cirmall.com/circuit/1615/details

    16、基于STM32迷宫循迹小车电路

    利用PID,实现不规则路线循迹。资料包括了原理图、源代码、BOM清单以及完整的视频,这么详细的资料,真的是很给力啊,设计者还推出了51版本的,想不想知道两者有什么不同呢?

    http://www.cirmall.com/circuit/1444/details

    17、基于STM32F4的视觉追踪与手机控制运动平台

    本项目实现了基于STM32F4平台的全向运动平台,并实现与手机交互。该平台充分运用了STM32F4 平台的强大性能与平台控制系统的便利性,实现了视觉追踪与控制逻辑生成。采用Android ADK框架进行板间通信,具有较强的兼容性。软件方面STM32平台使用了DCMI、FSMC、USBHost、串口等外设,LCD、摄像头、MOS驱动,整体运行于一个前后台系统;Android部分实现了一个前台交互GUI的Activity与蓝牙通信、传感器读取的后台Service。该项目在工业和民用领域具有较好的实用价值,如自然语言交互机器人、自主移动拍摄平台等。

    http://www.cirmall.com/circuit/1410/details

    18、基于STM32F4的四轴航拍飞行器(开源分享)

    本设计采用STM32F4作为核心处理器,该处理器内核架构ARMCortex-M4,具有高性能、低成本、低功耗等特点。主控板包括传感器MPU6050电路模块、无线蓝牙模块、电机启动模块,电源管理模块等;遥控使用商品遥控及接收机。控制芯片捕获接收机的PPM命令信号,传感器与控制芯片之间采用IIC总线连接,MCU与电调之间用PWM传递控制信号。

    http://www.cirmall.com/circuit/1389/details

    19、基于STM32的无线病房呼叫管理系统(开源分享)

    该无线病房呼叫管理系统由以STM32F4为平台的监控终端以及以CC2530为平台的无线传感网组成。大体分为两个部分:第一部分为由STM32F407和协调器等组成的监控终端,完成整个系统的监控与管理;第二部分为由便携式的病人终端、护士终端及路由节点组成,完成呼叫、服务确认和评价等信息的传递。

    http://www.cirmall.com/circuit/1360/details

    20、智能家居专用-STM32 以太网开发板电路设计(开源带例程)

    这是一款基于STM32 ENC28J60以太网开发板作为终端,采集房间内的温湿度、声音、光线等信号,并通过以太网发送出去。接收端可以为一样的终端,也可以是PC,甚至是一个简单的安卓APP。可以作为智能家居的学习开发板。STM32 ENC28J60 以太网开发板整个电路采用STM32F103RBT6作为主控制芯片,以太网芯片ENC28J60S和NRF24L01无线模块实现无线通讯。

    http://www.cirmall.com/circuit/1313/details

     

    展开全文
  • 学习STM32单片机,从菜鸟到牛人就是这样简单

    万次阅读 多人点赞 2017-11-29 11:09:34
    我想说,为了学习单片机而去学习单片机的思路不对。  你问,如何系统地入门学习stm32?  本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。  你要考虑的是, 我可以...
  • 这篇博客是针对于初学者选择STM32单片机的一些经济实惠的建议。  STM32F1系列的单片机采用的是M3内核的,而STM32F4系列的采用的是M4内核的,相对来说M4内核的性能强于M3内核一些的,且其两者的价格基本差不多。对于...
  • 我想说,为了学习单片机而去学习单片机的思路不对。 你问,如何系统地入门学习STM32? 本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。 你要考虑的是, 我可以用STM32...
  • STM32单片机不同型号之间程序适配

    千次阅读 2019-11-26 21:22:46
    STM32单片机中,同一系列(如F0、F1、F4)不同型号(拿F1来说,如F103xB、F103xC、F103xE等)的芯片FLASH大小、RAM大小、外设会有所差异,但一般在程序编程的时候,这些芯片之间是可以互换的,只需要修改成对应的启动...
  • 单片机STM32芯片手册

    2018-10-30 21:57:02
    较为详细地介绍了单片机STM32的使用方法,由浅入深,适合广大的电子设计爱好者与刚刚入门单片机的新手
  • STM32学习了有一阵子了,现做一个简单的总结。 先上一个跑马灯的小程序,本人学习过程中先学习了一些STM32F103的一些基本知识,但是直到接触到真实的程序后开始思索看代码后一些模糊的概念才发现原先学习的基础感念...
  • stm32单片机串口复用GPIO配置选择GPIO如何确定外设的时钟是APB1还是APB2在这里插入图片描述概念时钟周期 机器周期双工 半双工 单工 串口复用 GPIO配置选择 这里我们选择PA9 PA10的串口复用 有关GPIO—...
  • HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。为什么呢? 因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你...
  • STM32单片机开发初识

    千次阅读 2017-12-25 19:36:50
    因工作需要,接触STM32单片机开发,过程中主要参考百度和自己实际经验,作为总结和以后参考,写此博客 一、开发环境准备 用到的开发环境和开发软件主要有 Keil for ARM,STM32CubeMX。 1、这里主要是针对ARM单片机...
  • 【1】背景意义 近些年随着国民生活水平的提升,以小车为载体的轮式机器人进入了我们的生活,尤其是在一些布线复杂困难的安全生活区和需要监控的施工作业场合都必须依赖轮式机器人的视频监控技术。...
  • STM32单片机最小系统详解

    千次阅读 2020-05-12 08:07:09
    STM32F103RCT6: STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),32位 Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K,封装LQFP64。 STM32...
  • STM32单片机和51单片机区别

    万次阅读 多人点赞 2017-05-26 09:44:10
    单片机简介单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己...51单片机STM32单片机...
  • STM32系列给MCU用户带来了... stm32的学习资料多是零零散散的,电路城先将stm32资料做了一个整合,也将于STM32单片机的精彩设计实例做了一个汇总,适合新手迅速上手,也适合高手做创作。 1、(毕设)基于STM32多功能M...
  • 本文详细介绍STM32单片机启动的过程,既从上电Reset_Handle跳转到main()函数的过程。其中,会着重解释__main的汇编代码 STM32启动过程 1. 从Reset_Handler开始启动 Reset_Handler的代码如下,参考《startup_stm32f10...
  • 基于STM32单片机的车牌识别

    千次阅读 2020-01-13 22:52:48
       使用STM32F103RCT6作为主控,摄像头使用OV7670(带FIFO)。STM32进行了16倍频。识别过程分别为:图像采集,二值化,识别车牌区域,字符分割,字符匹配。 识别过程分析 1.图像采集:    通过OV7670摄像头...
  • 想说,为了学习单片机而去学习单片机的思路不对。 你问,如何系统地入门学习STM32? 本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。 你要考虑的是, 我可以用STM32实现...

空空如也

1 2 3 4 5 ... 20
收藏数 35,494
精华内容 14,197
关键字:

stm32单片机