stm 订阅
扫描隧道显微镜 Scanning Tunneling Microscope 缩写为STM。它作为一种扫描探针显微术工具,扫描隧道显微镜可以让科学家观察和定位单个原子,它具有比它的同类原子力显微镜更加高的分辨率。此外,扫描隧道显微镜在低温下(4K)可以利用探针尖端精确操纵原子,因此它在纳米科技既是重要的测量工具又是加工工具。 展开全文
扫描隧道显微镜 Scanning Tunneling Microscope 缩写为STM。它作为一种扫描探针显微术工具,扫描隧道显微镜可以让科学家观察和定位单个原子,它具有比它的同类原子力显微镜更加高的分辨率。此外,扫描隧道显微镜在低温下(4K)可以利用探针尖端精确操纵原子,因此它在纳米科技既是重要的测量工具又是加工工具。
信息
外文名
Scanning Tunneling Microscope
缩    写
STM
工作模式
恒电流模式,恒高度模式
中文名
扫描隧道显微镜
扫描隧道显微镜简介
STM使人类第一次能够实时地观察单个原子在物质表面的排列状态和与表面电子行为有关的物化性质,在表面科学、材料科学、生命科学等领域的研究中有着重大的意义和广泛的应用前景,被国际科学界公认为20世纪80年代世界十大科技成就之一 [1]  。 隧道针尖的结构是扫描隧道显微技术要解决的主要问题之一。针尖的大小、形状和化学同一性不仅影响着扫描隧道显微镜图象的分辨率和图象的形状,而且也影响着测定的电子态。针尖的宏观结构应使得针尖具有高的弯曲共振频率,从而可以减少相位滞后,提高采集速度。如果针尖的尖端只有一个稳定的原子而不是有多重针尖,那么隧道电流就会很稳定,而且能够获得原子级分辨的图象。针尖的化学纯度高,就不会涉及系列势垒。例如,针尖表面若有氧化层,则其电阻可能会高于隧道间隙的阻值,从而导致针尖和样品间产生隧道电流之前,二者就发生碰撞 [1]  。 制备针尖的材料主要有金属钨丝、铂- 铱合金丝等。钨针尖的制备常用电化学腐蚀法。而铂- 铱合金针尖则多用机械成型法,一般 直接用剪刀剪切 而成。不论哪一种针尖,其表面往往覆盖着一层氧化层,或吸附一定的杂质,这经常是造成隧道电流不稳、噪音大和扫描隧道显微镜图象的不可预期性的原因。因此,每次实验前,都要对针尖进行处理,一般用化学法清洗,去除表面的氧化层及杂质,保证针尖具有良好的导电性 [1]  。由于仪器中要控制针尖在样品表面进行高精度的扫描,用普通机械的控制是很难达到这一要求的。压电陶瓷利用了压电现象。所谓的压电现象是指某种类型的晶体在受 到机械力发生形变时会产生电场,或给晶体加一电场时晶体会产生物理形变的现象。许多化合物的单晶,如石英等都具有压电性质,但广泛被采用的是多晶陶瓷材料,例如钛酸锆酸铅[Pb(Ti,Zr)O3](简称PZT)和钛酸钡等。压电陶瓷材料能以简单的方式将1mV-1000V的电压信号转换成十几分之一纳米到几微米的位移 [1]  。用压电陶瓷材料制成的三维扫描控制器主要有以下几种①三脚架型,由三根独立的长棱柱型压电陶瓷材料以相互正交的方向结合在一起,针尖放在三脚架的顶端,三条腿独立地伸展与收缩,使针尖沿x-y-z三个方向运动。②单管型,陶瓷管的外部电极分成面积相等的四份,内壁为一整体电极,在其中一块电极上施加电压,管子的这一部分就会伸展或收缩(由电压的正负和压电陶瓷的极化方向决定),导致陶瓷管向垂直于管轴的方向弯曲。通过在相邻的两个电极上按一定顺序施加电压就可以实现x-y方向的相互垂直移动。在z方向的运动是通过在管子内壁电极施加电压使管子整体收缩实现的。管子外壁的另外两个电极可同时施加相反符号的电压使管子一侧膨胀,相对的另一侧收缩,增加扫描范围,亦可以加上直流偏置电压,用于调节扫描区域。③十字架配合单管型,z方向的运动由处在“十”字型中心的一个压电陶瓷管完成,x和y扫描电压以大小相同、符号相反的方式分别加在一对x、-x和y、-y上。这种结构的x-y扫描单元是一种互补结构,可以在一定程度上补偿热漂移的影响。除了使用压电陶瓷,还有一些三维扫描控制器使用螺杆、簧片、电机等进行机械调控。由于仪器工作时针尖与样品的间距一般小于1nm,同时隧道电流与隧道间隙成指数关系,因此任何微小的震动都会对仪器的稳定性产生影响。必须隔绝的两种类型的扰动是震动和冲击,其中震动隔绝是最主要的。隔绝震动主要从考虑外界震动的频率与仪器的固有频率入手 [1]  。扫描隧道显微镜是一个纳米级的随动系统,因此,电子学控制系统也是一个重要的部分。扫描隧道显微镜要用计算机控制步进电机的驱动,使探针逼近样品,进入隧道区,而后要不断采集隧道电流,在恒电流模式中还要将隧道电流与设定值相比较,再通过反馈系统控制探针的进与退,从而保持隧道电流的稳定。所有这些功能,都是通过电子学控制系统来实现的。图1给出了扫描隧道显微镜电子学控制控制系统的框图 [1]  。在扫描隧道显微镜的软件控制系统中,计算机软件所起的作用主要分为“在 线扫描控制”和“离线数据分析”两部分。在线扫描控制①参数设置功能在扫描隧道显微镜实验中,计算机软件主要实现扫描时的一些基本参数的设定、调节,以及获得、显示并记录扫描所得数据图象等。计算机软件将通过计算机接口实现与电子设备间的协调共同工作。在线扫描控制中一些参数的设置功能如下:⑴“电流设定”的数值意味着恒电流模式中要保持的恒定电流,也代表着恒电流扫描过程中针尖与样品表面之间的恒定距离。该数值设定越大,这一恒定距离也越小。测量时“电流设定”一般在“0.5-1.0nA” 范围内。⑵“针尖偏压”是指加在针尖和样品之间、用于产生隧道电流的电压真实值。这一数值设定越大,针尖和样品之间越容易产生隧道电流,恒电流模式中保持的恒定距离越大,恒高度扫描模式中产生的隧道电流也越大。“针尖偏压”值一般设定在“50-100mV”范围左右。⑶“Z电压”是指加在三维扫描控制器中压电陶瓷材料上的真实电压。Z电压的初始值决定了压电陶瓷的初始状态,随着扫描的进行,这一数值要发生变化。“Z电压”在探针远离样品时的初始值一般设定在“-150.0mV— -200.0mV”左右 [3]  。⑷“采集目标”包括“高度”和“隧道电流”两个选项,选择扫描时采集的是样品表面高度变化的信息还是隧道电流变化的信息。⑸“输出方式”决定了将采集到的数据显示成为图象还是显示成为曲线。⑹“扫描速度”可以控制探针扫描时的延迟时间,该值越小,扫描越快。⑺“角度走向”是指探针水平移动的偏转方向,改变角度的数值,会使扫描得到的图象发生旋转。⑻“尺寸”是设置探针扫描区域的大小,其调节的最大值有量程决定。 尺寸越小,扫描的精度也越高,改变尺寸的数值可以产生扫描图象的放大与缩小的作用。⑼“中心偏移”是指扫描的起始位置与样品和针尖刚放好时的偏移距离,改变中心偏移的数值能使针尖发生微小尺度的偏移。中心偏移的最大偏移量是当前量程决定的最大尺寸。⑽ “工作模式”决定扫描模式是恒电流模式还是恒高度模式。⑾ “斜面校正”是指探针沿着倾斜的样品表面扫描时所做的软件校正。⑿ “往复扫描”决定是否进行来回往复扫描。⒀“量程”是设置扫描时的探测精度和最大扫描尺寸的大小。这些参数的设置除了利用在线扫描软件外,利用电子系统中的电子控制箱上的旋钮也可以设置和调节这些参数 [1]  。②马达控制当使用软件控制马达使针尖逼近样品时,首先要确保电动马达控制器的红色按钮处于弹起状态,否则探头部分只受电子学控制系统控制,计算机软件对马达的控制不起作用。马达控制软件将控制电动马达以一个微小的步长转动,使针尖缓慢靠近样品,直到进入隧道区为止。马达控制的操作方式为:“马达控制”选择“进”,点击“连续”按钮进行连续逼近,当检测到的隧道电流达到一定数值后,计算机会进行警告提示,并自动停止逼近,此时单击“单步”按钮,直到“Z电压”的数值接近零时停止逼近,完成马达控制操作 [1]  。离线数据分析是指脱离扫描过程之后的针对保存下来的图象数据的各种分析与处理工作。常用的图象分析与处理功能有:平滑、滤波、傅立叶变换、图象反转、数据统计、三维生成等。⑴平滑,平滑的主要作用是使图象中的高低变化趋于平缓,消除数据点发生突变的情况。⑵滤波,滤波的基本作用是可将一系列数据中过高的削低、过低的添平。因此,对于测量过程中由于针尖抖动或其它扰动给图象带来的很多毛刺,采用滤波的方式可以大大消除。⑶傅立叶变换,快速傅立叶变换对于研究原子图象的周期性时很有效。⑷图象反转,将图象进行黑白反转,会带来意想不到的视觉效果。⑸数据统计,用统计学的方式对图象数据进行统计分析。⑹三维生成,根据扫描所得的表面型貌的二维图象,生成直观美丽的三维图象。大多数的软件中还提供很多其它功能,综合运用各种数据处理手段,最终得到自己满意的图象 [1]  。
收起全文
精华内容
下载资源
问答
  • 携手STM32CubeMX玩转STM32

    万人学习 2019-04-19 09:30:00
    本课程教大家如何利用STM32CubeMX玩转STM32(STM32CubeMX支持的所有型号MCU都适用于本课程)。课程内容分为基础内容和扩展内容,例如:讲解串口时会扩展开讲Xmodem通信协议,讲解ADC/DAC时会扩展讲傅里叶计算,讲解...
  • STM32全系列 Keil MDK pack离线包 注:由于上传大小限制,除了F0和F1的包,其他的提供链接通过百度云下载。 包括以下包,当前最新版本(20200115) Keil.STM32F0xx_DFP.2.0.0.pack Keil.STM32F1xx_DFP.2.3.0....
  • STM32】HAL库 STM32CubeMX系列学习教程

    万次阅读 多人点赞 2020-02-07 09:15:30
    STM32CubeMX 简介 1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高...

    所有代码工程文件已经上传:

    链接:https://pan.baidu.com/s/1A8pY0Oz7Bba15CfPPD8fMQ 
    提取码:zzzz

    STM32CubeMX 简介


     1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 

    在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等  省去了我们配置各种外设的时间,大大的节省了时间,

    为什么是CubeMX

    并且随着ST停止了标准库的更新,ST官方大力推荐CubeMX与HAL库的使用,虽然现在还是标准库的主场,但是CubeMX的使用率在逐年提高,所以学习下CubeMX的基本使用也是我们需要掌握的技能之一

    本系列学习特点

    在学习HAL库与CubeMX的时候,很多初学者对与各种配置选项可能感觉无从下手,看得懂却又不知道原理,想要配置自己需要的功能又不知道应该如何配置,同时很多人从标准库转到HAL库对于各种函数的应用不太了解,

    在标准库里直接有很多的例程,很多甚至大部分同学配置时只是基于例程修改,整个外设的完整配置流程却不能了解,觉得自己掌握了这个外设,真正的配置与原理却不知道,成为了一个应用者,而不是一个嵌入式开发者,这样子是很不好的习惯,

    我们本系列的学习教程,是从 外设原理+STM32CubeMX配置+HAL库函数讲解      三个方面入手讲解

    • 首先讲解对应外设原理,以及外设的各种功能选项和原理,让你了解外设的整个工作流程
    • 随后基于CubeMX配置对应外设功能,将CubeMX上每个对应外设的选项和上面的原理讲解结合起来,让你更好的理解!
    • 最后基于HAL库,讲解对应外设的函数,并实现一个小功能,让你看懂HAL库的使用

    在配置完一套对应外设之后,你会详细地了解外设的配置选项,配置原理,这时候再去看标准库,也会有事半功倍的效果,你会更加详细地了解标准库的各种配置

    【STM32】STM32 CubeMx使用教程一--安装教程  

      【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)                                              

     【STM32】HAL库 STM32CubeMX教程三----外部中断(HAL库GPIO讲解)                                       

      【STM32】HAL库 STM32CubeMX教程四---UART串口通信详解                                                   

    【STM32】HAL库 STM32CubeMX教程五----看门狗(独立看门狗,窗口看门狗)                                 

     【STM32】HAL库 STM32CubeMX教程六----定时器中断                                                               

     【STM32】HAL库 STM32CubeMX教程七---PWM输出(呼吸灯)                                                      

     【STM32】HAL库 STM32CubeMX教程八---定时器输入捕获                                                         

     【STM32】HAL库 STM32CubeMX教程九---ADC                                                                            

     【STM32】HAL库 STM32CubeMX教程十---DAC                                                                           

      【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)                                     

      【STM32】HAL库 STM32CubeMX教程十二---IIC(读取AT24C02 )

    持续更新中....     

    其他:

    【STM32】系统时钟RCC详解(超详细,超全面)

    【STM32】STM32F4 GPIO八种模式及工作原理详解

    【STM32】STM32CubeMX教程--功能介绍

    【STM32】 定时器---正交解码编码器模式详解

    STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA

    PWM原理 PWM频率与占空比详解

    IIC原理超详细讲解---值得一看

    剩余的ADC RTC时钟,DMA can通信 iic  等 近期会更新,欢迎关注博主

    展开全文
  • 文档包括开发STM32查阅最频繁的2个文件(均为中文版),分别为STM32固件库函数说明和STM32F10XXXX数据手册。其中STM32固件库函数说明详尽地介绍了每个外设初始化配置的函数使用说明,并包括大量的使用示例,直观易懂...
  • STM32CubeMX用户手册中文版

    热门讨论 2018-05-06 14:02:54
    STM32CubeMX 中文 UM1718翻译版 重新排版 带书签 STM32CubeMX是32位ARM®Cortex®STM32微控制器的图形工具。 它是STMCube™计划的一部分(请参阅第一节),可以作为独立的应用程序使用,也可以作为集成开发环境(IDE...
  • STM32F407中文手册

    热门讨论 2017-10-16 17:09:01
    STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。 STM32F405xx/07xx、STM32F415xx/17xx、STM32...
  • Version: 2.3.0 (2018-11-05) Keil.STM32F1xx_DFP.2.3.0.pack Added DBGMCU INI files for setting up debug configuration. Fixed case insensitive include of device header file (fixing build error on ...
  • STM32】HAL库 STM32CubeMX教程七---PWM输出(呼吸灯)

    万次阅读 多人点赞 2019-08-14 15:26:21
    本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片:STM32F407ZET6/STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32...

    前言:

    本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用

     

    所用工具:

    1、芯片: STM32F407ZET6/ STM32F103ZET6

    2、STM32CubeMx软件

    3、IDE: MDK-Keil软件

    4、STM32F1xx/STM32F4xxHAL库 

    知识概括:

    通过本篇博客您将学到:

    PWM工作原理

    STM32CubeMX创建PWM例程

    HAL库定时器PWM函数库

    PWM创建呼吸灯

     

    什么是PWM

    ​ 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 ​

     

    PWM工作原理

    SMT32F1系列共有8个定时器:

    高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5);基本定时器(TIM6、TIM7)。

    SMT32F4系列共有15个定时器:

    高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5、TIM9~TIM14);基本定时器(TIM6、TIM7)。

     

    STM32的每个通用定时器都有独立的4个通道可以用来作为:输入捕获、输出比较、PWM输出、单脉冲模式输出等。

    STM32的定时器除了TIM6和TIM7(基本定时器)之外,其他的定时器都可以产生PWM输出。其中,高级定时器TIM1、TIM8可以同时产生7路PWM输出

    原理讲解:

    下图为向上计数模式:


    • 在PWM输出模式下,除了CNT(计数器当前值)、ARR(自动重装载值)之外,还多了一个值CCRx(捕获/比较寄存器值)。
    • 当CNT小于CCRx时,TIMx_CHx通道输出低电平;
    • 当CNT等于或大于CCRx时,TIMx_CHx通道输出高电平。

    ​PWM的一个周期

    •     定时器从0开始向上计数
    •     当0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平
    •     t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出高电平
    •     当TIMx_CNT值达到ARR时,定时器溢出,重新向上计数...循环此过程
    •     至此一个PWM周期完成

    总结:

    每个定时器有四个通道,每一个通道都有一个捕获比较寄存器, 

    将寄存器值和计数器值比较,通过比较结果输出高低电平,便可以实现脉冲宽度调制模式(PWM信号)

     

    TIMx_ARR寄存器确定PWM频率,

    TIMx_CCRx寄存器确定占空比

     

    详解:

    配置脉冲计数器TIMx_CNT为向上计数,而重载寄存器TIMx_ARR配置为N,即TIMx_CNT的当前计数值数值X在TIMxCLK时钟源的驱动下不断累加,当TIMx_CNT的数值X大于N时,会重置TIMx_CNT数值为0重新计数
    而在TIMxCNT计数的同时,TIMxCNT的计数值X会与比较寄存器TIMx_CCR预先存储了的数值A进行比较,当脉冲计数器TIMx_CNT的数值X小于比较寄存器TIMx_CCR的值A时输出高电平(或低电平),相反地,当脉冲计数器的数值X大于或等于比较寄存器的值A时,输出低电平(或高电平)。
    如此循环,得到的输出脉冲周期就为重载寄存器TIMx_ARR存储的数值(N+1)乘以触发脉冲的时钟周期,其脉冲宽度则为比较寄存器TIMx_CCR的值A乘以触发脉冲的时钟周期,即输出PWM的占空比为A/(N+1)

     

    如果初学者,看标注的红色字体,就大体可以理解

    PWM的工作模式:

    • PWM模式1(向上计数)  :计数器从0计数加到自动重装载值(TIMx_ARR),然后重新从0开始计数,并且产生一个计数器溢出事件   
    • PWM模式2(向下计数)  :计数器从自动重装载值(TIMx_ARR)减到0,然后重新从重装载值(TIMx_ARR)开始递减,并且产生一个计数器溢出事件   

    设置寄存器TIMx_CCMR1的OC1M[2:0]位来确定PWM的输出模式:

    • PWM模式1:在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。
    • PWM模式2:在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。

     

      在两种模式下TIMx_CNT(计数器当前值)与TIMx_CCR1(捕获/比较值)   只是决定是有效电平还是无效电平   

      有效电平可以是高电平也可以是低电平这需要结合CCER寄存器的CC1P位的值来确定。

     

    CCER

    ​ TIMx_CCER寄存器的CCCP位,设置输入/捕获通道1输出极性  

    •  0:高电平为有效电平     
    • 1:低电平为有效电平

    若为向上计数,且CCER寄存器的CC1P位为0,则当TIMx_CNT<TIMx_CCR1时,输出高电平;

    同样向上计数,且CCER寄存器的CC1P位为1,则当TIMx_CNT<TIMx_CCR1时,输出低电平。

    PWM的工作过程

    1、CCR1寄存器:捕获/比较值寄存器:设置比较值;

    计数器值TIMx_CNT与通道1捕获比较寄存器CCR1进行比较,通过比较结果输出有效电平和无效电平    

    • OC1REF=0 无效电平    
    • OC1REF=1 无效电平

    2、TIMx_CCMR1寄存器:OC1M[2:0]位:用于设置PWM模式

    • 110:PWM模式1
    • 111:PWM模式2

    3、CCER寄存器:CC1P位:输入/捕获1输出极性。

    •  0:高电平为有效电平     
    • 1:低电平为有效电平


    4、CCER寄存器:CC1E位:输入/捕获1输出使能。

    • 0:关闭使能
    • 1:打开使能

    5、输出电平信号

    TIM定时器的四路通道TIMx_CHx输出PWM

    摘自: 《STM32中文参考手册》254页  通用定时器框图

     

    STM32定时器输出通道引脚

     具体不同定时器对应引脚在对应芯片数据手册的引脚说明(pin description) 中查看

    这里我们以TIM3_CH1  PA6作为讲解

    工程创建

    1设置RCC

    设置高速外部时钟HSE 选择外部时钟源

    2设置定时器

    • 1.选择TIM3 
    • 2.设置定时器时钟源为内部时钟源
    • 设置定时器CH1为PWM模式
    • 3.对应管脚自动设置为复用模式
    • 4.可自行选择是否开启定时器中断

    Channel1~4  就是设置定时器通道的功能     (输入捕获、输出比较、PWM输出、单脉冲模式)

     

    • Mode   选择PWM模式1
    • Pulse(占空比值)  先给0
    • Fast Mode   PWM脉冲快速模式    :  和我们配置无关,不使能
    • PWM 极性:   设置为低电平        PS:  由于LED是低电平点亮,所以我们把极性设置为low

    在 Parameter Settings 页配置预分频系数为 71,计数周期(自动加载值)为 499,定时器溢出频率,即PWM的周期,就是 72MHz/(71+1)/(499+1) = 2kHz

    PWM频率:

    Fpwm =Tclk / ((arr+1)*(psc+1))(单位:Hz)

    • arr 是计数器值
    • psc 是预分频值

    占空比:

    • duty circle = TIM3->CCR1 / arr(单位:%)
    • TIM3->CCR1  用户设定值

    比如  定时器频率Tclk = 72Mhz  arr=499   psc=71     那么PWM频率就是720000/500/72=  2000Hz,即2KHz

    arr=499,TIM3->CCR1=250     则pwm的占空比为50%  

    改CCR1可以修改占空比,修改arr可以修改频率

    3时钟源设置

    • 1选择外部时钟HSE 8MHz   
    • 2PLL锁相环倍频72倍
    • 3系统时钟来源选择为PLL
    • 4设置APB1分频器为 /2

    32的时钟树框图  如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》

    4项目文件设置

    • 1 设置项目名称
    • 2 设置存储路径
    • 3 选择所用IDE

    5创建工程文件

    然后点击GENERATE CODE  创建工程

    配置下载工具

    新建的工程所有配置都是默认的  我们需要自行选择下载模式,勾选上下载后复位运行

     

    例程详解:

    这里我们创建一个呼吸灯的例程

    定义变量:

      /* USER CODE BEGIN 1 */
        uint16_t pwmVal=0;   //PWM占空比  
        uint8_t dir=1;    
      /* USER CODE END 1 */

    然后使能TIM3的PWM Channel1 输出。

      /* USER CODE BEGIN 2 */
      HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
      /* USER CODE END 2 */
    

    在while循环中添加代码:

      while (1)
      {
      /* USER CODE END WHILE */
    
      /* USER CODE BEGIN 3 */
    
    	  while (pwmVal< 500)
    	  {
    		  pwmVal++;
    		  __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwmVal);    //修改比较值,修改占空比
    //		  TIM3->CCR1 = pwmVal;    与上方相同
    		  HAL_Delay(1);
    	  }
    	  while (pwmVal)
    	  {
    		  pwmVal--;
    		  __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwmVal);    //修改比较值,修改占空比
    //		  TIM3->CCR1 = pwmVal;     与上方相同
    		  HAL_Delay(1);
    	  }
    	  HAL_Delay(200);
    
      /* USER CODE END 3 */
     }

    或者直接修改CCRx寄存器的值

    htim3.Instance->CCR1 = 300;

     通过 htim3.Instance->即可访问与定时器相关寄存器

    展开全文
  • stm32f103官方固件库+STM32中文参考手册 所有型号中文参考手册
  • 第一次弄STM32,觉着HAL库很好用,新手入门很快,文档里面有详细的函数使用描述
  • STM32F407 cortex-m4的高端芯片,常用于嵌入式产品中,内含DSP,是做前端设备的流行芯片。亲测好用,挺不错的资源,需要的人,就快来下载吧!很有用的!
  • STM32F103中文手册

    2018-04-17 14:48:57
    STM32F103系列的中文手册,有详细的说明和各个寄存器的中文介绍,很适合刚入门使用ST芯片的工程师。
  • keil5软件需要安装STM32芯片开发包,在此提供STM32F1系列,如STM32F100,STM32F101,STM32F102,STM32F103等芯片包
  • GD32 介绍与 STM32 兼容性汇总。STM32的代码直接在GD32上运行需要小部分的修改。按教程做对应修改就行哈。
  • stm32 单片机为核心,设计了一套基于GPRS无线网络的智能家居控制系统。该系统以GPRS通信为基础、能通过无线通信技术实时监控家居的温湿度状态,并能自由控制家居的电器的开关操作。同时集成光强采集电路,能自动...
  • 里面有两个文件夹,第一个是基础版本,第二个可以触屏改变采样频率,进而优化频率分辨率,使频谱分析更精确。频谱分析(50Hz~200Hz,其他范围内应该也可以)包括了基频,3,5,7次谐波的峰值,波形识别可识别正弦,...
  • 这是公司实际项目工程(编译器用DK5),STM32F4x7+freertos+lwip+ssl+MQTT,其中MQTT自己花了一个礼拜移植,可以同时发布消息和订阅消息(发布主题:DongLuTest,订阅主题:mymqttsubtest),经过长期测试MQTT运行...
  • STM32CubeMX中文版

    2017-11-16 17:15:27
    STM32CubeMX用于STM32的配置和初始化C代码生成帮助文档 UM1718官方文档中文翻译版 帮助各位快速配置CubeMX
  • STM32F4xx_DFP.2.13.0

    热门讨论 2018-09-18 16:03:05
    KEIL V5中要用到的STM32F4xx系列的器件库Pack,DFP.2.13.0
  • 标签:STM32、 STM32CubeMX、 LL库、 HAL库 一、写在前面 上一篇文章让你入门STM32CubeMX,你可能还是会觉得心里摸不到底。本文就从另外一个角度带你了解STM32CubeMX。 本文讲述STM32CubeMX各主...

    说明:

    本文原创作者『strongerHuang

    首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop

    标签:STM32、 STM32CubeMX、 LL库、 HAL库

     

    一、写在前面

    上一篇文章让你入门STM32CubeMX,你可能还是会觉得心里摸不到底。本文就从另外一个角度带你了解STM32CubeMX。

    本文讲述STM32CubeMX各主要界面内容,让你对STM32CubeMX这个工具有一个比较直观的认识。

     

    二、主界面

    打开STM32CubeMX,呈现的界面大致如下图,界面比较简洁。我把它划分为六大板块。

     

    1.菜单 STM32CubexMX V4版本(前面老版本)有很多功能做在菜单里面,但V5版本优化(删减)菜单,把一些常用功能做在相应界面里面了。

    菜单内容后面会单独详细讲述。

    2.社交链接 facebook(脸书)、youtube、twitter(推特)以及ST社区、官网信息等。

    相信大家都能理解,就像国内微信、微博、QQ等与ST相关的一些社交链接。

    3.面包屑导航 这个名词可能很多人没听过,英文名叫Bread crumbs,中文名叫面包屑导航。当然,可以理解为导航栏。

    进入配置界面,如下图:

     

    4.已存在工程 ·Recent Opened Projects:最近打开的项目 ·Other Projects:打开其他已存在工程

    5.新建工程 ·Start My project from MCU:从MCU开始我的项目 ·Start My project from STBoard:从ST开发板开始我的项目 这里是进入MCU/BOARD选择器,选择MCU型号和ST开发板型号(其中界面下面详细描述)。

    6.软件管理 ·CHECK FOR UPDATE:检查更新 ·INSTALL/REMOVE:安装/移除软件

    这里其实就是安装的软件进行管理,包含HAL库。安装的过程可以参看文章: STM32CubeMX系列教程02_STM32CubeMX工具、HAL库下载、安装说明

     

    三、MCU/BOARD选择器界面

    MCU和BOARD选择器的界面类似,从上面主界面第5点新建工程进入。

    选择器主要功能是:通过输入MCU/BOARD型号,或者按照特定条件(如MCU系列、FLASH大小、外设控制器数量等)来筛选符合自己条件的MCU/BOARD。

    这里的选择器可以当做STM32的选型工具。

     

    1.MCU和BOARD选择器切换 在这两种选择器之间进行切换,两种选择器界面包含类似。

    2.选择器“筛选” 筛选的方式有两种: A.通过输入型号 B.通过条件筛选

    3.描述 ·Features:选中型号MCU/板卡特征 ·Block Diagram:框图 ·Doc&Resources:文档和资源 ·Datasheet:数据手册下载(下载PDF文档) ·Buy:购买(跳入官网)

    4.MCU/BOARD列表 通过输入型号,或条件筛选之后,符合条件的MCU/BOARD列表。

    **选择器界面**动画效果:

    四、Pinout引脚输出配置

    这里翻译为引脚输出配置其实有点不正确,因为这里包含系统、外设资源、以及中间件等一些独立模块的配置

     

    这一板块的信息量比较大,使用STM32CubeMX的重点和难点大部分在这一界面

    我主要把它划分为三块:资源、配置和引脚/系统预览。可能不同系列、不同型号的MCU这里的配置信息都不同。

    这里不详细讲述,后期我会针对具体MCU实例的进行详细讲述

     

    五、时钟配置

    STM32各个系列的时钟都比较强大(请看时钟树),同时,各系列,各型号的时钟树也可能有差异。

    STM32CubeMX的时钟配置具有强大的一个功能,重点是图形化界面,让人一看就明白。

    同时,时钟配置里面有各种提示信息:比如可选择的分频倍频、最大时钟频率、警告错误提示等(如下图)。

     

    六、工程管理

    这一章节内容对工程相关的配置比较重要,大部分可以默认。主要有三部分内容:工程管理、代码生成、高级设置。

    这里内容我后面单独写一篇文章详细讲述。

     

    七、工具

    目前工具这里包含两部分内容:PCC(Power Consumption Calculator)功耗计算、DDR Test Suite

     

    PCC这个功能应该用的比较多,开发低功耗相关产品这个功能可以用上这个工具。

    DDR Test Suite是一个目前(19年3月)只针对于STM32MP1系列,其他MCU没有这个功能。

    工具这项功能后期详细讲述。

     

    八、说明

    1.该文档仅供个人学习使用,版权所有,禁止商用。

    2.本文由我一个人编辑并整理,难免存在一些错误。

    3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『嵌入式专栏』,关注微信公众号回复【STM32CubeMX系列教程】即可查看全系列教程。

     

    九、最后

    我的知乎: strongerHuang
    我的博客: www.strongerhuang.com

    关注微信公众号『strongerHuang』,在底部菜单中查看更多精彩内容!

    展开全文
  • 时钟功能 还有闹钟功能,温湿度功能,整点报时功能 你值得拥有
  • modbus主机程序,基于STM32的工程,有发送,有接收处理,结构清晰,内容完整,可以借鉴。适当修改后可作为模板。
  • 由于STM32CubeMX和STM32CubeProg是基于java环境运行,所以要安装JRE配置Java环境,由于我的电脑之前安装eclipse时已经配置过java环境,所以没有做JRE安装教程,具体教程可去网上找一下。(一定要先安装JRE!!!!!...

    工具

    STM32CubeMX官网下载地址
    STM32CubeProg官网下载地址

    安装JRE

    由于STM32CubeMX和STM32CubeProg是基于java环境运行,所以要安装JRE配置Java环境,由于我的电脑之前安装eclipse时已经配置过java环境,所以没有做JRE安装教程,具体教程可去网上找一下。(一定要先安装JRE!!!!!

    STM32CubeMX下载安装

    1.点击上述链接进入官网
    在这里插入图片描述
    在这里插入图片描述
    【注意】下载之前需要注册ST官方账号,使用邮箱注册即可,注册后登录,方可下载。
    2.解压压缩包,安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.下载HAL固件库
    首先打开STM32CubeMX
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.新建一个工程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    至此,STM32CubeMX就算安装完成,具体的使用方法在后边实际例程中进行演示。

    STM32CubeProgrammer安装

    1.单击上述链接进入官网下载
    在这里插入图片描述
    在这里插入图片描述
    下载时和cubemx一样,需要登录
    2.解压、安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    至此,STM32CubePro安装完成。

    最后

    如果安装中遇到什么问题可以留言,也可以百度查找解决方法。另外关于True Studio的安装和配置教程会在之后的文章中更新,网上也有很多关于它的安装配置教程,大家可以查一下。

    展开全文
  • stm32l151c8t6开发板全套例程

    热门讨论 2018-04-28 12:08:01
    stm32l151c8t6开发板全套程序,包含ADC、GPIO低功耗模式,网卡控制等功能。keil5可以直接编译不加任何修改,其他版本没试过。
  • stm32学习(二)STM32F103ZET6内部资源讲解

    万次阅读 多人点赞 2019-09-25 20:22:45
    大家好,今天和大家分享一下STM32F103ZET6的版载资源,希望和大家一起学习,一起进步。当然本人目前是一个对库函数版本的初学者,如果谈论不妥的地方,希望大家能够及时提出,批评指正,本人将不胜感激。非常感谢! ...
  • STM32伺服电机控制器

    2018-01-23 10:06:40
    STM32伺服电机控制,串口,支持G代码解析,移植方便,
  • STM32实现GPRS与服务器数据传输 相关源代码

    千次下载 热门讨论 2017-02-20 17:17:35
    前段时间将自己用STM32实现GPRS与服务器数据传输经验总结发到了CSDN的博客上,具体链接如下:http://blog.csdn.net/cc214042/article/details/53152329,有很多朋友问我要相关的源代码,我整理了一下,把安信可官方...
  • 此资源为基于STM32F407(正点原子-探索者)开发板所做的简易示波器样例。PA4 为DAC正弦波输出引脚 PA5为ADC输入引脚。程序下载进开发板后,将两者短接,可直接在TFT液晶屏幕上看到波形输出。
  • STM8、STM32全系列AD封装库,包括STM8、STM32F0~F4,STM32L1、W系列的全部原理图符号和PCB封装,很实用
  • STM32F030& 051青风全套教程和程序例程

    热门讨论 2018-10-26 09:33:56
    STM32F030& 051青风全套教程和程序例程,有兴趣的人可以下载,便于学习交流。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 271,398
精华内容 108,559
关键字:

stm