




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
stm32单片机考试复习stm32单片机考试复习stm32单片机考试复习xxx公司stm32单片机考试复习文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度填空题。ST公司的STM32F4系列芯片采用了__________内核,其分为两个系列。其中STM32F407系列的运行频率为_________。所有的IO端口都有外部中断功能,当使用外部中断时候,IO引脚必须设置为________模式。程序存储器、数据存储器、寄存器和I/O端口排列在同一个线性(即地址连续)的________地址空间内。定时器的时基单元包括__________,_________和自动重载寄存器。串口数据帧由__________,数据位,奇偶校验位,停止位组成。GPIO端口的位可以配置为多种模式,有输入模式,输出模式,______和______。CM4内核支持256个中断,其中包含了______个内核中断和______个外部中断。ADC转换模式分为_______和______。程序存储器、数据存储器、寄存器和I/O端口排列在同一个线性(即地址连续)的________地址空间内。定时器的时基单元包括__________,_________和自动重载寄存器。串口数据帧由__________,数据位,奇偶校验位,停止位组成。GPIO端口的位可以配置为多种模式,有输入模式,输出模式,______和______。ST公司的STM32F4系列芯片采用了__________内核,其分为两个系列。其中STM32F407系列的运行频率为_________。当定时器使用GPIO引脚实现输出比较产生PWM,IO引脚必须设置为________模式。程序存储器、数据存储器、寄存器和I/O端口排列在同一个线性(即地址连续)的________地址空间内。I2C总线在传送数据过程中共有三种类型信号,它们分别是:__________,结束信号和_______________。串口数据帧由__________,数据位,奇偶校验位,停止位组成。GPIO端口的位可以配置为多种模式,有输入模式,输出模式,______和______。STM32F407内部集成了_________个DAC。STM32F407芯片有___________个定时器。ADC转换模式分为_______和______。DAC采用12位转换能达到的转换精度是____________________。I2C总线在传送数据过程中共有三种类型信号,它们分别是:__________,结束信号和_______________。24.GPIO端口的位可以配置为多种模式,有输入模式,输出模式,______和______。选择题下列哪种方法可以对STM32进行程序下载【】A.ST_LinkB.J_LinkC.在线应用编程D.以上都可以哪些不是STM32的ADC系统的特点【】A.4-位分辨率B.自校准C.可编程数据对齐D.单次和连续转换模式3.STM32嵌套向量中断控制器(NVIC)具有多少个可编程的优先等级【】A.16B.43C.72D.364.以下不属于串行通信方式的接口是【】A.SPIB.UARTC.IICD.8080接口5.表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义的关键字是【】A.externB.staticC.defineD.typedef6、STM32F407ZET6芯片共有多少个引脚。【】A.112B.72C.144D.1767.STM32F407系统时钟SYSCLK来源不包括【】A.HSEB.HSIC.PLLCLKD.LSI8.每个IO引脚都有一个复用器,该复用器采用多少路复用功能输入。【】A.8B.16C.32D.49.以下不属于串行通信方式的接口是【】A.SPIB.UARTC.IICD.8080接口10.表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义的关键字是【】A.externB.staticC.defineD.typedef11.STM32F407ZET6芯片FLASH容量是【】A.256KB.512KC.1MD.2M12.定时器的时基单元不包括【】A.自动重载寄存器B.定时器计数器C.预分频寄存器D.溢出寄存器13.STM32F407共有多少个GPIO引脚。【】A.112B.176C.144D.7214.以下不属于IIC接口的特点是【】A.串行通信B.半双工C.异步传输D.2线式总线15.STM32F767内部集成温度传感器的输出连接到ADC的通道上。【】A.通道18B.通道16C.通道4D.通道516.STM32F407ZET6芯片共有多少个IO口。【】A.112B.72C.144D.17617.STM32F407系统时钟SYSCLK来源不包括【】AHSEB.HSIC.PLLCLKD.LSI18.STM32F767的ADC是12位逐次逼近型的模数转换器,它有多少个通道。【】A.8B.16C.19D.419.串口接口是几线的串行通信总线。【】A.1B.2C.4D.820.定义结构体的类型别名和枚举类型的关键字是【】A.externB.staticC.defineD.typedef三、简答题简述不同复用功能的重映射过程。简述STM32的USART的功能特点。简述STM32时钟的类型。IIC总线的组成?画出IIC总线工作时序图,并说明总线数据传输过程。说明外部按键扫描方式和外部线中断方式的差异。请说明使用基于HAL库的编程方式处理ADC的步骤。简述GPIO端口四种模式的区别。简述查询方式和中断方式在ADC的区别。简述STM32F407时钟系统的来源构成及多个时钟源的作用。简述定时器输出比较输出PWM的原理。请说明使用基于HAL库的编程方式使用DAC的步骤。四、程序阅读题阅读下列程序,在空格填上正确注释。voidIIC_Start(void){ SDA_OUT();//____________________ IIC_SDA=1; IIC_SCL=1; delay_us(4); IIC_SDA=0;//___________________ delay_us(4); IIC_SCL=0;//____________________} voidIIC_Stop(void){ SDA_OUT(); IIC_SCL=0; IIC_SDA=0;//_____________________ delay_us(4); IIC_SCL=1; IIC_SDA=1;//___________________ delay_us(4); }阅读下列程序,完成程序填空,并说明程序功能。u8KEY_Scan(u8mode){_____u8key_up=1;//按键松开标志if(mode==1)_________;//支持连按if(key_up&&(KEY0==0||KEY1==0||KEY2==0||WK_UP==1)){delay_ms(10);key_up=0;if(KEY0==0)returnKEY0_PRES;elseif(KEY1==0)returnKEY1_PRES;elseif(KEY2==0)returnKEY2_PRES;elseif(WK_UP==1)returnWKUP_PRES;}elseif(______________________)key_up=1;return0;//无按键按下}程序实现的功能?找出下列程序中错误,并改正。voidMY_ADC_Init(void){ADC1_Handler.Instance=ADC1;ADC1_Handler.Init.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV4;ADC1_Handler.Init.Resolution=ADC_RESOLUTION_4B;ADC1_Handler.Init.DataAlign=ADC_DATAALIGN_RIGHT;ADC1_Handler.Init.ScanConvMode=DISABLE;ADC1_Handler.Init.EOCSelection=DISABLE;ADC1_Handler.Init.ContinuousConvMode=DISABLE;ADC1_Handler.Init.NbrOfConversion=1;ADC1_Handler.Init.DiscontinuousConvMode=DISABLE;ADC1_Handler.Init.NbrOfDiscConversion=0;ADC1_Handler.Init.ExternalTrigConv=ADC_SOFTWARE_START;ADC1_Handler.Init.ExternalTrigConvEdge=ADC_EXTERNALTRIGCONVEDGE_NONE;ADC1_Handler.Init.DMAContinuousRequests=DISABLE;HAL_ADC_Init(&ADC1_Handler);}voidHAL_ADC_MspInit(ADC_HandleTypeDef*hadc){GPIO_InitTypeDefGPIO_Initure;__HAL_RCC_ADC2_CLK_ENABLE();__HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_Initure.Pin=GPIO_PIN_5;GPIO_Initure.Mode=GPIO_MODE_OUTPUT;GPIO_Initure.Pull=GPIO_PULLUP;HAL_GPIO_Init(GPIOA,&GPIO_Initure);}阅读下列程序,在空格填上正确注释。intmain(void){u8key_num=0;HAL_Init(); //_______________Stm32_Clock_Init(432,25,2,9); //_______________delay_init(216);//_______________Led_Init(); Digitron_Init(); Key_Init(); //_______________ while(1) { key_num=KEY_Scan(0x01);//_______________ switch(key_num) { case1:LED0(0);LED1(1);break; case2:LED0(0);LED1(0);break; case3:LED0(1);LED1(1);break; case4:LED0(1);LED1(0);break; } }}5阅读下列程序,完成程序填空,并说明程序功能。u8KEY_Scan(u8mode){staticu8key_up=1;if(mode==1)key_up=1;if(__________________________){delay_ms(10);key_up=0;if(Key0==0)return1;if(Key1==0)return2;if(Key2==0)return3;if(Wk_Up==1)return4;}elseif(Key0==1&&Key1==1&&Key2==1&&Wk_Up==0)_____________;____________;}程序实现了什么功能?6.找出下列程序中错误,并改正。#include"digitron.h"#include"delay.h"u8Posture_Code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};u8Segment_Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40,0xff};voidDigitron_Init(void){GPIO_InitTypeDefGPIO_Initure;__HAL_RCC_GPIOF_CLK_ENABLE(); GPIO_Initure.Pin=GPIO_PIN_8||GPIO_PIN_6||GPIO_PIN_7;GPIO_Initure.Mode=GPIO_MODE_INPUT_PP;GPIO_Initure.Pull=GPIO_PULLUP;GPIO_Initure.Speed=GPIO_SPEED_HIGH;HAL_GPIO_Init(GPIOC,&GPIO_Initure);}voidHC595_Transport_Byte(u8dat)//实现一个字节数据的输出{ u8i,temp; for(i=0;i<8;i++) { temp=dat&0x80; if(temp) HAL_GPIO_WritePin(GPIOF,GPIO_PIN_7,GPIO_PIN_SET); elseHAL_GPIO_WritePin(GPIOF,GPIO_PIN_7,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOF,GPIO_PIN_8,GPIO_PIN_RESET); delay_us(5); HAL_GPIO_WritePin(GPIOF,GPIO_PIN_8,GPIO_PIN_SET);delay_us(5); dat>>=1; }}voidDisp_Digitron(u8*posture,u8*dispture){u8i; for(i=0;i<8;i++) { HAL_GPIO_WritePin(GPIOF,GPIO_PIN_6,GPIO_PIN_SET); delay_ms(5);HC595_Transport_Byte(~posture[i]); HC595_Transport_Byte(Segment_Code[dispture[i]]); HAL_GPIO_WritePin(GPIOF,GPIO_PIN_6,GPIO_PIN_RESET); delay_us(5); }}7.阅读下列程序,在空格填上正确注释voidLED_Init(void){GPIO_InitTypeDefGPIO_Initure;//_________________HAL_RCC_GPIOC_CLK_ENABLE();//______________ GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1;GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;//____________GPIO_Initure.Pull=GPIO_PULLUP;//______________GPIO_Initure.Speed=GPIO_SPEED_HIGH;HAL_GPIO_Init(GPIOC,&GPIO_Initure);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);//___________HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_SET);}8.阅读下列程序,完成程序填空,并说明程序功能voidLCD_ShowString(u16x,u16y,u16width,u16height,u8size,u8*p){ u8x0=x; width+=x; height+=y;while((*p<='~')&&(*p>=''))//判断是不是非法字符!{if(_________){x=x0;y+=size;}if(_________)break;//退出LCD_ShowChar(x,y,*p,size,0);x+=size/2;_________;}}程序(函数)实现的功能?9.找出下列程序中错误,并改正。voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart){ if(huart->Instance=USART1) { if((USART_RX_STA&&0x8000)==0) { if(USART_RX_STA&0x4000) { if(aRxBuffer[0]==0x0a)USART_RX_STA=0; elseUSART_RX_STA=0x8000; } else { if(aRxBuffer[0]!=0x0d)USART_RX_STA|=0x4000; else { USART_RX_BUF[USART_RX_STA&0X3FFF]=aRxBuffer[0]; USART_RX_STA++; if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0; } } } }}阅读下列程序,在空格填上正确注释。u8KEY_Scan(u8mode){staticu8key_up=1;//__________________if(mode==1)key_up=1;//__________________if(key_up&&(KEY0==0||KEY1==0||KEY2==0||WK_UP==1)){delay_ms(10);key_up=0;//_________________if(KEY0==0)returnKEY0_PRES;elseif(KEY1==0)returnKEY1_PRES;elseif(KEY2==0)returnKEY2_PRES;elseif(WK_UP==1)returnWKUP_PRES;}elseif(KEY0==1&&KEY1==1&&KEY2==1&&WK_UP==0)key_up=1;//____________________return0;//_____________________}阅读下列程序,完成程序填空,并说明程序功能。voidLED_Init(void){GPIO_InitTypeDef____________;__HAL_RCC_GPIOC_CLK_ENABLE();GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1;GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;GPIO_Initure.Pull=GPIO_PULLUP;GPIO_Initure.Speed=GPIO_SPEED_HIGH;HAL_GPIO_Init(______________);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET); //PB0置1,默认初始化后灯灭HAL_GPIO_WritePin(_____________________); //PB1置1,默认初始化后灯灭}程序(函数)实现的功能?找出下列程序中错误,并改正。voidIIC_Start(void){ SDA_OUT(); IIC_SDA(1); IIC_SCL(0); delay_us(4); IIC_SDA(0); delay_us(4); IIC_SCL(1);} voidIIC_Stop(void){ SDA_OUT(); IIC_SCL(0); IIC_SDA(1); delay_us(4); IIC_SCL(1); IIC_SDA(0); delay_us(4); }//产生ACK应答voidIIC_Ack(void){ IIC_SCL(0); SDA_OUT(); IIC_SDA(1); delay_us(2); IIC_SCL(1); delay_us(2); IIC_SCL(0);程序设计题。使用DAC的通道1,通过外部引脚PA4输出模拟信号。要求写出完整的MspInit()函数。设计程序,使用定时器在PA2端口输出f=2HZ,q=2/3的方波。下列程序是DAC的初始化函数,请写出完整的MspInit函数。#include"dac.h"DAC_HandleTypeDefDAC1_Handler;//DAC句柄//初始化DACvoidDAC1_Init(void){DAC_ChannelConfTypeDefDACCH1_Config;DAC1_Handler.Instance=DAC;HAL_DAC_Init(&DAC1_Handler);//初始化DACDACCH1_Config.DAC_Trigger=DAC_TRIGGER_NONE;//不使用触发功能DACCH1_Config.DAC_OutputBuffer=DAC_OUTPUTBUFFER_DISABLE;//DAC1输出缓冲关闭HAL_DAC_ConfigChannel(&DAC1_Handler,&DACCH1_Config,DAC_CHANNEL_1);//DAC通道1配置HAL_DAC_Start(&DAC1_Handler,DAC_CHANNEL_1);//开启DAC通道1}voidHAL_DAC_MspInit(DAC_HandleTypeDef*hdac){…………}4.设计程序,使用定时器TIMER2的通道CHANNEL_3输出PWM,要求实现定时器的初始化、PWM输出控制函数及将主程序填写完整。#include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"timer.h"intmain(void){u8dir=1;u16led0pwmval=0;HAL_Init(); Stm32_Clock_Init(336,2,8,7);delay_init(168);uart_init(115200); ……….while(1){………..………..………..}}5.编程驱动74HC595,在数码管上显示自己的学号。设计程序,使用定时器TIMER2在PA3端口输出f=1HZ,q=3/5的方波。7.下列程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度租赁房屋人身安全与社区安全服务体系合同
- 2025年度节庆活动无偿场地使用许可合同
- 二零二五年度金融消费者权益保护合作协议
- 二零二五年度养老护理机构劳动合同终止及护理服务协议
- 2025年度施工现场安全责任认定协议
- 二零二五年度机关单位食堂员工激励与保障合同
- 母公司对子公司2025年度管理费用审核及支付合同
- Unit 3 Writing Home Lesson 17 Danny's Email 同步练习(含答案含听力原文无音频)
- 2025年度餐厅员工劳务及餐饮企业员工绩效管理合同
- 二零二五年度酒店培训投资入股合同
- 2025年黑龙江职业学院单招职业适应性测试题库附答案
- 《多样的中国民间美术》课件 2024-2025学年人美版(2024)初中美术七年级下册
- 家政讲师培训课件
- 2025年中国春节档市场报告-拓普数据-
- 2025年山西省太原市卫健委直属单位招聘522人历年高频重点模拟试卷提升(共500题附带答案详解)
- 劳务合同协议书书
- 白城2025年吉林大安市事业单位面向上半年应征入伍高校毕业生招聘5人笔试历年参考题库附带答案详解
- 全球人工智能产业发展现状和趋势
- 2024年西安电力高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2024年牡丹江大学单招职业适应性测试题库带答案
- 统编版(2024新版)七年级下册道德与法治期末复习背诵知识点提纲
评论
0/150
提交评论