stm32Keil编程
⑴ 学习stm32,keil的编程环境,看了很多板子的例子,可是很模糊,打开一个GPIO的例子都要一大堆H文件
我当初第一次接触单片机的时候, 是为了参加学校的比赛, 当时只懂C语言. 就搞了块51回来,自己焊线,下程序(当时烧录器也没有, 也不知道怎么烧, 反正是一穷二白). 后来在网上找到一篇非常入门的说明书, 就从上面学会了怎么通过keil建立工程, 怎么控制一个IO口. 然后就开始捣鼓自己比赛作品了. 捣鼓的东西是一个温度计, 就是从18B20那读取温度, 再把温度显示在1206液晶屏上. 当时的程序都是从网上下过来自己看看改改再拼起来的. 搞了1个多月顺利交差了. 后来才明白, 我只用了51上面的IO口, 其他什么外设资源都没用到. 但是捣鼓过程中,总算是在感性上有不少的收获.
现在搞DSP去了. 经常也是一大堆.h .c. 其实这些都不用怕的, 只要看看DEMO工程, 分析一下这些文件的作用, 你就能知道要片子跑起来(比如点亮一个LED)至少需要哪些文件. 等这些熟悉后, 你就会发现其实什么单片机都是一个样的. 然后就是学习使用片上的各种资源. 当然, 跑OS的另外说.
我不是什么高人, 希望我的这些感受对你有所启发罢了.
⑵ stm32编程 keil中,截图如下,问题也如下,怎么理解呢一定采纳!
1、这些文件夹只是用来让用户看着舒服,便于管理文件,所以 你即使不建立文件夹,全部放到Target下也行
2、.lib文件是库文件,也就是说你添加这个东东后,在程序里面的能够省去很多代码,因为这个.lib文件也是通过写代码,编译器编译生成的,添加这个lib文件后,再添加一个头文件,你就能调用生成.lib文件的源码中定义并声明的函数了,这样很方便使用的。
3、.s文件时stm32的启动文件,没有这个是不行的,根据不同的型号,添加的也是不一样的,比如:互联性的添加 startup_stm32f10x_cl.s 小型的添加startup_stm32f10x_ld.s 中型的添加startup_stm32f10x_md.s 大型的添加startup_stm32f10x_hd.s ,上面的那个 stm32f10x.s是系统建立工程的时候自动添加的,一般都不添加,自己重新加,因为stm32f10x.s中的东东对高级的芯片是不完全的!
⑶ keil怎么调试stm32程序
Keil的使用方法(汇总)
http://www.cnblogs.com/strongerHuang/p/5839141.html
⑷ stm32用什么语言编程
stm32单片机用的是C语言编程,mdk472是安装工具,KEIL_lic是破解软件。要看看电路图,都留出了哪些IO和哪些功能比如AD或者串口,都接了什么。假如是开发板的话可以看开发板的资料。
⑸ 哪位朋友比较熟悉STM32的,请问STM32用KEIL和IAR编程的区别有哪些方面,最好能够列点分说。。。。谢谢!
其实区别不大。
KEIL的例子会比较多,keil个人感觉界面更友好。自带RTX系统
IAR开发板多数喜欢给IAR的例程,其实和KEIL没什么区别。
⑹ stm32f103c8t6用keil编程出现错误
你看一下stm32f10x_conf.h 中的#include "stm32f10x_exti.h" 有没有包含
⑺ 如何使keil既能编写51又能编写STM32
Keil软件,按缺省设置,先装MDK,装完后,不要做任何处理(不卸载,不改变目录);之后继续安装KeilC51软件,按缺省安装,安装完成后,你运行KEIL软件,里面就由STM32等ARM供你选择了。
⑻ 基于keil MDK给stm32编程的问题。。。嵌入式系统开发环境的搭建
您好,一、【安装STM32库】 将下载后的stm32f10x_stdperiph_lib.zip解压后得到三个文件夹分别是:"Libraries"、"Project"、"Utilities"将这3个目录复制到"Keil uVision4"的安装目录,和目录中的文件覆盖合并。二、【新建工程】 1、打开"Keil uVision4",在Project菜单中选择新建工程,选择工程要保存的位置,在弹出的“Select Device for target”的对话框中选择使用的STM32单片机的型号如“STM32F103C8”,点确定,然后在弹出的“Copy startup code”的对话框中点选"NO".
2、在Project“Target 1”上点选右键菜单“Option for target target1中设置相关参数”在[Output]选项卡中点选“Create HEX file”,点"Select folder for objects"设置临时生成的obj文件的存放目录,当然也可以不选择;
3、在[C/C++]选项卡的"Preprocessor Sysmbols"的Define框中做如下定义:USE_STDPERIPH_DRIVER,STM32F10X_MD
其中USE_STDPERIPH_DRIVER表明要使用ST提供的库,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定义:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]选项中添加的USE_STDPERIPH_DRIVER宏就是这个作用,用来包含"stm32f10x_conf.h"这个文件被称为"Library Configuration file"用来配置你需要使用到库的那些文件的,例如需要使用到GPIO就应在在这个文件中加上#include "stm32f10x_gpio.h"这个文件可以在STM32库的给出的例程中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外还需要在例程中复制"stm32f10x_it.c"和"stm32f10x_it.h"这2个文件,这2个文件时用来完成STM32中重中断服务程序的将一下三个文件复制到自己工程的user目录下供以后使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而该CPU的Flash代码密度是中等(Medium-density devices)这个和使用的CPU相关的查阅CPU的手册就可以得到。
然后在该选项卡的下方的"Include Paths"中设置include使用的路径等,如下图所示:其中.\user路径是用来保存自己定义的头文件的路径4、[Debug]选项卡选择使用"Cortex-M/R J-Link/J-Trace",然后点"Settings"按钮在新打开的对话框中选择[Flash Download]选项卡点"Add"按钮添加编程使用的Flash,在本例中选用的CPU是STM32F103C8,其Flah为Medium-density使用片上的Flash型号为"STM32F10X Med-density Flash On-chip-Flash 128K",最终点OK保存设置。5、[Utilities]选项卡中的"Use Target Device for Flash Programing"要选择和[Debug]选项卡中一样的调试器"Cortex-M/R J-Link/J-Trace";6、然后再次在左侧的"Target 1"上点选右键,在菜单中选择"Manger Components"然后在"Project components"选项卡的"Group"中新建3个组名称分别为"user"、"libs"、"cmsis"1、 分别用来保存用户自己的C文件、stm32f10x_stdperiph_lib的库、和cortex-m3的启动文件等。
users:
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c该文件定义各种中断的中断服务函数)
libs:
Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*
cmsis:
Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(该文件和CPU的Flash的代码密度相关,本例中的STM32F103C8是Medium-density故选用xxx_md.s)
⑼ STM32单片机能用易语言编程吗
理论上是可以的,但是stm32单片机的开发软件现在都是keil和iar什么的,这些国外的软件不支持汉语,你无法像这样写代码:
#define
整形
int
整形
a
=
0;
但是在vs等软件中(微软的软件)是可以这么写的,那么也就有了可以用易语言编写程序的可能性,但是vs又不是拿来做单片机开发的~
如果哪天楼主突发奇想,开发一个中国的单片机编程软件,那么就可以用易语言去编程了~
⑽ 如何用keil5新建STM32 新工程
2.创建一个Demo文件夹
2.1 新建子文件夹User,用于存放用户源程序
2.2 新建子文件夹Project,用户KEIL工程文件
2.3 在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。
3. 复制源代码到Demo文件夹
3.1 将stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Libraries文件整体复制到Demo文件夹下。这就是ST的标准库,是以源代码形式提供的。
3.2 将库中的演示代码IOToggle中的文件复制到Demo\User文件夹.
4. 新建一个Keil MDK工程
4.1 启动Keil MDK,点击菜单 New uVision Project,然后按向导进行操作
4.2 选择CPU类型为 STM32F103ZE (这是安富莱STM32开发板采用CPU类型)
4.3 当提示是否复制启动代码时,请选择否。(我们用最新的库中的启动代码,不用Keil软件自带的旧版本启动文件)
4.4 根据自己的需要修改Target名字。(名字任意)
4.5 为了便于代码管理,在这个Project下创建几个Group (名字可以任意)
User : 存放用户自己写的源代码
RVMDK : 存放启动文件(汇编文件)
StdPeriph_Driver : 存放ST标准库文件
CMSIS : 存放CMSIS接口文件(这也是库的一部分)
4.6 创建好Group后,我们开始依次添加文件。
5. 修改源代码。我们将修改main.c 文件,换成我们自己跑马灯程序。
6. 配置工程, 点击“Options”按钮
6.1 切换到Output。
选择Object文件夹。
在Create Hex File 前打钩。
6.2 切换带Listing。
选择Listings文件夹
6.3 切换到C/C++
添加两个预编译宏 STM32F10X_HD, USE_STDPERIPH_DRIVER (这是ST库用到了这两个宏)
修改Includes路径
6.4 切换到Debug
选择硬件调试器(缺省是软件仿真),我们选择Cortex-M3 J-Link调试器
再 Run to main前打钩
6.4 切换到Utilities
选额调试器类型,我们选择Cortex-M3 J-Link
点settings按钮,添加Flash编程算法,我们选择STM32高密度器件,Flash容量512K字节
7. 配置工程完毕。下面开始编译。
8. 编译OK,开始调试。
9. 教程结束。