tag 标签: 芯达

相关资源
  • 所需E币: 5
    时间: 2019-12-24 14:32
    大小: 23.5KB
    上传者: rdg1993
    芯达STM32入门系列教程之十二累了吧。歇息一下,拜拜佛,要相信这个世界好人多。善待你的同事,善待你的部下。因为他们是你的朋友,他们会帮助你。……
  • 所需E币: 5
    时间: 2019-12-24 14:32
    大小: 437KB
    上传者: 978461154_qq
    芯达STM32入门系列教程之十一[pic][pic]STM32入门系列教程Systick的编程[pic](2010-04-25)[pic]提到systick不得不抱怨以下STM32的用户手册,既然提供了systick的功能,为啥手册里却只提了一下?后来笔者上网搜的时候,才发现,抱怨的不仅仅是我一个人。闲话不说,下面将笔者搜集的资料进行总结。[pic]介绍Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。没有学过操作系统的同学,可能会很郁闷,啥叫滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个系统不放。这个心跳,可以通过定时器来周期性触发,而这个定时器就是systick。很明显,这个“心跳”是不允许任何人来随意地访问和修改的。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。知道systick在系统中的地位后,我们来了解systick的实现。注意,本期教程并没有讲述systick如何在操作系统中的运行,因为这对初学者来说比较复杂。我们这里只是举例说明systick的使用。它有四个寄存器,笔者把它列出来:STK_CSR,0xE000E010--控制寄存器STK_LOAD,0xE000E014--重载寄存器STK_VAL,0xE000E018--当前值寄存器STK_CALRB,0xE000E01C--校准值寄存器以下部分参考互联网的……
  • 所需E币: 5
    时间: 2019-12-24 14:32
    大小: 545.5KB
    上传者: 978461154_qq
    芯达STM32入门系列教程之八[pic][pic]STM32入门系列教程串口的编程[pic](2010-04-21)[pic]很多书籍或者教程,在介绍串口的时候,总会先介绍UART的功能多么强大。在这里,笔者认为,功能强大,可以红外,可以流控,那跟我有啥关系?我只要让串口成为我的工具即可。我们对串口编程,熟悉串口,只是想利用串口来调试信息等。先别忙着看书,大家对串口编程前,应该明确如下几个问题:1、串口的作用:用在STM32板子和PC机通信的。我们调试的时候,无法知道是否正确,就可以用STM32的cpu,给串口输出一些信息给PC,我们通过屏幕(实际上是终端串口软件),可以看到这些信息,从而知道当前程序的错误可能出现的位置。当然,也可以在PC的键盘敲打命令,让串口帮传递给STM32板子,来执行这些命令。2、串口到底如何工作的?一般有两种方式:查询和中断。(1)查询:串口程序不断地循环查询,看看当前有没有数据要它传送。如果有,就帮助传送(可以从PC到STM32板子,也可以从STM32板子到PC)。(2)中断:平时串口只要打开中断即可。如果发现有一个中断来,则意味着要它帮助传输数据——它就马上进行数据的传送。同样,可以从PC到STM32板子,也可以从STM32板子到PC。3、如何通过编程,让串口工作在查询或中断方式下?由于现实项目中,一般采用中断方式来处理串口,为方便大家编程,我们在例程目录中,给出了中断和查询两种方式的代码,仅供参考。OK,明白以上三个问题后,让我们开始串口的学习吧!我们分几个步骤来学习串口。步骤一从硬件开始学习。大家先打开芯达STM32开发板附带的原理图。找到串口部分。笔者把它截图如下。我们发现,串口模块的……
  • 所需E币: 5
    时间: 2019-12-24 14:32
    大小: 546KB
    上传者: 微风DS
    芯达STM32入门系列教程之七[pic]www.arm79.com[pic]STM32入门系列教程GPIO的编程[pic](2010-04-19)[pic]www.arm79.com本教程目的:帮助刚刚接触,甚至都没看过STM32的用户手册的同学,进行第一次接触STM32编程。如果您是高手,请绕道。学过单片机的人都知道,要想入门,第一步就是要在开发板上试试GPIO。大家看STM32F103VET6的手册时,会发现,该CPU共100个引脚,GPIO引脚居然占了80个。可见,STM32本身就是一个高级单片机,不可怕。闲话少说,进入主题。要进行STM32的编程,与单片机不同,它有一个固件库。所谓固件库,实际上就是一大堆标准的函数(接口),我们写程序的时候只要去调用它即可。所以,在写程序之前,希望大家对固件库有一个了解。最新的固件库代码,可以从网址:http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm获取。该网址中还包括了如何使用固件库——文档0427,截图如下所示:[pic]实际上,固件库就是一个模板,我们下载这个模板,就可以利用这个模板作为一个平台来开发stm32。本文使用的是网友上传的一个固件库,该固件库模板可以从ARM技术交流网下载到:http://www.arm79.com/read.php?tid=……
  • 所需E币: 3
    时间: 2019-12-24 14:33
    大小: 384KB
    上传者: givh79_163.com
    芯达STM32入门系列教程之五[pic][pic]STM32入门系列教程如何安装RealViewMDK软件[pic](2010-04-16)[pic]考虑到大多数同学都是从单片机过渡到STM32,因此我们将采用MDK作为我们STM32的调试软件。该软件的界面为KEIL界面,对很多熟悉51的朋友来说,绝对能够轻松上手。本期教程将讲述如何安装MDK软件。打开芯达STM32光盘,在“软件工具”目录下,即可看见:[pic]双击打开后,可找到MDK3.80a版本。可能有同学会有疑问,现在最新版本已经都到MDK4.11了,为啥还用3.80版本呢?经过高手前辈的经验确认,发现兼容性最好的,还是MDK3.80a,因此本期教程采用该版本来讲解,以后所有的教程、例程均采用MDK3.80A,不再重复说明。如下右图所示,双击它。[pic]出现如下窗口,直接点击“Next”进入下一步。[pic]在出现的窗口中,选中Iagreetoall…,再点击Next,进入下一步。[pic][pic]接着选择你要安装的目录,笔者在这里直接默认安装在C盘下的keil目录中,然后点击Next。[pic]下面填写你的姓(FirstName)和电子邮件地址。填写……
  • 所需E币: 5
    时间: 2019-12-24 14:33
    大小: 811KB
    上传者: 238112554_qq
    芯达STM32入门系列教程之四[pic][pic]STM32入门系列教程如何使用STM32-ISP下载调试[pic](2010-04-15)[pic][pic]原理STM32系列CPU自带固化的ISP程序,在芯片上电的时候会检查BOOT0(pin_94)与BOOT1(pin_37)引脚的电平状态,如果BOOT0=1,且BOOT1=0,则会进入自带的ISP程序。为什么要这样设计呢?先来看下其他系列的CPU如何在没有仿真器的情况下下载升级版本。像单片机可以用STC-ISP软件从串口下载,但是对于STM32系列的CPU来说,在没有ARM仿真器的情况下,如何来调试STM32目标板?OK,STM32也提供了串口ISP下载的功能,并配备专门的官方ISP软件:Flashloaderdemostrator。目前我们使用的是V2.0版本。只要在电脑上安装好这个软件,并用串口连接目标板,即可通过串口把HEX文件下载到目标版中运行,非常方便。[pic]如何使用[pic]下载调试[pic]Flashloader安装软件,请在芯达STM32光盘中的“软件工具”目录中,如下图标:[pic]双击该图标,出现如下图所示窗口:[pic][pic]大约等待几秒钟,进入下一个界面:[pic]从这个界面可以看出,我们安装的是V2.0.0的版本。接下去一路点击“Next”,安装非常简单,一直到最后“finish”。相信您一定可以顺利安装完成。我们还是把安装图解贴在这里,以备参考。[pic]……
  • 所需E币: 5
    时间: 2019-12-24 14:32
    大小: 883KB
    上传者: 238112554_qq
    芯达STM32入门系列教程之九[pic][pic]STM32入门系列教程初试STM32中断[pic](2010-04-23)[pic]其它啥也不说,我们先看下芯达STM32外部中断所采用电路,非常简单,如下图所示:[pic]该电路直接从STM32系列的CPU引脚直接引出两个GPIO(PE2/PE3),外加上拉电阻后,使用一个轻触开关接地。很明显,按下开关时,PE2/PE3引脚接地,否则为高电平。学习STM32中断时,我们可以一边回想单片机中断系统一边学习。这里的思路就与单片机类似:当按下按键时,电平变动,使用上升或下降沿触发中断。对于单片机来说,很简单,开中断即可。但STM32却有所不同。我们使能配置EXTI、NVIC中断后,还需要注意IO口时钟的使能。笔者当初忽略了AFIO时钟,调试2天没有结果,重新查看datasheet时,发现AFIO时钟没有打开。下面简单列出外部中断的编程思路:1、系统初始化,如系统时钟初始化,使之进入72MHZ主频;2、GPIO配置,务必注意打开GPIO时钟时,一定打开AFIO时钟。3、EXTI配置,在这里配置需要选择哪个引脚作为中断引脚。4、NVIC配置,这也是比单片机多出来的部分,我们必须把NVIC中对应的通道使能,并且设置优先级别。5、使用while(1)进行死循环,并在中断程序中写入中断发生时应如何处理。好吧,开始STM32的外部中断的编程之旅吧,详细的例程代码,请参考光盘中的《芯达STM32配套例程》文件夹。本期例程使用的模板,是刚刚从STM32官网上下载的最新版本的3.0固件模板,……
  • 所需E币: 4
    时间: 2019-12-24 14:32
    大小: 661KB
    上传者: 二不过三
    芯达STM32入门系列教程之十[pic][pic]STM32入门系列教程[pic]定时器与蜂鸣器[pic](2010-04-24)[pic]前一期教程已经详细讲述了STM32中断编程,本来不想再讲述定时器。因为定时器自然也是用到中断处理。但一想,既然作为入门系列教程,就应该具备完整性。实际上,笔者在网上搜了一下,发现仍然有许多网友卡在定时器这里,因此有必要专门列出一期教程讲述定时器。相信您一定学习过单片机的定时器。没错~!STM32系列的CPU定时器与单片机定时器操作类似。只要去配置自动装载寄存器、时钟预分频、溢出方式(向上溢出还是向下溢出)等等。当然STM32寄存器比较复杂,远不止这些,本系列教程主要是入门型,如果您希望深入学习STM32定时器,我们在论坛上传了一篇比较不错的文章,好像叫《STM32入门篇之通用定时器彻底研究》,作者不详,网址如下:http://www.arm79.com/read.php?tid=1977。一、[pic]通用定时器原理STM32系列的CPU,有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图:[pic][pic]实际上STM32的CPU文档给出的图与这个图略有区别。但是我们还是想研究这个图。原因是这个图对我们思路的理解比较……
  • 所需E币: 5
    时间: 2019-12-24 14:33
    大小: 1.16MB
    上传者: quw431979_163.com
    芯达STM32入门系列教程之六[pic][pic]STM32入门系列教程如何使用MDK+J-Link调试[pic](2010-04-18)[pic]在芯达STM32入门系列教程之三《如何使用J-Flash调试》中,我们提到要进行STM32的程序调试,一般由三种方法:(1)使用SEGGERJ-Flash(J-Link)下载程序到闪存中运行;(2)使用串口ISP来下载HEX文件到CPU中运行;(3)J-Link+MDK组合,来在线调试程序(可下载、调试)。本期教程将讲述如何在芯达STM32开发板上使用J-Link+MDK组合进行调试及下载HEX文件。MDK(KeilforARM)的软件安装,请参考教程《如何安装RealViewMDK软件》。安装完并激活MDK后会出现如下图标:[pic]在双击启动MDK之前,我们需要进行设备的连接操作。步骤一进行设备连接操作,此步骤与J-Flash下载时的操作是一样的。将芯达STM开发板的JTAG口(开发板面朝上,最顶端有一个JTAG20pin的插口),与J-LinkV8仿真器的输出排线连接,J-Link另一头的USB插口则插在电脑的USB口上。这时,J-Link的指示灯开始闪烁,并保持“点亮”的状态。注意1:大家购买J-Link仿真器的时候,JTAG接口要求是标准的20pin的2.54间距的针座。否则需要转接卡进行JTAG接口的转换。注意2:在红绿LED灯的附近的2个短路帽都应该插上,以保证BOOT1和BOOT0都是接地的,此时选中闪存存储器启动方式。步骤二进入PC的桌面,点击上图左边的图标:KeiluVision3,进入如下MDK主界面,这时候编辑区内什么都没有。……