关于用keil新建stm32f4工程的一些问题
1、本人菜鸟一枚2、下载的是mdk5.0使用的是stm32f407zet6的板子,我下了stm32f4的固件库,并已经在新建第一个工程的时候将固件库添加进去了,当我再想建...
1、本人菜鸟一枚
2、下载的是mdk5.0使用的是stm32f407zet6的板子,我下了stm32f4的固件库,并已经在新建第一个工程的时候将固件库添加进去了,当我再想建立一个相同处理器的工程的时候输出路径什么的还需要重新设置么
3、我选择完处理器之后没有像网上说的那样弹出一个窗口说可否copy启动文件,直接弹出的是一个什么balance environment 的设置。。不明白怎么回事。
4、关于编程问题,会一些c语言,keil for arm的编程与c51的差别大么,主要在哪?网上也没有什么keil for arm的编程教材,请教可以再哪进行学习? 展开
2、下载的是mdk5.0使用的是stm32f407zet6的板子,我下了stm32f4的固件库,并已经在新建第一个工程的时候将固件库添加进去了,当我再想建立一个相同处理器的工程的时候输出路径什么的还需要重新设置么
3、我选择完处理器之后没有像网上说的那样弹出一个窗口说可否copy启动文件,直接弹出的是一个什么balance environment 的设置。。不明白怎么回事。
4、关于编程问题,会一些c语言,keil for arm的编程与c51的差别大么,主要在哪?网上也没有什么keil for arm的编程教材,请教可以再哪进行学习? 展开
3个回答
展开全部
STM系列的芯片类似于TI的DSP芯片一样提供库文件
库文件不仅有头文件(对寄存器用英文来替代)还有C语言文件
最常见的比方说你想用到一个定时器
那么你添加TIME.C这个库文件后
里面一定有一个函数叫TIME_Init(xx)用于初始化定时器
比方说如果你用这个定时器进行外部脉冲计数的话
那有一个IO口需要用作定时器的输入
则你需要对IO口和定时器同时进行初始化
芯片的每一个外设都需要使用到时钟,你还需要对时钟进行初始化
这样操作过几次之后,你就基本上知道了使用任何外设的一个基本过程
其需要用到什么功能就可以添加对应功能的C文件即可
由于STM32官方进出对库文件进行更新
尤其是前两年,很多头文件都不断的完善
所以我用的库是3.5的版本,每次用到这个芯片我都是复制原来的库
主要是自己对其已经很熟悉了
输出路径如果你编译不对,那就重新选择 一遍呗
如果启动功能么有自动添加启动文件,应该是你建立工程的时候选择芯片的问题
C语言是一门语言,就跟英语也是一门语言一样
C语言有他自己的语法,只要你符合他的语法,C语言就是通用的
而不是什么FOR C51还是FOR ARM
不同的地方就是比方说你学C语言的时候,stdio.h头文件里面有一个printf函数
而ARM还是51里面都不需要用到这个函数了
C语言学习只要掌握好几个主要语法部分,再学以致用即可。
库文件不仅有头文件(对寄存器用英文来替代)还有C语言文件
最常见的比方说你想用到一个定时器
那么你添加TIME.C这个库文件后
里面一定有一个函数叫TIME_Init(xx)用于初始化定时器
比方说如果你用这个定时器进行外部脉冲计数的话
那有一个IO口需要用作定时器的输入
则你需要对IO口和定时器同时进行初始化
芯片的每一个外设都需要使用到时钟,你还需要对时钟进行初始化
这样操作过几次之后,你就基本上知道了使用任何外设的一个基本过程
其需要用到什么功能就可以添加对应功能的C文件即可
由于STM32官方进出对库文件进行更新
尤其是前两年,很多头文件都不断的完善
所以我用的库是3.5的版本,每次用到这个芯片我都是复制原来的库
主要是自己对其已经很熟悉了
输出路径如果你编译不对,那就重新选择 一遍呗
如果启动功能么有自动添加启动文件,应该是你建立工程的时候选择芯片的问题
C语言是一门语言,就跟英语也是一门语言一样
C语言有他自己的语法,只要你符合他的语法,C语言就是通用的
而不是什么FOR C51还是FOR ARM
不同的地方就是比方说你学C语言的时候,stdio.h头文件里面有一个printf函数
而ARM还是51里面都不需要用到这个函数了
C语言学习只要掌握好几个主要语法部分,再学以致用即可。
展开全部
对于你这个问题我想回答第四个,我也是个菜鸟,但是我最近看了一本关于stm32 M3内核,感觉不错,他教你用C语言库行数编程!《野火STM32-03、《零死角玩转STM32》PDF教程》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-31
展开全部
所有的鸟都是从吃菜开始的。
MDK5.10相对比较稳定。
STM32F4是cortex-M4的内核,只有英文手册。用库来学习ARM像是隔着靴子挠痒。最好还是用寄存器编程,可使硬件发挥到极至,找出问题也相对容易。
学习ARM最好还是从STM32F103开始,是M3核的。有官方中文手册,网上可下。中文总比英文要理解的深入一点吧。如果把这个核吃透了,再去学M4要容易得多。只有RCC,GPIO,AFIO等几处不同,其它的外设相同。
另外模块化编程是个好习惯,对于大的工程尤其重要。
MDK5.10相对比较稳定。
STM32F4是cortex-M4的内核,只有英文手册。用库来学习ARM像是隔着靴子挠痒。最好还是用寄存器编程,可使硬件发挥到极至,找出问题也相对容易。
学习ARM最好还是从STM32F103开始,是M3核的。有官方中文手册,网上可下。中文总比英文要理解的深入一点吧。如果把这个核吃透了,再去学M4要容易得多。只有RCC,GPIO,AFIO等几处不同,其它的外设相同。
另外模块化编程是个好习惯,对于大的工程尤其重要。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询