你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

新学stm32的N个疑惑和不解。希望懂的人帮忙解答。谢谢。  

[复制链接]
tryfly 提问时间:2015-2-14 10:18 /
我是有了NUCLEO stm32f072rb之后,才开始关注stm32的,之前一直玩arduino这类电子积木,也学过郭天祥的51视频。


最近开始弄stm32,有n个不懂的地方。


首先是 官方库。
1,这个官方库是所有stm32都用同样的函数,还是对应每个stm32类型,有一个自己的库?
如果是后者的话,那每使用一款stm32,如用stm32f072 后换用stm32f103做东西。我是不是还要重新学一遍103的库函数?
这样的话,也太繁琐了啊。


2,上面的疑惑是因为,我手头有论坛这个072板子,但是听的是刘洋的stm32f103的视频课(听说挺好才听的)。
所以我就按照视频里面103板子的库模板建立方法,在咱论坛找到了072库链接下载来做库模板。
我按着他的视频写led亮灯,结果
GPIO_InitTypeDef GPIO_InitStructure;
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;

这里面的【RCC_APB2Periph_GPIOB】【GPIO_Mode_Out_PP】程序提示没有,出现红叉。我找h文件,看到GPIO模式里面真没有这个,只有4个模式
不知道是不是103和072差异问题,还是我的库文件找的被别人删过的。


3,我手头有一个stm32 f103的板子,里面已经有boot程序和正常程序了。我用STM32 ST-LINK Utility.exe写103灯的hex文件到103板子,板子没有led亮,并且我擦除程序,再弄以前的boot和正常程序,boot可以,正常程序下载不了了。请问这是为什么呢?STM32 ST-LINK Utility.exe是不是把程序写到了boot区?


4,刚才按论坛朋友帖子,用CUBE生成了072的led代码,也在while里面写了个开关,灯确实亮了。可是我发现,CUBE生成的程序是HAL的库写的。
这个HAL记得是硬件抽象层的意思?这么说来它的移植性更好??那我到底该学什么库,能让072,和103板子都能使用啊
这个HAL库,不会还要学吧,蒙了,蒙了,蒙了。。。。无助的少年。。。


5,这几天,只有今天早上led亮了,之前还遇到了CUBE无法生存工程文件问题(后来知道是文件名不能有中文)。STM32我一定要学会!虽然我现在什么也不知道。我在学校图书馆里面借了本最大的stm32的书,回来打开发现跟官方函数库说明书一样,这个作者估计不是蠢材就是大学教授学习学成了呆子。只写一个函数,下面写函数的功能,就完事了。这就是一本书。然后标题还写着,本书适合未接触过STM的人。大家能帮忙推荐适合新人的stm32的好书吗?


走在陌生的未知的却很喜欢的学习路上,我相信只要真心想学,一定能学会的!求大家帮忙回答我的问题。谢谢。我学习的第一个目标就是
能独立编写飞行器控制程序。再次谢谢大家。


收藏 评论30 发布时间:2015-2-14 10:18

举报

30个回答
damiaa 回答时间:2015-2-14 17:56:03
1,是后者 库是差不多的。不用重学。


2,结果
GPIO_InitTypeDef GPIO_InitStructure;
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
这里面的【RCC_APB2Periph_GPIOB】【GPIO_Mode_Out_PP】程序提示没有,出现红叉。我找h文件,看到GPIO模式里面真没有这个,只有4个模式。
不知道是不是103和072差异问题,还是我的库文件找的被别人删过的。

细节是有点差别的。差别很小。

3,我手头有一个stm32 f103的板子,里面已经有boot程序和正常程序了。我用STM32 ST-LINK Utility.exe写103灯的hex文件到103板子,板子没有led亮,并且我擦除程序,再弄以前的boot和正常程序,boot可以,正常程序下载不了了。请问这是为什么呢?STM32 ST-LINK Utility.exe是不是把程序写到了boot区?
不写到BOOT区,直接用SWD或JTAG写到程序运行区。

4,刚才按论坛朋友帖子,用CUBE生成了072的led代码,也在while里面写了个开关,灯确实亮了。可是我发现,CUBE生成的程序是HAL的库写的。
这个HAL记得是硬件抽象层的意思?这么说来它的移植性更好??那我到底该学什么库,能让072,和103板子都能使用啊?
这个HAL库,不会还要学吧,蒙了,蒙了,蒙了。。。。无助的少年。。。
都可以。先学一样。


5,这几天,只有今天早上led亮了,之前还遇到了CUBE无法生存工程文件问题(后来知道是文件名不能有中文)。STM32我一定要学会!虽然我现在什么也不知道。我在学校图书馆里面借了本最大的stm32的书,回来打开发现跟官方函数库说明书一样,这个作者估计不是蠢材就是大学教授学习学成了呆子。只写一个函数,下面写函数的功能,就完事了。这就是一本书。然后标题还写着,本书适合未接触过STM的人。大家能帮忙推荐适合新人的stm32的好书吗?

搞点例子跑最重要。好像书没几本好的。但也都能看。

走在陌生的未知的却很喜欢的学习路上,我相信只要真心想学,一定能学会的!求大家帮忙回答我的问题。谢谢。我学习的第一个目标就是
能独立编写飞行器控制程序。像这里http://bbs.tryfly.cn/forum-36-1.html的飞行控制器。因为我也喜欢航模。再次谢谢大家。

谢谢。
tryfly 回答时间:2015-2-14 23:36:34
安 发表于 2015-2-14 11:37
不同的系列需要换对应的库,库的基本入口和定义是一样的。有的芯片之间有很多不同,IO的设置上可能会有区别 ...

哦哦。那个不一样的地方怎么办呢?那个库文件有不同版本对应的不同说明文档吗?貌似只见过一个翻译过来的库说明文档。。我现在还想听那个stm32f103的视频,还想用手头072的板子,我该怎么办呢?
tryfly 回答时间:2015-2-15 13:26:32
s7631001 发表于 2015-2-15 10:46
通用库应该是一样的,但与芯片相关的基本库则有差异,如对GPIO的定义就不同 ...

哦哦,从官网下载的就一个包,里面好多文件。怎么区分 通用库和特殊库呢?我现在条件只能是听103的视频课,用072的板实验。。。如果不知道,我估计应该会经常遇到各种问题吧?
tryfly 回答时间:2015-2-14 10:55:43
自己顶。求人来。
759611 回答时间:2015-2-14 11:19:48
也是初学,不能给你多少指点,帮顶……
废鱼 回答时间:2015-2-14 11:37:40
不同的系列需要换对应的库,库的基本入口和定义是一样的。有的芯片之间有很多不同,IO的设置上可能会有区别,这个需要根据实际情况来做处理,大多接口都是一样的。
用库和CUBE都差不多。
wamcncn 回答时间:2015-2-14 12:30:55
先看看时钟树,103的和072的外设挂载总线不一样,GPIO寄存器不一样.教程只是告诉你如何学,而不是生搬硬套
wyxy163@126.com 回答时间:2015-2-14 12:32:49
提示: 作者被禁止或删除 内容自动屏蔽
wamcncn 回答时间:2015-2-14 12:33:32
另外库函数的结构大致一样,但不是完全一样,你可以在标准外设库里查看
qianfan 回答时间:2015-2-14 12:45:18
逍遥李 回答时间:2015-2-14 13:04:34
来看看大神们怎么说的……
123tango 回答时间:2015-2-14 13:21:36
也在学习中
deepin666 回答时间:2015-2-14 13:31:14
库函数基本是一样的,熟悉了一种后很容易的
_ilikerome_ 回答时间:2015-2-14 16:29:51
HAL还是很牛的,当然要学习。
feel-376797 回答时间:2015-2-14 21:13:20
用什么芯片就弄什么开发板操练
lkl0305 回答时间:2015-2-14 21:41:01
学习学习
123下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版