范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

长文STM32嵌入式面试知识点总结

  #头条创作挑战赛#一、STM32F1和F4的区别?解答:
  参看:STM32开发 – STM32初识
  内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核;
  主频不同:F1主频72MHz,F4主频168MHz;
  浮点运算:F1无浮点运算单位,F4有;
  功能性能:F4外设比F1丰富且功能更强大,比如GPIO翻转速率、上下拉电阻配置、ADC精度等;
  内存大小:F1内部SRAM最大64K,F4有192K(112+64+16)。 二、介绍以下STM32启动过程?解答:
  参看:STM32开发 – 启动流程
  通过Boot引脚设定,寻找初始地址
  初始化栈指针 __initial_sp
  指向复位程序 Reset_Hander
  设置异常中断 HardFault_Handler
  设置系统时钟 SystemInit
  调用C库函数 _main 三、介绍以下GPIO?解答:
  参看:STM32开发 – GPIO详解
  GPIO 8种工作模式(gpio_init.GPIO_Mode):
  (1) GPIO_Mode_AIN 模拟输入
  (2) GPIO_Mode_IN_FLOATING 浮空输入
  (3) GPIO_Mode_IPD 下拉输入
  (4) GPIO_Mode_IPU 上拉输入
  (5) GPIO_Mode_Out_OD 开漏输出
  (6) GPIO_Mode_Out_PP 推挽输出
  (7) GPIO_Mode_AF_OD 复用开漏输出
  (8) GPIO_Mode_AF_PP 复用推挽输出
  APB2 负责 AD,I/O,高级TIM,串口1。
  APB1 负责 DA,USB,SPI,I2C,CAN,串口2345,普通TIM,PWR
  GPIO框图剖析:
  参看:STM32-GPIO详解
  四、UART问题一:串行通信方式介绍?
  同步通信:I2C 半双工,SPI 全双工
  异步通信:RS485 半双工、RS232 全双工问题二:串口配置?
  串口设置的一般步骤可以总结为如下几个步骤:
  (1)串口时钟使能,GPIO时钟使能
  (2)串口复位
  (3)GPIO端口模式设置
  TX的GPIO工作模式为:GPIO_Mode_AF_PP;//复用推挽输出
  RX的GPIO工作模式为:GPIO_Mode_IN_FLOATING;//浮空输入
  (4)串口参数初始化
  主要包含:波特率设置(115200)、8个数据位、1个停止位、无奇偶校验位、无硬件数据流控制、收发模式。
  (5)开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)
  (6)使能串口
  (7)编写中断处理函数问题三:USART主要特点?
  (1)全双工操作(相互独立的接收数据和发送数据);
  (2)同步操作时,可主机时钟同步,也可从机时钟同步;
  (3)独立的高精度波特率发生器,不占用定时/计数器;
  (4)支持5、6、7、8和9位数据位,1或2位停止位的串行数据桢结构;
  (5)由硬件支持的奇偶校验位发生和检验;
  (6)数据溢出检测;
  (7)帧错误检测;
  (8)包括错误起始位的检测噪声滤波器和数字低通滤波器;
  (9)三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成;
  (10)支持多机通信模式;
  (11)支持倍速异步通信模式。解答:
  参看:STM32开发 – 串口详解
  应用场景:GPS、蓝牙、4G模块 五、I2C问题一:I2C 总线在传送数据过程中共有三种类型信号?
  (1)开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
  (2)结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
  (3)应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。问题二:I2C配置主机模式端口该怎么配置?
  硬件模式:复用开漏输出、既不上拉也不下拉。(快速模式:400 Kbit/s)
  软件模拟:推挽输出、配置上拉电阻。问题三:I2C仲裁机制?
  参看:S5PV210开发 – I2C 你知道多少?(三)
  I2C 仲裁机制,理解了 线"与"(Wired-AND),就一目了然了。
  简单说,它遵循"低电平优先"的原则,即谁先发送低电平谁就会掌握对总线的控制权。解答:
  参看:STM32开发 – PMIC、I2C详解
  硬件模式:  是有通信速率设置的
  /* STM32 I2C 快速模式 */
  #define I2C_Speed 400000
  /* 通信速率 */
  I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
  软件模拟:  没有设置通信速率,该怎么计算呢?
  通过I2C总线位延迟函数 i2c_Delay: static void i2c_Delay(void) { 	uint8_t i;  	/*  	 	下面的时间是通过安富莱AX-Pro逻辑分析仪测试得到的。 		CPU主频72MHz时,在内部Flash运行, MDK工程不优化 		循环次数为10时,SCL频率 = 205KHz  		循环次数为7时,SCL频率 = 347KHz, SCL高电平时间1.5us,SCL低电平时间2.87us  	 	循环次数为5时,SCL频率 = 421KHz, SCL高电平时间1.25us,SCL低电平时间2.375us               IAR工程编译效率高,不能设置为7 	*/ 	for (i = 0; i < 10; i++); }
  应用场景:PMIC、加速度计、陀螺仪 六、SPI问题一:SPI需要几根线?
  SPI 接口一般使用 4 条线通信:
  MISO 主设备数据输入,从设备数据输出。
  MOSI 主设备数据输出,从设备数据输入。
  SCLK 时钟信号,由主设备产生。
  CS 从设备片选信号,由主设备控制。问题二:SPI通信的四种模式?
  SPI 有四种工作模式,各个工作模式的不同在于 SCLK 不同, 具体工作由 CPOL,CPHA 决定。
  (1)CPOL: (Clock Polarity),时钟极性:
  SPI的CPOL,表示当SCLK空闲idle的时候,其电平的值是低电平0还是高电平1:
  CPOL=0,时钟空闲idle时候的电平是低电平,所以当SCLK有效的时候,就是高电平,就是所谓的active-high;
  CPOL=1,时钟空闲idle时候的电平是高电平,所以当SCLK有效的时候,就是低电平,就是所谓的active-low;
  (2)CPHA:(Clock Phase),时钟相位:
  相位,对应着数据采样是在第几个边沿(edge),是第一个边沿还是第二个边沿,
  0对应着第一个边沿,1对应着第二个边沿。对于:
  CPHA=0,表示第一个边沿:
  对于CPOL=0,idle时候的是低电平,第一个边沿就是从低变到高,所以是上升沿;
  对于CPOL=1,idle时候的是高电平,第一个边沿就是从高变到低,所以是下降沿;
  CPHA=1,表示第二个边沿:
  对于CPOL=0,idle时候的是低电平,第二个边沿就是从高变到低,所以是下降沿;
  对于CPOL=1,idle时候的是高电平,第一个边沿就是从低变到高,所以是上升沿;
  问题三:该如何确定使用哪种模式?
  (1)先确认从机需求的 SCLK 极性,不工作时是在低电位还是高电位,由此确认 CPOL 为 0 或 1。
  看原理图,我们设置串行同步时钟的空闲状态为高电平所以我们选择 SPI_CPOL_High。
  也就是CPOL为1
  (2)再由slave芯片 datasheet 中的时序图确认 slave 芯片是在 SCLK 的下降沿采集数据,还是在SCLK的上升沿。
  翻译一下:
  W25Q32JV通过SPI兼容总线访问,包括四个信号:串行时钟(CLK),芯片选择(/CS),串行数据输入(DI)和串行数据输出(DO)。标准SPI指令使用DI输入引脚串行地将指令、地址或数据写入CLK上升沿上的设备。DO输出引脚用于从CLK下降沿上的设备读取数据或状态。支持模式0(0,0)和3(1,1)的SPI总线操作。模式0和
  模式3关注的是当SPI总线主端处于待机状态,数据没有被传输到串行Flash时CLK信号的正常状态。对于模式0,在下降和上升时,CLK信号通常是低的
  边缘/ CS。对于模式3,在/CS的下降和上升边缘上CLK信号通常是高的。
  既然串行同步时钟的空闲状态为高电平,这里我们选择第二个跳变沿,所以选择 SPI_CPHA_2Edge。
  也就是CPHA为1
  即,我们选择的是模式3(1,1)。
  解答:
  参看:STM32开发 – W25Q32JV SPI FlASH详解
  参看:详解SPI中的极性CPOL和相位CPHA
  应用场景:SPI Flash,W25Q32 存储器容量 32Mb (4M x 8),即4M byte 七、CAN问题一:CAN总结介绍一下?
  CAN控制器根据 CAN_L 和 CAN_H上 的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者比居其一。发送方通过使总线电平发生变化,将消息发送给接收方。问题二:CAN初始化配置步骤?
  (1)配置相关引脚的复用功能,使能CAN时钟
  (2)设置CAN工作模式及波特率等(CAN初始化环回模式,波特率500Kbps )
  (3)设置滤波器问题三:CAN发送数据格式?
  CanTxMsg TxMessage;
  TxMessage.StdId=0x12; // 标准标识符
  TxMessage.ExtId=0x12; // 设置扩展标示符
  TxMessage.IDE=CAN_Id_Standard; // 标准帧
  TxMessage.RTR=CAN_RTR_Data; // 数据帧
  TxMessage.DLC=len; // 要发送的数据长度 发送8个字节
  for(i=0;iCFSR和SCB->HFSR)解答:
  参看:STM32开发 – HardFault_Handler处理
  参看:Cortex-M3和Cortex-M4 Fault异常应用之一 ----- 基础知识 二十四、TTS语音合成方法问题一:sim7600 TTS语音使用什么方法?解答:
  (1)使用unicode编码合成声音
  AT+CTTS=1,"6B228FCE4F7F75288BED97F3540862107CFB7EDF"
  内容是"欢迎使用语音合成系统",模块收发中文短信就是unicode编码,所以很容易将短信朗读出来;
  (2)直接输入文本,普通字符采用ASIIC码,汉字采用GBK编码。
  AT+CTTS=2,"欢迎使用语音合成系统" 二十五、定时器问题一:已知STM32的系统时钟为72MHz,如何设置相关寄存器,实现20ms定时?解答:
  参看:STM32开发 – Systick定时器
  通过SysTick_Config(SystemCoreClock / OS_TICKS_PER_SEC))//1ms定时器
  其中: uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        /*!< System Clock Frequency (Core Clock) */ #define SYSCLK_FREQ_72MHz  72000000 #define OS_TICKS_PER_SEC       1000    /* Set the number of ticks in one second
  如果需要20ms则,可以通一设置一个全局变量,然后定初值得为20,这样,每个systick中断一次,这个全局变量减1,减到0,即systick中断20次,时间为:1ms*20=20ms。从而实现20ms的定时。 二十六、优先级问题一:如果是两个优先级相同的任务怎么运行?解答:
  使获得信号量任务的优先级在使用共享资源期间暂时提升到所有任务最高优先级的高一个级别上,以使该任务不被其他任务所打断,从而能尽快地使用完共享资源并释放信号量,然后在释放信号量之后,再恢复该任务原来的优先级别。 二十七、状态机问题一:使用的什么状态机?解答:
  参看:STM32开发 – 状态机与状态切换逻辑
  有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机。
  参看:有限状态机FSM详解及其实现
  假设状态机的状态转换由下表所示:
  实现:(使用switch语句) //横着写 void event0func(void) {     switch(cur_state)     {         case State0:              action0;              cur_state = State1;         break;          case State1:              action1;              cur_state = State2;         break;          case State2:              action1;              cur_state = State0;         break;         default:break;     } }   void event1func(void) {     switch(cur_state)     {         case State0:              action4;              cur_state = State1;         break;         default:break;     } }   void event2func(void) {     switch(cur_state)     {         case State0:              action5;              cur_state = State2;         break;          case State1:              action6;              cur_state = State0;         break;         default:break;     } }二十八、器件选型问题一:STM32F407 VS STM32F103 主要功能及资源对比?解答:
  参看:STM32F407 VS STM32F103 主要功能及资源对比
  原文出处:https://juyou.blog.csdn.net/article/details/116021595

人生不只是眼前的苟且,还有诗和远方写给高中同学20周年聚会高中同学毕业20周年聚会照人生不只是眼前的苟且,还有诗和远方人生除了金钱,还有更加值得珍惜的真心!写给高中同学毕业20周年大聚会我从内心底里期盼着这次同学聚会,期盼着我们大家20年好人生比好年华更重要人世间中周蓉离开家下乡的时候说妈妈说,女孩的好年华就那么几年,而我却认为好人生比好年华更重要。妈妈认为的好年华是我年轻漂亮的年纪,年轻漂亮确实很美好,但是年轻漂亮总会过去,我想要的拒逆转!太阳五虎10040,库里243,克莱得分王,妹夫暴走创纪录北京时间2023年1月11日,今日NBA比赛,20胜20负的勇士在主场迎战20胜21负的太阳,勇士目前2连败,太阳则是6连败,此战谁能结束连败呢?库里缺席20多天后复出,勇士首发库昔日功臣成为球队毒瘤?雷吉该何去何从?快船队终于赢球了,赢的还是西部前列的独行侠队,以113101战胜了对手。伦纳德得到赛季新高的33分9篮板4助攻4抢断,投篮12投9中,罚球12中12,打出了当家球星的风范其余球员像领跑2022奋楫四个高新之三2022年,同样的12个月,同样的365天,却非同寻常。在这个不寻常的年度,西安高新区踔厉奋进,勇毅前行,用一条又一条新政一项又一项举措一个又一个突破,推动四个高新建设提速增效,用NBA的一号魔咒!罗斯麦迪均没能逃脱陨落的命运!1号是一个至高无上的数字,他象征着巅峰!在NBA中有许多天赋异禀的球员都曾身披一号球衣到达职业生涯巅峰!但同时1号又是一个带有魔咒的数字,许多身披1号球衣的球员都被伤病所困扰,最后邱彪指导解放了阿尔斯兰,他发挥的越来越好自从阿的江指导离开新疆广汇男篮以后,邱彪指导上任,新疆广汇男篮全队精神面貌焕然一新,目前新疆广汇男篮战绩14胜11负,暂时排名积分榜第7名。邱彪指导对于球员的使用是有两把刷子的,就约基奇21189莫兰特38分无缘今日最佳,布朗4112一战创四大纪录1。公牛97100奇才拉文出战40分钟,28投15中,三分球11中4,罚球7中4,空砍38分5篮板2助攻2抢断,公牛被奇才的库兹马三分准绝杀。拉文近期状态出色,本场比赛的38分是他高诗岩又上热搜了,所为何事?我的生活也是头条辽宁球迷一直在关注的高诗岩,和陶汉林一个小小暖心的做法,不仅感动了山西球迷,而且也上了全网的热搜了。在山东和山西队的比赛中,无人防守的陶汉林接到队友传球,准备起身上老鹰正与湖人酝酿一笔重磅交易!戴维斯成筹码,湖人收获未来!北京时间1月12日,老鹰队主场以105比114惜败于雄鹿队,战绩来到了19胜21负,排在东部第九位,赛季已经进行过半,如果老鹰队想要冲击季后赛,就必须对现有阵容做出调整,本赛季老鹰C罗离队第一赢家!拉什福德连续6场破门,带领曼联双线8连胜英格兰足总杯,曼联30击败查尔顿晋级下一轮比赛。本场比赛安东尼用一记石破天惊的内切世界波破门,不过全场比赛最抢眼的不是安东尼,而是拉什福德,大英帝星梅开二度帮助球队拿到晋级果实,个
穿卫衣不一定配运动裤,今年流行卫衣阔腿裤,又美又飒卫衣作为衣橱中的基础单品,几乎每个人都有那么一两件,尤其是在秋冬季节,它的出镜率更高。它比衬衫慵懒厚实,又比毛衣好打理,穿上之后还能打造活力满满的年轻状态,而且完全不挑年龄,深受大中国成为汽车业变革主导力量产业链正呈现新趋势来源中国经济网郭涛伴随新能源汽车的快速发展,中国第一次成为全球汽车产业变革的主导力量。但也应看到,市场竞争正愈发激烈用户需求日益复杂创新趋同迭代加快,产业链整体抗风险能力仍然不足。继扶贫之后,又有一项新工作要在农村启动,全国都要实行,早知晓头条创作挑战赛这十年来,咱们国家全面打赢了人类历史上最大的一次脱贫攻坚战,咱们国家有将近一亿的绝对贫困人口在国家的大力帮扶下,实现了全面脱贫,一些贫困县也逐步实现了摘帽。这场脱贫攻女子为做缩胸手术疯狂减肥,竟用铜丝ampampquot封嘴ampampquot,节食减掉14公斤?话说,有些人为了减肥愿意尝试很多办法,比较常规的包括运动健身控制饮食等等。前段时间,一位南非女子奇特的减肥方式,让很多网友看傻眼这名女子名叫AviweMazosiwe,她一直想做缩大师来了,庆典威廉克莱因中国首展即将亮相成都国际摄影周成都国际摄影周主题为影像前景共蓉的2022首届成都国际摄影周将于11月18日至24日在成都举行,本届摄影周策划了九大主体展览七大平行展览和一系列峰会论坛讲座和博览会等活动,将在成都(体育)乒乓球全国锦标赛樊振东男单夺冠当日,在湖北黄石举行的2022全国乒乓球锦标赛男子单打决赛中,上海地产集团队选手樊振东以4比2战胜广东队选手林高远,夺得冠军。11月12日,樊振东在比赛中发球。新华社记者伍志尊摄1了不起的实体经济,京东11。11折射新型实体企业以实助实价值在11月11日举行的了不起的实体经济开放日活动上,京东零售CEO辛利军表示,从京东成立伊始,就是实体经济的一份子。农业工业商业服务业都是实体经济的重要组成部分,京东也将一如既往地尽争议声中法国推进养老金改革综合编译贾晓静法国总统马克龙近日再次提出养老金改革议题,引发舆论热议。根据该计划,法国人的退休年龄将由目前的62岁推迟至65岁。如果想继续保持我们的社会模式,养老金改革必不可少既然以财富论英雄是在悬崖上歌舞,会毁了健康的社会价值观体系在当今这个世界上,金钱确实能够带来很多东西,一个人或者一个人家庭的幸福指数很大程度取决于金钱,金钱主宰着我们的幸福。甚至,金钱已经成为了衡量一个人是否成功的标准!以前讨论坐在宝马车百亿补贴继续,三星GalaxyS22Ultra再降2500元,学习国产的亲民度你能想象吗?一个手机品牌的市场份额在全球范围内竟然能达到20!这就是三星,在全球手机市场上卖得最好的品牌!可能很多人会说,三星在中国市场上的销量还不如荣耀小米OV这些国产品牌,怎么上汽集团第二届上汽零束SOA平台开发者大会开幕中证网讯(记者王辉)11月4日,上汽集团第二届上汽零束SOA平台开发者大会在上海开幕。在百度阿里腾讯京东华为中国移动中国联通OPPO中兴通讯地平线Momenta科大讯飞芯钛科技芯驰