datasheet

Keil宏定义和如何知道单片机资源名称

2019-04-18来源: eefocus关键字:Keil  宏定义  单片机  资源名称

在Keil的工程设置中需要根据所选单片机来更改宏定义,如果程序移植后,宏定义没有更改过去,有时候会报错。




这个宏定义代表了芯片的类型,如下:

因此需要根据自己芯片的类型,更改宏定义。


如何知道自己芯片的资源名称呢?比如定时器叫什么名字?


可以打开stm32f10x.h文件,往下拉可以看见:


这些宏定义代表:


STM32F10X_LD_VL 对应于 LowDensity ValueLine,即小容量的STM32F100

STM32F10X_MD_VL 对应于 MediumDensity ValueLine,即中等容量的STM32F100

STM32F10X_HD_VL 对应于 HighDensity ValueLine,即大容量的STM32F100

STM32F10X_CL 对应于 ConnectivityLine,即STM32F105、STM32F107

其实更常用的是STM32F103:

STM32F10X_LD 对应于 LowDensity ,即小容量的STM32F103、101

STM32F10X_MD 对应于 MediumDensity ,即中等容量的STM32F103、101

STM32F10X_HD 对应于 HighDensity ,即大容量的STM32F103、101


比如芯片是STM32F103C8T6,flash是64K,是中等容量的STM32F103,即STM32F10X_MD ,因此对应到stm32f10x.h文件下的:


可知到,该芯片有TIM2、TIM3、TIM4三个普通定时器,有TIM1一个高级定时器,串口有三个。。。


关键字:Keil  宏定义  单片机  资源名称

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/ic459099.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:Keil代码整体偏移和查找功能
下一篇:keil中文乱码解决和个人习惯字体设置

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

KEIL v3添加STC系列单片机库文件 方法+头文件库

增加一个单片机数据库,既可以选择STC单片机,又不影响原来数据库的使用。操作步骤:1.下载用于keil的STC数据库更名为STC.CDB。将文件夹中的文件放到相应的文件夹下,若没有STC文件夹,自己新建一个。或者拷贝到Keil/UV2目录下。(如果是Kile3则是UV3,Kile4则是UV4)。STC文件夹里包含各类的单片机型号有STC10 11 12 15 90 等···· 2.打开Keil文件夹下的TOOLS.ini文件,添加TOOLS.INI文件,添加STC.CDB路径。在[UV2]下面(也就是[C51]上方)键入CDB0=UV2STC.CDB("STC"),然后保存退出即添加完毕。(如果是
发表于 2019-05-21
KEIL v3添加STC系列单片机库文件 方法+头文件库

Keil4出现contains an incorrect path的提示

用Keil4进行程序编译后,如果没有错误的话,在项目文件下的头文件会自动加载到.c文件的下面,如下所示:但现在,我出现的错误时:并且点击编译后,头文件没有自动加载上去,如下所示:同时出现了一个错误,双击错误时弹出contains an incorrect path的窗口,解决办法:1.先检查错误,修改过来,就行了。2.我的文件名是“单片机U1的数据发送程序.c”,出现错误的是“的”后面那几个字,于是修改一下这几个字变成“单片机U1的发送程序.c”,之后从新编译,就不会出现contains an incorrect path的提示了,但是头文件依然没有加载上,所以错误还存在。我的错误提示为:C(10):error C202
发表于 2019-05-20
Keil4出现contains an incorrect path的提示

程序有误,为什么Keil却没有报错

这两天在整1602,程序都写完后用Keil编译,有报错,但后来都一一解决了,于是烧进单片机,可不管怎么调1602就是不显示,首先我可以确定硬件电路是没有问题的,因为我用另外一个程序往1602里面写一个字符串,就可以显示。最后我只得对照书上的源程序,一个字母一个字母比对,比较了有3次,问题依然没有找到,都有点灰心了,花了我一天半时间于是就放一边了。今天下班后再一次找错,总与知道错在了哪里,/*********************************函数功能:写数据*********************************/void WriteData(unsigned char y){while(BusyTest
发表于 2019-05-20
程序有误,为什么Keil却没有报错

Keil IAR - Cortex M3 调试问题及解决方法(1)

看到一篇文章,转载如下。 其实不光是STM32, 其它芯片甚至其它的IDE 都可参考。STM32调试过程中常见的问题及解决方法一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.”解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。二、 编译工程时提示如下信息:main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).main.axf: Error: L6218E
发表于 2019-05-14

Keil IAR - Cortex M3 调试问题及解决方法(2)

最近又用stm32 和  lm3s 做点协议栈等,把一些调试心得写出来吧,本文可是原创,转载请注明出处。芯片是stm32f103 stm32f107 lm3s9790 lm3s9b90, 开发环境是 keil mdk 4.22  iar arm 6.30.1 stm32 官方库的更新 并不向下完全兼容,其中有他们家的新的芯片不断推出有关。使用库,本人想做了个模板, 可以使用keil 和iar 使用,像官方库一样,只是它文件管理不方便。项目的配置可以抄袭官方的配置,就行了。注意: c 语言代码文件可以完全移植,但是汇编文件如 启动文件却不同,因为编译器不同,而且,官方库升级后,启动文件和底层文件发生了很大的变化
发表于 2019-05-14
Keil IAR - Cortex M3 调试问题及解决方法(2)

Keil IAR - Cortex M3 调试问题及解决方法(3)

上次谈到由于stm32官方库和iar ew arm 的不断升级, 多出配置都发生了 变化,1在使用 ewarm 6.30 升级stm32 stdlib 3.5 出现了这个错误Error(Pe47)   declaration is incompatible with "__interwork__softfp unsigned long __get_PSP(void)", ”declaration “ 说明有文件中定义冲突。查了一下,IAR自己带了CMSIS的库文件,而我们本地工程下也有CMSIS,因此我们选择IAR自带的就没有问题了。步骤如下:Please follow the fo
发表于 2019-05-14

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved