• 如何学习一个芯片(笔记ing)


    刚学习stm32,发现一些很喜欢的方法,记录下来。
     个初学者,一开始对 STM32 一般是没有概念的,所以首先要做的就是多做实验,一定
    要相信实践出真知,结合上面 2 本手册,你很快就会熟悉 STM32,进而随心所欲。其次要多做
    笔记,在你不知道的时候,找 MDK 的例子,找第二点中的两本本手册,当你碰到新的知识点
    的时候,把它记下来,俗话说:好记性不如烂笔头。将你刚学到的东西用笔记下了,对以后没
    有坏处。 
    只要以上三点做好了,学习 STM32 基本上就不会有什么问题了。当你有需要用的东西,
    自己写代码写不出来了,就可以在 MDK 自带的例子中找找,看看是否有相关的例程。对于
    STM32 的外设,MDK 基本都是带有例程的,所以一般你的问题,可以在 MDK 自带的例程中
    找到答案。 
    MDK 的例子分为 2 部分,一部分是与 USB 无关的,这部分代码存放在:D:
    \KEIL3.80A\ARM\Examples\ST\STM32F10xFWLib\Examples 目录下, 而另外一部分与 USB 相关
    的例子则存放在:D:\KEIL3.80A\ARM\Examples\ST\STM32F10xUSBLib\Demos 目录下(D 盘
    是我 MDK3.80A 的安装盘,所以这里路径是这样的,如果你安装在其他位置,修改为相应的目
    录即可以) 。 
    接下来我们用一个实例,来说明如何参考 MDK 的例子为自己所用。希望能起到抛砖引玉
    的作用。这里以一个 IO 口翻转为例,其实就是 LED 的闪烁,看看如何借用 MDK 的代码。首
    先打开 D:\KEIL3.80A\ARM\Examples\ST\STM32F10xFWLib\Examples 目录,可以看到很多例
    子 IO口翻转的例子在GPIO目录下的IOToggle下, 我们将这个目录下面的所有文件拷贝到D:
    \KEIL3.80A\ARM\Examples\ST\STM32F10xFWLib\Project 里面,这里会提示如图 3.3.4.2 所示的
    信息: 我们选择全部就可以了。然后单击 Project.Uv2,打开工程。编译一遍;提示没有错误,没有警告。说明这个工程是可以用的。关于这个工程是如何使用的,在
    readme.txt 里面是有详细说明的,在使用之前最好先看看这个说明。重点看看硬件环境的说明,
    从图 3.3.4.5 的说明可以知道,这个 LED 的翻转程序,对两款板子(STM3210B-EVAL 和
    STM3210E-EVAL)分别是连在哪几个 IO 口上的,我们这个是在 USE_STM3210E_EVAL 板上
    运行的,所以使用的是 PF.6~9。 
    接下来我们要做的就是一步步跟踪代码,然后针对你的疑问点,打开 Peripherals 里面的相
    关外设,查看寄存器,看看 MDK 的示例代码是如何一步步修改里面的寄存器来实现的。对与
    外设的配置,MDK 一般都是调用库函数实现的,无法直接查看,这就需要你对照手册,慢慢
    摸索了,根据从寄存器看到的结果,大概也就能推出 MDK 是如何实现这样的操作了。其次一
    个重要的方法是通过查看汇编代码,来看到底是如何操作的,由于作者对汇编不熟悉,这里就
    不废话了,免得误导大家。 
    这样对照着 MDK 的例子,看看自己的代码在哪些地方和它有不一样的地方,如果出了问
    题,很可能就在这些不同的地方,只要根据 MDK 的示例来修改,一般你的问题就能得到解决。
    当然,这过程中需要多多查看手册,看看手册里怎么说的,MDK 又是怎么做的。 
  • 相关阅读:
    golang API开发过程的中的自动重启(基于gin框架)
    单位时间的调度问题 —— 贪心
    Qt获取文件夹下文件
    C++ using
    QGridLayout动态添加控件
    数据库查询优化-20条必备sql优化技巧
    Django:类视图的装饰器
    使用同一个模态框进行新增和修改
    Django:使用celery处理异步任务
    jenkins:调用jenkinsAPI
  • 原文地址:https://www.cnblogs.com/notepi/p/3137089.html
Copyright © 2020-2023  润新知