在使用MDK5(Microcontroller Development Kit version 5)进行STM32系列微控制器编程时,有时会遇到一些编译错误,其中一个常见的错误是:“#error “Please select first the target STM32F4xx device used in your application””,这个错误信息提示开发者必须首先选择在应用程序中使用的目标STM32F4xx设备。,这个错误通常发生在使用STM32CubeMX生成的代码上,或者在创建新的MDK工程时没有正确配置目标设备,为了解决这个问题,我们需要确保MDK工程中的设备选项和头文件宏定义是正确配置的。,我们需要了解错误的原因,在STM32的库文件中,特别是 stm32f4xx.h这个头文件,有一个条件编译检查,它要求我们定义目标设备的具体型号,如果没有选择或定义正确的设备型号,就会出现这个错误。,以下是解决这个问题的详细步骤:,1、打开MDKARM工程,找到“Options for Target”菜单项,这通常是工程设置的地方。,2、在弹出的对话框中,选择“C/C++”标签页,然后在“Define”区域添加或修改宏定义,这些宏定义告诉编译器我们正在使用的具体设备型号。,如果使用的是STM32F407ZET6,需要添加的宏定义为:,“`,USESTDPERIPHDRIVER,STM32F407xx,“`,这个宏定义告诉编译器我们正在使用的是STM32F407系列中的一个设备。,3、添加或修改了宏定义之后,点击“OK”保存设置,然后重新编译工程。,4、如果在修改了宏定义之后仍然遇到错误,可能是因为选择了错误的设备选项或者工程中存在其他配置错误。,确保在“Device”选项中选择了正确的STM32F4xx设备。,检查工程中是否包含了正确的设备头文件,比如 stm32f4xx.h。,5、如果编译错误提示找不到 corecmInstr.h文件,这通常意味着MDK的CMSIS(Cortex Microcontroller Software Interface Standard)组件没有正确配置。,为了解决这个问题,需要将CMSIS的路径添加到工程中,路径通常类似于:,“`,盘符:你的MDK(keil)安装目录ARMPackARMCMSIS.2.0CMSISInclude,“`,在MDK中,可以通过“Options for Target”的“C/C++”标签页中的“Include Paths”来添加路径。,6、完成以上步骤后,再次编译工程,错误应该会被解决。,值得注意的是,在配置这些选项时,必须确保所有的路径、宏定义和设备选择都针对当前的微控制器型号进行了正确的设置,细微的差别可能导致编译失败。,当使用STM32CubeMX生成代码时,通常会自动配置这些设置,如果手动修改了工程设置或迁移了代码到新的工程中,就需要检查这些配置是否已经正确应用。,解决 MDK5中“Please select first the target STM32F4xx device used in your application”的报错,关键在于确保工程设置中的设备型号、宏定义和包含路径正确无误,通过仔细检查和对照上述步骤进行配置,开发者应该能够成功编译他们的STM32F4xx应用程序。, ,
在HTML中编写CSS有几种方法,以下是一些常见的方法:,1、内联样式(Inline Styles),内联样式是将CSS代码直接写在 HTML元素的”style”属性中,这种方法的优点是可以直接修改元素的样式,不需要额外的外部文件,如果页面中有多个元素需要使用相同的样式,那么就需要重复编写相同的CSS代码,不利于代码的维护和复用。,示例:,2、内部样式表(Internal Style Sheets),内部样式表是将CSS代码写在HTML文档的 <head>标签内的 <style>标签中,这种方法的优点是可以将CSS代码与HTML代码分离,提高了代码的可读性和可维护性,如果页面中有多个元素需要使用相同的样式,那么还是需要重复编写相同的CSS代码。,示例:,3、外部样式表(External Style Sheets),外部样式表是将CSS代码写在一个单独的外部文件中,然后在HTML文档中使用 <link>标签将外部样式表链接到HTML文档中,这种方法的优点是可以将CSS代码与HTML代码完全分离,提高了代码的可读性和可维护性,同时可以实现多个HTML页面共享同一个CSS文件,减少了代码的冗余。,创建一个名为 style.css的外部CSS文件,内容如下:,在HTML文档中使用 <link>标签将外部样式表链接到HTML文档中:,4、导入样式表(Imported Style Sheets),导入样式表是使用 @import规则将一个外部CSS文件导入到另一个CSS文件中,这种方法通常用于将一个大型项目的CSS代码模块化,将其拆分成多个独立的CSS文件,以便于管理和维护,需要注意的是, @import规则在IE浏览器中不被支持,因此在使用该方法时需要考虑浏览器兼容性问题。,创建一个名为 main.css的CSS文件,内容如下:,在HTML文档中使用 <link>标签将主CSS文件链接到HTML文档中:,5、CSS预处理器(CSS Preprocessors),CSS预处理器是一种脚本语言,用于扩展CSS的功能,它们允许你使用变量、嵌套规则、混合等功能来编写更简洁、更易于维护的CSS代码,目前最常用的CSS预处理器有Sass、Less和Stylus,要使用CSS预处理器,你需要先安装相应的预处理器库和编译器,然后将预处理器代码编译成普通的CSS代码,最后将编译后的CSS代码引入到HTML文档中。,以Sass为例,首先安装Sass库和编译器:,创建一个名为 main.scss的Sass文件,内容如下:,接下来,使用命令行工具将Sass文件编译成普通的CSS文件:, ,<p style=”color: red; fontsize: 20px;”>这是一个红色的段落。</p>,<!DOCTYPE html> <html> <head> <style> p { color: red; fontsize: 20px; } </style> </head> <body> <p>这是一个红色的段落。</p> </body> </html>,p { color: red; fontsize: 20px; },<!DOCTYPE html> <html> <head> <link rel=”stylesheet” type=”text/css” href=”style.css”> </head> <body> <p>这是一个红色的段落。</p> </body> </html>,@import “reset.css”; @import “base.css”; @import “layout.css”; @import “module.css”;