OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6699|回复: 18

怎样看STM32参考手册来分析思路以及写代码?

[复制链接]

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
发表于 2018-11-28 22:01:00 | 显示全部楼层 |阅读模式
2金钱
比如原子哥的PWM输出实验,他的思路是从参考手册得来的,但他怎样从参考手册提取的,我不懂,望大神指点指点!! `JR9AQQFA@$Q8_6EL8C`O.png

最佳答案

查看完整内容[请看2#楼]

参考手册是用来发现和解决开发中问题,依靠参考手册提供思路,是事倍功半的事,也不应该。至于如何开发利用一个模块,并实现驱动,大部分其实也都是要参考例程的,有官方例程,也有开发板例程(这些会告诉你怎么用),移植,调试,解决问题才是正确做法(一部分问题就需求查看配置寄存器来分析解决,这时才需要到参考手册)。至于开发的思路,是从移植,调试的流程中积累出来的,不是看手册就能学会的,以熟悉的USART通讯为例,当我要用 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1761
金钱
1761
注册时间
2015-6-11
在线时间
311 小时
发表于 2018-11-28 22:01:01 | 显示全部楼层
参考手册是用来发现和解决开发中问题,依靠参考手册提供思路,是事倍功半的事,也不应该。至于如何开发利用一个模块,并实现驱动,大部分其实也都是要参考例程的,有官方例程,也有开发板例程(这些会告诉你怎么用),移植,调试,解决问题才是正确做法(一部分问题就需求查看配置寄存器来分析解决,这时才需要到参考手册)。至于开发的思路,是从移植,调试的流程中积累出来的,不是看手册就能学会的,以熟悉的USART通讯为例,当我要用到时,已经有个清晰的流程,使能时钟,相关GPIO初始化,配置波特率,数据位,停止位,是否流控,模块启动,根据需求是否开相应中断,是否使用DMA,然后根据这个思路,去找相应的寄存器进行配置(当然调用库一样),至于参考手册的作用,在于按照这个流程执行后,数据通讯与实际想法不一致,在去查看手册对比,解决问题,总结积累,下次就能避免这种情况。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2018-11-29 01:56:53 | 显示全部楼层
参考手册你看了么?有输出PWM的介绍
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-29 08:17:14 来自手机 | 显示全部楼层
正点原子 发表于 2018-11-29 01:56
参考手册你看了么?有输出PWM的介绍

我看了,就是不懂从哪入手,怎样提取有用的关键字,不只是这一个实验,我想找到一个方法,以后我自己写的时候就可以信手拈来,可以介绍下步骤吗?原子哥可以说下一个从参考手册提取思路的通用方法吗?
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6653
金钱
6653
注册时间
2015-8-25
在线时间
1034 小时
发表于 2018-11-29 08:21:57 | 显示全部楼层
854247493 发表于 2018-11-29 08:17
我看了,就是不懂从哪入手,怎样提取有用的关键字,不只是这一个实验,我想找到一个方法,以后我自己写的 ...

不都是得老老实实的啃datasheet吗,官网不还有例程的呀
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

7

主题

143

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2017-8-21
在线时间
75 小时
发表于 2018-11-29 08:32:03 | 显示全部楼层
具体怎么编写,不还是要基于底层驱动来说的嘛?
各项参考手册只能告诉你各项功能的配置及寄存器的设置,具体怎么写还是要依据底层驱动来说的吧?
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-29 08:50:44 来自手机 | 显示全部楼层
szczyb1314 发表于 2018-11-29 08:21
不都是得老老实实的啃datasheet吗,官网不还有例程的呀

可以加个qq聊下吗?账号就是我qq
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-29 08:53:52 来自手机 | 显示全部楼层
路人曦 发表于 2018-11-29 08:32
具体怎么编写,不还是要基于底层驱动来说的嘛?
各项参考手册只能告诉你各项功能的配置及寄存器的设置,具 ...

嗯,我现在主要的问题是还不怎么懂看参考手册,比如说要实现一个功能,不知定位到手册的哪里,或说定位到手册的哪里了,它描述的太多,不知哪些是关键(思路)。我不懂怎样有效的提取,这样会写少了或写太多不必要的代码
回复

使用道具 举报

7

主题

143

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2017-8-21
在线时间
75 小时
发表于 2018-11-29 08:59:41 | 显示全部楼层
854247493 发表于 2018-11-29 08:53
嗯,我现在主要的问题是还不怎么懂看参考手册,比如说要实现一个功能,不知定位到手册的哪里,或说定位到 ...

某一个功能的配置方法都差不多,你要提取手册中配置的点,就是例如串口要配置波特率,停止位。ADC要配置采集频率这样。。。。你要从手册中提取到你需要配置的那个点,或者说你需要的功能方式
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-29 15:30:32 来自手机 | 显示全部楼层
路人曦 发表于 2018-11-29 08:59
某一个功能的配置方法都差不多,你要提取手册中配置的点,就是例如串口要配置波特率,停止位。ADC要配置 ...

好的,懂了,谢谢,可以加个qq好友吗?854247493
回复

使用道具 举报

7

主题

143

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2017-8-21
在线时间
75 小时
发表于 2018-11-29 15:35:18 | 显示全部楼层
854247493 发表于 2018-11-29 15:30
好的,懂了,谢谢,可以加个qq好友吗?854247493

客气,我也是初学者,加了加了~
回复

使用道具 举报

33

主题

159

帖子

0

精华

高级会员

Rank: 4

积分
527
金钱
527
注册时间
2017-1-21
在线时间
192 小时
发表于 2018-11-29 16:51:17 | 显示全部楼层
参考手册里有对每一个外设的具体介绍,包括了有多少寄存器,每一个寄存器位是如何配置的。然后呢你就要选择你是准备用库函数还是准备用寄存器进行编程。最终的结果其实都是对寄存器的操作,但是呢明显库函数就好理解一点。
所以如果你暂时只是想实现功能就去看有一个F1的库函数的说明文档,里面很清楚的说了库函数的使用方式,当然了你也可以去看库函数的.C  .H文件,看是库函数是如何调用的。
最后你要是想深入搞,就可以去直接操作寄存器。
再深入搞,你可以去看M3的内核文献。。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2018-11-30 02:15:31 | 显示全部楼层
854247493 发表于 2018-11-29 08:17
我看了,就是不懂从哪入手,怎样提取有用的关键字,不只是这一个实验,我想找到一个方法,以后我自己写的 ...

多看看,一遍不懂,看2遍,3遍...
慢慢就有心得了当然,也要同时练习,多走一些弯路,就知道怎么回事了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

293

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1001
金钱
1001
注册时间
2018-8-16
在线时间
327 小时
发表于 2018-11-30 05:30:25 | 显示全部楼层
光看手册是很难入手的。
作为过来人,给个建议:
一边看教材一边看例程然后一边学着写。
手册留着作为参考工具书那样用,而不是当成教程来用。

回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2018-11-30 08:40:45 | 显示全部楼层
我说一下我的过程吧,可能我比较笨0-0,楼主可以从一个简单的芯片开始看datasheet,我以前也是不会看datasheet,例如一个功能的实现,怎么实现,对于初学者来说确实难,直到后来用熟了,再回头去看手册的时候,才稍微懂了点,但是还是觉着很复杂,前提必须会操作寄存器,再后来自己用过一些简单的驱动芯片,只能自己琢磨手册来写程序,才慢慢会看手册了,现在再从一个没用过的单片机开始,看手册用,就会有思路的有目的的去看。当遇到没用过的型号的时候,可以参考网上的例程或者其他单片机的例程来读datasheet,这样更容易去理解。
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-30 19:54:16 | 显示全部楼层
wangmingwei093 发表于 2018-11-30 08:40
我说一下我的过程吧,可能我比较笨0-0,楼主可以从一个简单的芯片开始看datasheet,我以前也是不会看datash ...

好的,谢谢你,这个很好
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-11-27
在线时间
2 小时
 楼主| 发表于 2018-11-30 19:55:35 | 显示全部楼层
zc123 发表于 2018-11-28 22:01
参考手册是用来发现和解决开发中问题,依靠参考手册提供思路,是事倍功半的事,也不应该。至于如何开发利用 ...

话说官方例程是哪些?
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1761
金钱
1761
注册时间
2015-6-11
在线时间
311 小时
发表于 2018-12-1 09:52:51 | 显示全部楼层
854247493 发表于 2018-11-30 19:55
话说官方例程是哪些?

在Keil安装的pack路径下,我的是安装目录/ARM/Pack/Keil/xxx_DFP/...下面,里面有大部分官方开发板的例程,ll库,hal库,还有些基础应用的
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-12-18
在线时间
2 小时
发表于 2021-1-14 12:41:54 | 显示全部楼层
学习学习学习学习学习学习学习学习学习学习学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-14 18:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表