keil5建立stm32f103c8t6工程

时间: 2023-05-31 15:20:35 浏览: 232
### 回答1: Keil5中建立STM32F103C8T6工程的步骤如下: 1. 打开Keil5软件,在菜单栏中选择Project -> New uVision Project。 2. 在弹出的对话框中输入工程名称,并选择工程存储位置。 3. 选择Device: STM32F103C8Tx。 4. 选择Use Target Driver Library,这样就可以使用STM32F103C8T6的驱动库。 5. 点击OK, 等待工程建立完成。 6. 添加源文件, 并编写代码. 7. 配置好编译器以及调试器设置,编译并下载代码到MCU. 8. 完成,即可进行调试或程序测试. ### 回答2: Keil5是一款针对ARM微控制器的集成开发环境,可以通过该软件来创建STM32F103C8T6工程。下面是具体步骤: 第一步,打开Keil5软件并进入创建新工程界面。选择“Project”菜单中的“New µVision Project”。 第二步,选择工程存放的目录和文件名,并点击“Save”保存工程。 第三步,选择所使用的芯片型号。在“Device”菜单下的“Select”选项中选择“STMicroelectronics”并在下拉菜单中找到“STM32F1”系列。在系列下找到“STM32F103C8T6”并点击“OK”按钮。 第四步,添加程序文件。在“Project”菜单下选择“Add File to Project”,在弹出的窗口中选择需要添加的程序文件并点击“Add”按钮。 第五步,配置工程属性。在“Project”菜单下选择“Options for Target”,在弹出的窗口中选择“C/C++”标签页并进行相应的配置,包括代码生成工具、编译选项等。 第六步,编译工程。在Keil5界面左侧的“Project”窗口中选择所创建的工程,点击菜单栏中的“Build”按钮进行编译。 第七步,下载程序。连接好目标板后,在Keil5界面中选择“Flash”菜单下的“Configure Flash Tools”选项来设置烧录参数,然后点击“Download”来下载程序到目标板。 通过以上步骤,即可建立STM32F103C8T6工程。需要注意的是,在配置各项参数时,应该根据具体需求进行相应的选择和设置,才能保证工程的顺利实施和运行。 ### 回答3: Keil 5是一种先进的集成开发环境,可用于嵌入式系统的开发,用它来建立STM32F103C8T6工程非常便捷。下面将详细介绍如何用Keil 5建立STM32F103C8T6工程。 第一步是打开Keil 5软件,点击菜单栏中的“File(文件)”-“New Project(新建工程)”。 第二步是选择“Device(器件)”选项卡并输入“stm32f103c8”进行搜索。然后选择STMicroelectronics公司的“STM32F103C8”器件,然后点击“OK”。 第三步是在“Project Name(工程名称)”中输入一个适当的名称,在“Project Path(工程路径)”中指定将要存储项目的目录,然后单击“Save(保存)”以创建工程。 第四步是选择适当的编译器。Keil 5软件默认使用Keil C Compiler,但也支持其他编译器。选择Keil C Compiler,然后单击“OK”完成此步骤。 第五步是在“Target(目标)”选项卡中,选择适当的仿真器、目标硬件和调试接口。 第六步是在“Debug(调试)”选项卡中配置工程的调试模式。选择“Use Simulator(使用仿真器)”并选择仿真器。然后点击“OK”。 第七步是在“Project(工程)”窗口中添加需要的文件和库,包括头文件、源文件和库文件等等。 第八步是编写代码,同时在Keil 5软件中进行编译、构建及调试。通过单击“Build Target(构建目标)”按钮,构建工程并生成hex文件。 最后,通过连接开发板和PC,并通过仿真器与目标硬件进行连接,下载hex文件进行运行。 总之,在Keil 5中建立STM32F103C8T6工程比较简单。通过上述步骤,可以很容易地建立一个STM32F103C8T6工程,并使用Keil 5进行高效开发。

相关推荐

非常感谢您的提问。以下是使用Keil5编写STM32F103C8T6超声波代码的示例: #include "stm32f10x.h" #include "delay.h" #include "usart.h" #define TRIG_PIN GPIO_Pin_0 #define ECHO_PIN GPIO_Pin_1 #define TRIG_PORT GPIOA #define ECHO_PORT GPIOA void TIM2_Init(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_Cmd(TIM2, ENABLE); } void Ultrasonic_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = TRIG_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(TRIG_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = ECHO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(ECHO_PORT, &GPIO_InitStructure); } float Ultrasonic_GetDistance(void) { uint32_t start, end; float distance; GPIO_ResetBits(TRIG_PORT, TRIG_PIN); delay_us(2); GPIO_SetBits(TRIG_PORT, TRIG_PIN); delay_us(10); GPIO_ResetBits(TRIG_PORT, TRIG_PIN); while (GPIO_ReadInputDataBit(ECHO_PORT, ECHO_PIN) == RESET); start = TIM_GetCounter(TIM2); while (GPIO_ReadInputDataBit(ECHO_PORT, ECHO_PIN) != RESET); end = TIM_GetCounter(TIM2); distance = (float)(end - start) * 0.017; return distance; } int main(void) { float distance; SystemInit(); delay_init(); USART1_Init(); Ultrasonic_Init(); TIM2_Init(); while (1) { distance = Ultrasonic_GetDistance(); printf("Distance: %.2f cm\r\n", distance); delay_ms(500); } } 希望这可以帮助您!
好的,以下是一个简单的在Keil5中使用STM32F103C8T6实现PWM呼吸灯的工程代码: c #include "stm32f10x.h" #define LED_PIN GPIO_Pin_13 #define LED_GPIO_PORT GPIOC #define LED_GPIO_CLK RCC_APB2Periph_GPIOC #define TIM_PERIOD 255 void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(LED_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = LED_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(LED_GPIO_PORT, &GPIO_InitStructure); } void TIM_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); TIM_TimeBaseStructure.TIM_Period = TIM_PERIOD; TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 0; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC3Init(TIM3, &TIM_OCInitStructure); TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); TIM_Cmd(TIM3, ENABLE); } void delay(uint32_t n) { while(n--) { __NOP(); } } int main(void) { uint8_t duty_cycle = 0; uint8_t direction = 1; GPIO_Configuration(); TIM_Configuration(); while(1) { TIM_SetCompare3(TIM3, duty_cycle); if(duty_cycle == 0) { direction = 1; } else if(duty_cycle == TIM_PERIOD) { direction = -1; } duty_cycle += direction; delay(20000); } } 在这个代码中,我们使用了STM32F103C8T6的Timer3和PWM输出来控制LED的亮度。我们通过一个死循环来改变占空比,从而实现呼吸灯的效果。请注意,我们使用了TIM_PERIOD来设置PWM的周期,这里设置为255,即PWM的最大值。我们还使用了72-1来预分频Timer3的时钟,这样计数器每计数一次,就会产生一个时钟周期,即1us。在while循环中,我们使用了delay函数来降低占空比改变的速度,以便更好地观察呼吸灯的效果。 希望这个代码可以帮助到你!
以下是使用Keil5和STM32F103C8T6微控制器实现PWM呼吸灯的示例代码: 首先,在主函数中调用PWM_Configuration函数进行初始化: c int main(void) { PWM_Configuration(); while (1) { for (uint16_t duty_cycle = 0; duty_cycle <= 1000; duty_cycle++) { TIM_SetCompare1(TIM2, duty_cycle); for (int i = 0; i < 1000; i++); } for (uint16_t duty_cycle = 1000; duty_cycle >= 0; duty_cycle--) { TIM_SetCompare1(TIM2, duty_cycle); for (int i = 0; i < 1000; i++); } } } 然后,在PWM_Configuration函数中进行TIM2定时器的初始化,设置输出通道1为PWM模式: c void PWM_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; // 使能TIM2和GPIOA的时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 配置GPIOA.1为复用推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); // 配置TIM2 TIM_TimeBaseStructure.TIM_Prescaler = 71; // 时钟预分频,72MHz/72=1MHz TIM_TimeBaseStructure.TIM_Period = 999; // 定时器计数器上限,1MHz/1000=1kHz TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 时钟分频 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 向上计数模式 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); // 配置TIM2输出通道1为PWM模式 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 0; // PWM占空比的初始值 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM2, &TIM_OCInitStructure); TIM_Cmd(TIM2, ENABLE); // 使能TIM2定时器 } 以上示例代码中,通过改变PWM输出通道1的占空比,实现了呼吸灯的效果。具体来说,先从0逐渐增加到1000,再从1000逐渐减小到0,然后不断重复这个过程。其中休眠1000次循环,可以控制呼吸灯的闪烁速度。
### 回答1: stm32f103c8t6工程模板是一种基于STM32F103C8T6微控制器的项目开发模板。这个微控制器是基于ARM Cortex-M3内核的低功耗、高性能的单片机。这个模板提供了一个基础的框架,可以帮助开发人员在该芯片上进行嵌入式软件开发。 该工程模板通常包含以下几个主要部分: 1. 引导代码:这部分代码用于初始化芯片并加载启动代码,它确保了系统能够正常启动。这包括设置堆栈指针、复位向量表以及其他必要的初始化工作。 2. 主函数:这里包含了整个程序的入口点,开发人员可以在此处编写自己的代码。它一般会包含一些初始化代码,设置系统时钟、外设和中断等。 3. 驱动程序:该模板通常会包含一些针对特定外设的驱动程序。这些驱动程序可以帮助开发人员更容易地配置和控制外设,如串口、SPI、I2C等。 4. 库和头文件:模板会提供一些常用的库和头文件,用于开发人员引用和调用一些常见的功能和接口。这些库和头文件可以简化编程过程,提高开发效率。 5. 编译器和调试工具配置:该模板还包含了一些编译器和调试工具的配置文件,以确保可以正确地编译和调试工程。 通过使用stm32f103c8t6工程模板,开发人员可以快速入手并开始开发他们的嵌入式项目。这个模板提供了一些基本的功能和结构,使得开发流程更加高效,并且可以在特定的芯片上直接运行测试。同时,开发人员也可以根据自己的需求进行修改和扩展,以满足具体的应用要求。 ### 回答2: STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,常用于各种嵌入式系统和电子设备的开发。工程模板是为了方便开发者快速搭建一个基础工程而设计的。 STM32F103C8T6工程模板通常包含以下内容: 1. 开发环境配置:包括安装和配置开发工具链(如Keil MDK、STM32CubeIDE等)和驱动程序,确保能够正确编译和下载程序到芯片。 2. 驱动库的链接:这款微控制器有丰富的外设资源供开发者使用,如GPIO、USART、SPI、I2C等。工程模板会预先将这些驱动库链接到工程中,以方便开发者调用。 3. 启动文件和链接脚本:启动文件是一个汇编代码文件,用于初始化芯片和设置中断向量表等。链接脚本则指明了程序的存放地址和各个模块的布局,在编译时会根据链接脚本生成相应的可执行文件。 4. 示例代码和工程结构:工程模板通常会提供一些示例代码,包括常见的功能和外设的使用方法。同时,工程模板会预先构建好一些常用文件夹结构,方便开发者组织代码和资源文件。 5. 相关文档和参考资料:在工程模板中常常会包含相关的文档和参考资料,以帮助开发者理解和使用该微控制器。这些文档可能包括数据手册、参考手册、编程指南等。 使用STM32F103C8T6工程模板,开发者可以快速搭建起一个基础的开发环境,并使用示例代码和相关资料进行开发。这样可以省去一些繁琐的配置步骤和代码编写,加快项目的开发进度。当然,开发者还可以根据自己的需求进行修改和扩展,以实现更丰富的功能。 ### 回答3: stm32f103c8t6是一款常用的32位单片机芯片,它具有丰富的外设和强大的处理能力,广泛应用于各个领域的嵌入式系统开发中。工程模板是为了方便开发者快速搭建工程环境和编写代码而设计的。 stm32f103c8t6工程模板一般包含以下几个方面的内容: 1. 硬件初始化:工程模板中通常包含了对芯片的引脚配置、外设时钟使能等初始化操作,确保硬件环境正确运行。 2. 系统时钟配置:stm32f103c8t6具有多种时钟源和分频器,通过配置系统时钟可以满足不同应用场景的需求。 3. 中断配置:工程模板中通常会包含中断向量表的定义和中断服务函数的编写,以便实现对外部事件的响应。 4. 外设驱动库引用:stm32f103c8t6支持多种外设,如串口、SPI、I2C、定时器等,工程模板中会引用相应的外设驱动库,方便开发者使用。 5. 示例代码:工程模板中通常会包含一些示例代码,用于演示如何使用某些功能或者外设,以便开发者能够快速上手。 总之,stm32f103c8t6工程模板是为了方便开发者快速搭建工程环境,提供基础的硬件和软件配置,并附带一些示例代码,方便开发者进行开发和学习。使用工程模板可以节省开发时间,提高开发效率。
### 回答1: STM32F103C6T6和STM32F103C8T6都是STM32F1系列的微控制器,都基于ARM Cortex-M3内核。它们的主要区别在于存储器大小和引脚数。STM32F103C6T6具有32KB闪存和48引脚,而STM32F103C8T6具有64KB闪存和48引脚。因此,如果您需要更大的存储器容量,您应该选择STM32F103C8T6。 ### 回答2: STM32F103C6T6和STM32F103C8T6都是STM32F1系列的MCU,都有相同的CPU内核,Flash和SRAM容量,以及相同的外设和工作频率范围。它们之间最大的不同是包装和引脚数。 STM32F103C6T6采用LQFP48(7mm x 7mm)封装,具有少量的引脚,只有36个,其中包括多个GPIO引脚、USART、SPI、I2C、定时器、ADC等外设,因此适合用于需要紧凑尺寸的应用,比如手持设备、仪器和家用电器等。 STM32F103C8T6采用LQFP48(7mm x 7mm)封装,具有64个引脚,除了与C6T6相同的外设外,它还有额外的GPIO引脚、USB口、CAN总线等接口。因此,C8T6通常用于需要更多外设和更多GPIO的应用,如自动控制系统、仪表、通讯等。 需要注意的是,由于C6T6的引脚较少,也因此成本更低,但C8T6的引脚更多,因此价格较高。概括来说,如果您需要更多的GPIO和外设接口,可以选择STM32F103C8T6,否则可以选择STM32F103C6T6。 ### 回答3: STM32F103C6T6和STM32F103C8T6是ST公司推出的两款基于Arm Cortex-M3内核的单片机芯片。它们是STM32F103系列的成员,都具有高性能、低功耗、丰富的外设资源和易于开发的特点。这两款芯片之间主要的区别在于存储器和外设的数量。 首先来看STM32F103C6T6,它的Flash存储器容量为32KB,SRAM存储器容量为10KB,同时还提供了4个定时器、2个SPI、3个USART、2个I2C和37个通用I/O口。尽管存储器容量较小,但是对于一些资源要求不高的应用场景还是具有一定的市场竞争力的。 而STM32F103C8T6则在存储器和外设方面更为丰富,它的Flash存储器容量为64KB,SRAM存储器容量为20KB。同时还提供了3个定时器、2个SPI、3个USART、2个I2C、1个CAN和37个通用I/O口。相比于C6T6,它的存储器容量更大,外设的数量也更多。对于一些需要大存储器和多外设支持的应用来说,C8T6可以更好的满足这些需求。 从开发角度来看,两款芯片开发工具链和资料支持都是一致的,如STM32CubeMX、Keil、IAR等。因此,在选型时需要评估具体应用的需求,考虑到制造成本、资源是否复杂、性能和可靠性等要素,选择合适的芯片型号,才能设计出能够满足市场需求且成本控制在合理范围的产品。

最新推荐

STM32工程在keil下怎么移植到IAR环境(stm32f103c8).docx

选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。 b.Library Configuration的Library要设置为Full,这样才能使用printf(); b. 进入C/C++Compiler,添加文件路径和所需的宏定义。 到此路径...

使用Qt开发的一个简单的酒店管理系统.zip

计算机类毕业设计源码

STM32CubeMX环境搭建

STM32CubeMX环境搭建所需文件

《C语言程序设计》教学标准

《C语言程序设计》课程是大学计算机基础教学系列中的核心课程,主要面向理工科信息类专业的学生。该课程重在培养学生掌握计算机程序设计的思想和方法,初步具有在本专业领域应用计算机的能力,为进一步学习后续课程打下坚实的基础。

windows系统Java JDK8、JDK11、JDK17安装包

Jdk安装包8/11/17 jdk-8u221-windows-64bit.exe jdk-8u241-windows-64bit.exe jdk-8u381-windows-x64.exe jdk-11.0.19_windows-x64_bin.exe jdk-17_windows-x64_bin.exe 之前博主的win10系统安装的jdk8为 jdk: java version "1.8.0_221" 具体安装步骤及配置环境变量参考博客下的文章: “Java基础-环境篇:JDK安装与环境变量配置jdk8/11/17(保姆式详解)” https://blog.csdn.net/weixin_46474921/article/details/133173826?spm=1001.2014.3001.5502

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

语义Web动态搜索引擎:解决语义Web端点和数据集更新困境

跟踪:PROFILES数据搜索:在网络上分析和搜索数据WWW 2018,2018年4月23日至27日,法国里昂1497语义Web检索与分析引擎Semih Yumusak†KTO Karatay大学,土耳其semih. karatay.edu.trAI 4 BDGmbH,瑞士s. ai4bd.comHalifeKodazSelcukUniversity科尼亚,土耳其hkodaz@selcuk.edu.tr安德烈亚斯·卡米拉里斯荷兰特文特大学utwente.nl计算机科学系a.kamilaris@www.example.com埃利夫·尤萨尔KTO KaratayUniversity科尼亚,土耳其elif. ogrenci.karatay.edu.tr土耳其安卡拉edogdu@cankaya.edu.tr埃尔多安·多杜·坎卡亚大学里扎·埃姆雷·阿拉斯KTO KaratayUniversity科尼亚,土耳其riza.emre.aras@ogrenci.karatay.edu.tr摘要语义Web促进了Web上的通用数据格式和交换协议,以实现系统和机器之间更好的互操作性。 虽然语义Web技术被用来语义注释数据和资源,更容易重用,这些数据源的特设发现仍然是一个悬 而 未 决 的 问 题 。 流 行 的 语 义 Web �

centos7安装nedit

### 回答1: 你可以按照以下步骤在 CentOS 7 上安装 nedit: 1. 打开终端并切换到 root 用户。 2. 运行以下命令安装 EPEL 存储库: ``` yum install epel-release ``` 3. 运行以下命令安装 nedit: ``` yum install nedit ``` 4. 安装完成后,你可以在终端中运行以下命令启动 nedit: ``` nedit ``` 如果你想打开一个文件,可以使用以下命令: ``` nedit /path/to/file

TFT屏幕-ILI9486数据手册带命令标签版.pdf

ILI9486手册 官方手册 ILI9486 is a 262,144-color single-chip SoC driver for a-Si TFT liquid crystal display with resolution of 320RGBx480 dots, comprising a 960-channel source driver, a 480-channel gate driver, 345,600bytes GRAM for graphic data of 320RGBx480 dots, and power supply circuit. The ILI9486 supports parallel CPU 8-/9-/16-/18-bit data bus interface and 3-/4-line serial peripheral interfaces (SPI). The ILI9486 is also compliant with RGB (16-/18-bit) data bus for video image display. For high speed serial interface, the ILI9486 also provides one data and clock lane and supports up to 500Mbps on MIPI DSI link. And also support MDDI interface.

数据搜索和分析

跟踪:PROFILES数据搜索:在网络上分析和搜索数据WWW 2018,2018年4月23日至27日,法国里昂1485表征数据集搜索查询艾米莉亚·卡普尔扎克英国南安普敦大学开放数据研究所emilia. theodi.org珍妮·坦尼森英国伦敦开放数据研究所jeni@theodi.org摘要在Web上生成和发布的数据量正在迅速增加,但在Web上搜索结构化数据仍然存在挑战。在本文中,我们探索数据集搜索分析查询专门为这项工作产生的通过众包-ING实验,并比较它们的搜索日志分析查询的数据门户网站。搜索环境的变化以及我们给人们的任务改变了生成的查询。 我们发现,在我们的实验中发出的查询比数据门户上的数据集的搜索查询要长得多。 它们还包含了七倍以上的地理空间和时间信息的提及,并且更有可能被结构化为问题。这些见解可用于根据数据集搜索的特定信息需求和特征关键词数据集搜索,�