版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
蓝桥杯嵌入试题库及答案一、嵌入式系统基础知识(选择题,总分20分)1.以下哪个不是嵌入式系统的基本特征?A.专用性B.实时性C.高性能D.资源受限2.在嵌入式系统中,RTOS的主要作用是:A.提供图形界面B.管理系统资源和任务调度C.提供网络功能D.增加系统存储容量3.以下哪种处理器架构最常用于高性能嵌入式系统?A.ARMCortex-M系列B.RISC-VC.Intelx86D.DSP4.嵌入式系统的软件层次结构中,位于操作系统和应用程序之间的是:A.BIOSB.中间件C.驱动程序D.文件系统5.以下哪种存储器具有非易失性且可以多次擦写?A.SRAMB.DRAMC.FlashD.ROM6.在嵌入式系统中,I2C是一种:A.串行通信接口B.并行通信接口C.无线通信协议D.电源管理接口7.以下哪个不是嵌入式实时系统的关键特性?A.确定性B.高吞吐量C.可预测性D.时间约束8.嵌入式系统中的DMA(直接内存访问)主要作用是:A.提高CPU利用率B.增加系统存储容量C.提高系统安全性D.降低系统功耗9.以下哪种总线协议常用于嵌入式系统的传感器接口?A.USBB.SPIC.CAND.UART10.在嵌入式系统中,看门狗定时器的主要功能是:A.提高系统性能B.监控系统运行状态并在异常时复位系统C.增加系统安全性D.优化电源管理答案:1.答案:C解释:嵌入式系统的基本特征包括专用性、实时性、资源受限等,而高性能通常不是嵌入式系统的主要特征,因为嵌入式系统通常需要在有限的资源条件下完成任务,而非追求极致性能。2.答案:B解释:RTOS(实时操作系统)的主要作用是管理系统资源和任务调度,确保任务能够在规定的时间内完成,满足实时性要求。提供图形界面、网络功能和增加存储容量不是RTOS的核心功能。3.答案:C解释:Intelx86架构具有强大的计算能力和丰富的指令集,常用于需要高性能的嵌入式系统,如工业控制、高端网络设备等。ARMCortex-M系列主要用于低功耗嵌入式应用,RISC-V是一种新兴的开放指令集架构,DSP主要用于数字信号处理。4.答案:B解释:嵌入式系统的软件层次结构通常包括:硬件层、驱动层、中间件层、操作系统层和应用程序层。中间件位于操作系统和应用程序之间,提供各种服务,如网络通信、数据管理等。5.答案:C解释:Flash是一种非易失性存储器,可以多次擦写,常用于嵌入式系统的固件存储。SRAM和DRAM是易失性存储器,断电后数据会丢失。ROM是只读存储器,通常只能编程一次。6.答案:A解释:I2C(Inter-IntegratedCircuit)是一种串行通信接口,常用于嵌入式系统中连接各种低速外设,如传感器、EEPROM等。USB是通用串行总线,SPI是串行外设接口,CAN是控制器局域网,主要用于汽车电子系统。7.答案:B解释:嵌入式实时系统的关键特性包括确定性、可预测性和时间约束。高吞吐量虽然重要,但不是实时系统的核心特性,实时系统更强调任务在截止时间前完成。8.答案:A解释:DMA(直接内存访问)允许外设直接与内存传输数据,无需CPU干预,从而提高CPU利用率,让CPU可以处理其他任务。增加存储容量、提高安全性和降低功耗不是DMA的主要功能。9.答案:B解释:SPI(SerialPeripheralInterface)是一种全双工同步串行通信接口,常用于嵌入式系统中连接传感器、存储器等外设。USB是通用串行总线,CAN是控制器局域网,主要用于汽车电子系统,UART是异步串行通信接口。10.答案:B解释:看门狗定时器是嵌入式系统中的一种硬件机制,用于监控系统运行状态。如果在规定时间内没有收到"喂狗"信号,看门狗会复位系统,防止系统因软件故障而陷入死循环。提高性能、增加安全性和优化电源管理不是看门狗的主要功能。二、嵌入式硬件知识(填空题,总分15分)1.ARM处理器架构中的Thumb指令集主要用于______,以提高代码密度。2.在嵌入式系统中,I/O端口通常分为______端口和______端口两种类型。3.嵌入式系统中常用的A/D转换器分辨率通常以______为单位表示。4.SPI通信接口通常由四条线组成,分别是MOSI、MISO、SCLK和______。5.嵌入式系统中的Cache主要用于解决______和______之间的速度差异。6.在嵌入式系统中,常用的实时时钟芯片是______。7.嵌入式系统中的低功耗模式通常包括______、______和深度睡眠等几种状态。8.在嵌入式系统中,常用的调试接口有JTAG和______两种。9.嵌入式系统中的总线按传输数据的方式可以分为______总线和______总线。10.嵌入式系统中的存储器按存取方式可以分为随机存取存储器、只读存储器和______。答案:1.答案:减少代码大小解释:ARM处理器架构中的Thumb指令集是一种16位精简指令集,主要用于减少代码大小,提高代码密度,从而节省存储空间。2.答案:数字,模拟解释:在嵌入式系统中,I/O端口通常分为数字端口和模拟端口两种类型。数字端口用于处理高低电平信号,模拟端口用于处理连续变化的模拟信号。3.答案:位解释:A/D转换器的分辨率通常以位为单位表示,如8位、10位、12位等,分辨率越高,能够表示的模拟信号级别越多,精度越高。4.答案:SS/CS解释:SPI通信接口通常由四条线组成:MOSI(主出从入)、MISO(主入从出)、SCLK(时钟信号)和SS/CS(从设备选择/片选)。5.答案:CPU,内存解释:嵌入式系统中的Cache主要用于解决CPU和内存之间的速度差异,通过存储频繁访问的数据,减少内存访问次数,提高系统性能。6.答案:RTC解释:实时时钟(RTC)是一种能够提供准确时间的集成电路,即使在系统断电的情况下也能保持时间,常用于需要时间记录的嵌入式系统中。7.答案:睡眠模式,停止模式解释:嵌入式系统中的低功耗模式通常包括睡眠模式、停止模式和深度睡眠等几种状态,通过降低系统时钟频率、关闭部分外设等方式减少功耗。8.答案:SWD解释:在嵌入式系统中,常用的调试接口有JTAG(JointTestActionGroup)和SWD(SerialWireDebug)两种,SWD是一种更简洁的两线调试接口。9.答案:串行,并行解释:嵌入式系统中的总线按传输数据的方式可以分为串行总线和并行总线。串行总线一次传输一位数据,如I2C、SPI等;并行总线一次传输多位数据,如PCI等。10.答案:顺序存取存储器解释:嵌入式系统中的存储器按存取方式可以分为随机存取存储器(RAM)、只读存储器(ROM)和顺序存取存储器(SAM),如磁带存储器。三、嵌入式软件知识(判断题,总分10分)1.嵌入式操作系统通常比通用操作系统更轻量级,资源占用更少。()2.在嵌入式系统中,中断服务程序应该尽可能执行复杂操作。()3.嵌入式系统中的多任务调度通常采用时间片轮转算法。()4.嵌入式软件的开发通常比PC软件开发更注重代码的可移植性。()5.嵌入式系统中的内存管理通常采用虚拟内存技术。()6.在嵌入式系统中,硬件抽象层(HAL)的主要作用是隐藏硬件细节,提供统一的接口。()7.嵌入式系统中的实时任务必须满足截止时间要求。()8.嵌入式系统中的设备驱动程序通常由操作系统提供,不需要开发者编写。()9.在嵌入式系统中,优先级反转是指高优先级任务被低优先级任务阻塞的现象。()10.嵌入式系统中的软件测试通常比PC软件测试更简单,因为系统规模较小。()答案:1.答案:√解释:嵌入式操作系统通常比通用操作系统更轻量级,资源占用更少,这是因为嵌入式系统资源有限,需要高效的操作系统来管理有限的资源。2.答案:×解释:在嵌入式系统中,中断服务程序应该尽可能简短,只执行必要的操作,如设置标志位、发送信号等,复杂操作应该放在主程序中处理,以减少系统中断时间。3.答案:√解释:嵌入式系统中的多任务调度通常采用时间片轮转算法,确保每个任务都能获得CPU时间,避免某个任务长时间占用CPU资源。4.答案:√解释:嵌入式软件的开发通常比PC软件开发更注重代码的可移植性,因为嵌入式系统硬件平台多样,需要软件能够适应不同的硬件环境。5.答案:×解释:在嵌入式系统中,由于资源有限,通常不采用虚拟内存技术,而是采用静态内存分配或简单的动态内存管理策略。6.答案:√解释:硬件抽象层(HAL)的主要作用是隐藏硬件细节,提供统一的接口,使上层软件可以不依赖具体硬件实现,提高代码的可移植性。7.答案:√解释:嵌入式系统中的实时任务必须满足截止时间要求,这是实时系统的核心特性,任务必须在规定的时间内完成,否则可能导致系统失效。8.答案:×解释:在嵌入式系统中,设备驱动程序通常需要开发者根据具体硬件编写,虽然操作系统提供一些通用驱动,但特定硬件的驱动需要定制开发。9.答案:√解释:在嵌入式系统中,优先级反转是指高优先级任务被低优先级任务阻塞的现象,这可能导致高优先级任务无法按时完成,是实时系统中需要解决的问题。10.答案:×解释:嵌入式系统中的软件测试通常比PC软件测试更复杂,因为嵌入式系统资源有限,且往往与硬件紧密相关,需要考虑更多的约束条件和边界情况。四、嵌入式系统设计(简答题,总分25分)1.请简述嵌入式系统设计的基本流程,并说明每个阶段的主要工作内容。2.解释嵌入式系统中的实时性概念,并说明如何保证系统的实时性。3.在嵌入式系统中,如何进行低功耗设计?请列举至少三种低功耗设计技术。4.简述嵌入式系统中硬件抽象层(HAL)的作用和设计原则。5.在嵌入式系统设计中,如何进行可靠性设计?请列举至少三种提高可靠性的方法。答案:1.答案:嵌入式系统设计的基本流程包括以下几个阶段:需求分析阶段:明确系统的功能需求、性能需求、成本约束、功耗要求等,定义系统的输入输出接口和规格说明。系统架构设计阶段:根据需求选择合适的处理器、操作系统、硬件平台和软件架构,划分软硬件模块,定义模块间的接口和数据流。硬件设计阶段:根据系统架构设计电路原理图、PCB布局,选择合适的元器件,进行硬件原型制作和测试。软件设计阶段:编写软件架构文档,设计数据结构和算法,进行模块划分,定义软件接口,编写详细设计文档。编码实现阶段:根据详细设计文档进行编码实现,包括驱动程序开发、应用程序开发、系统初始化代码等。系统集成阶段:将软硬件模块集成在一起,进行系统级测试,发现并修复集成过程中出现的问题。测试验证阶段:对系统进行全面测试,包括功能测试、性能测试、可靠性测试、兼容性测试等,确保系统满足设计要求。量产维护阶段:完成产品化设计,进行小批量试产,根据用户反馈进行产品改进和维护。2.答案:实时性是指系统能够在规定的时间内对外部事件做出响应并完成处理的能力。在嵌入式系统中,实时性通常分为硬实时和软实时两种。硬实时要求任务必须在截止时间前完成,否则会导致系统严重故障;软实时要求任务尽量在截止时间前完成,偶尔超时不会导致系统失效。保证系统实时性的方法包括:任务优先级管理:根据任务的紧急程度和重要性设置不同的优先级,确保关键任务获得足够的CPU时间。实时调度算法:采用适合实时系统的调度算法,如速率单调调度(RMS)、最早截止时间优先(EDF)等。中断管理:优化中断服务程序,减少中断处理时间,避免长时间屏蔽中断。资源锁定:对共享资源进行适当锁定,避免资源竞争导致任务阻塞。优先级继承:采用优先级继承协议防止优先级反转问题。实时分析:对系统进行实时性分析,确保所有任务都能满足截止时间要求。3.答案:嵌入式系统中的低功耗设计技术包括:动态电压和频率调节(DVFS):根据系统负载动态调整处理器电压和频率,在低负载时降低电压和频率,减少功耗。外设时钟门控:在不使用外设时关闭其时钟,减少动态功耗。低功耗模式:利用处理器提供的低功耗模式,如睡眠模式、停止模式、深度睡眠模式等,在系统空闲时降低功耗。软件优化:优化算法减少计算量,使用高效的编码技巧,避免不必要的计算和内存访问。硬件优化:选择低功耗元器件,优化电路设计,减少漏电流和静态功耗。电源管理:采用多级电源管理策略,为不同模块提供不同电压,在不使用时关闭电源。4.答案:硬件抽象层(HAL)的作用:隐藏硬件细节:将硬件相关的操作封装在HAL中,上层软件不需要关心具体的硬件实现。提供统一接口:为上层软件提供统一的硬件访问接口,使软件可以运行在不同的硬件平台上。简化移植工作:当硬件平台变化时,只需要修改HAL层代码,上层软件无需修改。提高代码复用性:相同的上层软件可以在不同的硬件平台上运行,提高代码复用率。HAL的设计原则:模块化设计:将不同硬件模块的抽象功能分离,形成独立的模块。接口简洁:提供简洁明了的接口,避免过度抽象。高效性:在抽象硬件细节的同时,尽量减少性能开销。可测试性:提供测试接口,便于单元测试和集成测试。可扩展性:设计良好的扩展机制,支持新硬件的添加。5.答案:嵌入式系统中的可靠性设计方法:冗余设计:在关键部件采用冗余设计,如双处理器、双电源、双传感器等,当一个部件失效时,另一个部件可以接管工作。故障检测与恢复:实现故障检测机制,如看门狗定时器、周期性自检等,在检测到故障时进行系统复位或切换到备用模式。降额设计:元器件工作在低于额定参数的状态,如降低电压、电流、温度等,延长元器件寿命。电磁兼容设计:采取屏蔽、滤波、接地等措施,提高系统抗电磁干扰能力。环境适应性设计:考虑系统工作环境的极端情况,如温度变化、湿度、振动等,采取相应措施确保系统稳定运行。软件可靠性设计:采用模块化设计、错误处理机制、异常捕获等技术,提高软件可靠性。可靠性测试:进行长时间运行测试、高低温测试、振动测试等,验证系统在各种条件下的可靠性。五、嵌入式编程与应用(编程题,总分30分)1.编写一个C语言程序,实现基于STM32的GPIO输入输出控制。要求:初始化GPIO,配置一个引脚为输入(检测按键),另一个引脚为输出(控制LED),当检测到按键按下时,切换LED的状态。2.编写一个基于FreeRTOS的任务创建和调度程序。要求:创建三个不同优先级的任务,分别实现LED闪烁、串口数据发送和按键检测功能,并合理设置任务优先级和栈大小。3.编写一个嵌入式系统中的I2C通信程序,实现与温度传感器(如LM75)的通信,读取温度值并通过串口输出。需要包括I2C初始化、启动信号、发送设备地址、读取数据和停止信号等关键步骤。答案:1.答案:```cinclude"stm32f10x.h"//初始化GPIOvoidGPIO_Init(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//配置PA0为输入(按键)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);//配置PA5为输出(LED)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);}//延时函数voidDelay(vu32nCount){for(;nCount!=0;nCount--);}intmain(void){//初始化GPIOGPIO_Init();//初始状态,LED关闭GPIO_SetBits(GPIOA,GPIO_Pin_5);while(1){//检测按键是否按下if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==Bit_RESET){//消抖延时Delay(50000);//再次检测按键是否按下if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==Bit_RESET){//切换LED状态if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_5)==Bit_SET){GPIO_ResetBits(GPIOA,GPIO_Pin_5);//LED关闭}else{GPIO_SetBits(GPIOA,GPIO_Pin_5);//LED打开}//等待按键释放while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==Bit_RESET);Delay(50000);}}}}```2.答案:```cinclude"FreeRTOS.h"include"task.h"include"stm32f10x.h"//LED闪烁任务voidvLEDTask(voidpvParameters){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//配置PA5为输出(LED)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);while(1){//LED状态切换GPIO_SetBits(GPIOA,GPIO_Pin_5);vTaskDelay(200/portTICK_RATE_MS);GPIO_ResetBits(GPIOA,GPIO_Pin_5);vTaskDelay(200/portTICK_RATE_MS);}}//串口发送任务voidvUARTTask(voidpvParameters){//初始化UARTUSART_InitTypeDefUSART_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和USART1时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);//配置USART1TX引脚(PA9)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);//配置USART1RX引脚(PA10)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);//USART1参数配置USART_InitStructure.USART_BaudRate=9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;USART_Init(USART1,&USART_InitStructure);//使能USART1USART_Cmd(USART1,ENABLE);while(1){//发送数据USART_SendData(USART1,'U');USART_SendData(USART1,'A');USART_SendData(USART1,'R');USART_SendData(USART1,'T');USART_SendData(USART1,'\r');USART_SendData(USART1,'\n');vTaskDelay(1000/portTICK_RATE_MS);}}//按键检测任务voidvKeyTask(voidpvParameters){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//配置PA0为输入(按键)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);while(1){//检测按键是否按下if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==Bit_RESET){//消抖延时vTaskDelay(50/portTICK_RATE_MS);//再次检测按键是否按下if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==Bit_RESET){//按键按下处理//这里可以添加按键按下后的处理代码vTaskDelay(200/portTICK_RATE_MS);}}vTaskDelay(10/portTICK_RATE_MS);}}intmain(void){//创建任务xTaskCreate(vLEDTask,"LED",configMINIMAL_STACK_SIZE,NULL,1,NULL);xTaskCreate(vUARTTask,"UART",configMINIMAL_STACK_SIZE,NULL,2,NULL);xTaskCreate(vKeyTask,"Key",configMINIMAL_STACK_SIZE,NULL,3,NULL);//启动调度器vTaskStartScheduler();while(1){//不应该执行到这里}}```3.答案:```cinclude"stm32f10x.h"include<stdio.h>//I2C初始化voidI2C_Init(void){I2C_InitTypeDefI2C_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;//使能I2C1和GPIOB时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//配置I2C1引脚//PB6-SCL//PB7-SDAGPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_OD;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);//I2C1参数配置I2C_InitStructure.I2C_Mode=I2C_Mode_I2C;I2C_InitStructure.I2C_DutyCycle=I2C_DutyCycle_2;I2C_InitStructure.I2C_OwnAddress1=0x00;I2C_InitStructure.I2C_Ack=I2C_Ack_Enable;I2C_InitStructure.I2C_AcknowledgedAddress=I2C_AcknowledgedAddress_7bit;I2C_InitStructure.I2C_ClockSpeed=100000;//100kHzI2C_Init(I2C1,&I2C_InitStructure);//使能I2C1I2C_Cmd(I2C1,ENABLE);}//I2C启动信号voidI2C_Start(void){//等待I2C总线空闲while(I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));//发送启动信号I2C_GenerateSTART(I2C1,ENABLE);//等待启动信号发送完成while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));}//I2C停止信号voidI2C_Stop(void){//发送停止信号I2C_GenerateSTOP(I2C1,ENABLE);}//发送数据voidI2C_SendData(uint8_tdata){//发送数据I2C_SendData(I2C1,data);//等待数据发送完成while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));}//接收数据uint8_tI2C_ReceiveData(void){//等待数据接收完成while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));//接收数据returnI2C_ReceiveData(I2C1);}//读取LM75温度值floatRead_Temperature(void){uint8_ttemp_data[2];floattemperature;//LM75的I2C地址uint8_tLM75_ADDR=0x48<<1;//发送启动信号I2C_Start();//发送设备地址(写)I2C_SendData(LM75_ADDR);//发送温度寄存器地址(0x00)I2C_SendData(0x00);//重新启动I2C_GenerateSTART(I2C1,ENABLE);while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));//发送设备地址(读)I2C_SendData(LM75_ADDR|0x01);//读取温度值(高字节和低字节)temp_data[0]=I2C_ReceiveData();I2C_AcknowledgeConfig(I2C1,DISABLE);//发送NAKtemp_data[1]=I2C_ReceiveData();//发送停止信号I2C_Stop();//恢复ACKI2C_AcknowledgeConfig(I2C1,ENABLE);//计算温度值(LM75的分辨率为0.5°C/位)temperature=(temp_data[0]<<8|temp_data[1])>>7;temperature=0.5;returntemperature;}//初始化USART1用于调试输出voidUSART1_Init(void){USART_InitTypeDefUSART_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和USART1时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);//配置USART1TX引脚(PA9)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南省沅江市高二化学下册期末考试模拟试卷附答案【综合题】
- 2026年浙江省嵊州市高二化学下册期末考试模拟检测卷及答案(易错题)
- 2026年吉林省临江市高二化学下册期末考试模拟卷及参考答案(轻巧夺冠)
- 2026年吉林省延吉市高二化学下册期末考试模拟检测卷及答案【网校专用】
- 2026年湖北省洪湖市高二化学下册期末考试模拟测试卷【必刷】附答案
- 2026年吉林省榆树市高二化学下册期末考试模拟试卷及参考答案【突破训练】
- 2026年山东省乳山市高二化学下册期末考试模拟卷【夺冠系列】附答案
- 2026年广东省高州市高二化学下册期末考试模拟考试卷附答案(黄金题型)
- 2.2《食品安全我知道·采购安全的食品》教学设计 辽海版《综合实践活动》九年级下册
- 2025-2026学年腹语教学设计数学
- 2024年高考物理真题分类汇编(全一本附答案)
- 教师与家长沟通技巧培训
- 苏教版三年级下册数学期末测试卷(含答案)
- 装配车间技能矩阵图
- 特种门安装工程检验批质量验收记录
- 人教版四年级数学下册期末模拟卷(四)(含答案)
- 学生问题分析识别与处理(共46张PPT)
- 进制以和进制转换
- 复兴中学自主招生选拔考试数学试卷
- GB/T 22032-2021系统与软件工程系统生存周期过程
- GB/T 13234-2018用能单位节能量计算方法
评论
0/150
提交评论