Q1.本科期间做过什么科研项目/竞赛?具体负责什么?做出了什么成果?是否获得什么荣誉奖项?(简单介绍一下《基于STM32智能手环》课程设计?)

项目经历:本科课程设计做过一个《基于STM32的智能手环》的小项目,该项目是在以STM32F411为主芯片的硬件开发平台与KEIL MDK 4为软件开发平台进行的C++编程,最终在开发板上完成四个功能界面:时间、日期界面,温湿度测量界面,心率血压测量界面与计步测量界面,并通过五向按键显示将相关数值显示在OLED屏;

Q2.你具体负责什么?功能界面怎么实现的?

该课设是两人小组完成,我主要负责原时间、日期界面,温湿度测量界面;

Q:时间、日期界面的实现?

关于时间日期界面:通过配置STM32F103的RTC实时时钟模块,修改计数器值,设置系统当前的时间和日期;

RTC时实时时钟的配置:(通过使用库函数配置)
第一步,开启外部低速时钟、等待就绪;
第二步,选择时钟源-外部低速时钟LSE,使能RTC时钟;
第三步,取消外部区域写保护,便于向备份区域写数据;
第四步,进入初始化模式;
第五步:设置时钟格式、初始化实时时间;
第六步:退出初始化模式,激活写保护;

Q.RTC时钟的使能?

通过

Q.取消备份区域写保护?激活备份区域写保护?

通过向写保护寄存器(RTC-WPR)写入一个密钥来使能对RTC寄存器的写保护;“oxCA”“ox53”
如果密钥输入错误的关键字就会再次激活写保护

Q.初始化时间值?怎么判断闰年?

STM32F4 的实时时钟自带日历功能,日历时钟,(包含年月时分秒信息),STM32F4的RTC是个独立的BCD计数器,包含32位的时间寄存器(TR)提供时分秒,32位的日期寄存器(DR)提供年月日;

STM32F的RTC可任意自动将月份的补偿为闰年28、29天,非闰年30,31天;以前C语言学过如何判断闰年:若年份同时能被4和100整除则为闰年;

Q温湿度测量界面的实现?

关于温湿度测量界面:通过IIC协议读取SHT20温湿度传感器的值,实现温湿度测量界面;

使用IIC库函数配置实现SHT20数据的读取;
第一步,SHT20初始化,启动传感器,将传感器上电(2.1V-3.6V);
第二步,IIC读取数据,发送测量命令,等待测量结果,传输IIC的首字节包括7位的IIC设备地址和一个时钟线方向位(R:1,W:0);
第三步,获取文都,SHT20接到指令后测量文堵并将读出的数据给应答信号;
第四步,输出以整数显示:将数值由16进制转换为10进制;
第五步,调用OLED显示函数;
第六步,软复位;

Q.IIC总线?IIC协议?

IIC 总线是由飞利浦公司开发的两线式串行总线,半双工同步串行通信,由数据线SDA和时钟线SCL构成,可发送和接收数据。

IIC协议:IIC总线在传送数据过程中共有三类信号:开始信号、结束信号和应答信号;
开始信号:时钟线为高电平,数据线由高电平向低电平跳变,开始传输数据;
结束信号:时钟线为高电平,数据线由低电平向高电平跳变,结束传输数据;
应答信号:接受数据的IIC器件在接收到8比特数据后,向发送数据的主控发出特定的低电平脉冲,表示已经接收到数据;

IIC总线在CPU 与从机或两从机之间进行双向传输;
多主机的IIC总线一定要接上拉电阻(3.3V,4.7K);
IIC的传输速率:(时钟线的频率),标准100KHZ,快速400KHZ,高速3。4MHZ;
IIC 数据传输的有效性:时钟信号为高电平,数据线上的数据必须稳定,只有在时钟线上的信号为低电平时,数据线上的电平状态才允许变化;
IIC如何选中芯片:根据器件地址;IIC协议的器件地址只有7位,一个字节高7位表器件地址,最后一位表读/写,1为读;
IIC的读写操作:

Q.软复位?

在无需关闭和再次打开电源的情况下,重新启动传感器,只要IIC输入相应指令即可(10000000,11111110)”80,FE“

STM32的基础知识Q&A

Q1.所用到的STM32芯片的型号,开发板上有哪些资源?

STM32F411为主芯片,外设SHT20温湿度传感器,HP-6心率、血压模块,MPU6050陀螺仪,OLED显示屏,五向按键、电动马达、USB转串口,拨码开关

Q2.STM 32的中断?

Q3.GPIO?USART?IIC?SPI?

GPIO :通用输入输出端口简称;
GPIO有八种工作模式:
四种输入:模拟/浮空/上拉/下拉
两种输出:推挽/开漏
两种复用:推挽/开漏

如何配置GPIO口模式:
step1.使能GPIO的时钟;
step2.设置GPIO目标引脚;
step3.控制GPIO引脚输出高低电平

SPI:Serial Peripheral interface 串性外设接口,也称四线串行接口;主从
四线:SCLK时钟/MOSI/MISO/ss片选 特点: 全双工(同时in/out),编程简单,速率较高(259Mbp/s) 缺点:
占线多。只支持一个主机

IIC接口:两根线 SCLK/SDA 协议复杂 地址片选 优点:占线少,支持多主机、多从机; 缺点:协议复杂/速率慢

UART 异步 两线:TXD RXD 优点:占线少,无时钟,传播距离远; 缺点:速度慢,20kpb/s

1.内核架构不同
2.地址空间:51只有64KB,STM32有4GB
3.片上存储器不同:STM32 的RAM/ROM都比51大
4.外设不同:51只有三个定时器和一个串口,STM 32却有众多外设
5.操作系统不同

Q5.STM 32复位?

电源复位、系统复位、备份区域复位

Q6.STM 32时钟源

内部时钟源:高速(HSI)、低速(LSI)
外部时钟源:高速(HSE)、低速(LSE)
如果要求高精度不能采用LSIN,一般选择外部时钟

高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。 高速内部时钟(HSI):
由内部RC振荡器产生,频率为8MHz,但不稳定。
低速外部时钟(LSE):以外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。
低速内部时钟(LSI):由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。

Q7.简述STM32 最小硬件开发系统的组成及其各部分作用?

1.主芯片:STM32
2.晶体振提供荡部分:提供硬件时序以及实时时钟;
3.供电部分:采用3.3V电压;
4.复位部分:复位开关


STM32F10,
STM32中文参考手册与STM32F10编程手册,Cortex-M3权威指南STM32中断中断的定义:
51单片机的有八个中断源:中断号越小,中断优先级越高;
STM32:  Cortex-M3内核,调试系统,内部总线,外设,存储器,时钟和复位,I/O口
STM32片上外设:在Cortex-M3核外,但是在STM32x芯片内
STM32内核外设:在核内,NVIC
配置NVIC中断相关寄存器:core_cm3.c和core_cm3.h,misc.c和misc.hNVIC:嵌套向量的中断控制器
SysTick:系统抵达定时器中断相关配置文件:
core_cm3.h:实现内核的寄存器映射;(内核外设)
core_cm3.c:操作内核外设寄存器的函数;stm32f10x.h:实现片上外设的寄存器映射;(片上外设)
stm32f10x.h:操作片上外设寄存器的函数;STM32有哪些中断类型,同时发生中断怎么办?(怎么管理这些中断?)STM32的中断类型:内核中断和外部中断;只要有中断就要配置NVIC和相关函数;每个中断都要设置抢占优先级和响应优先级STM 32同时发生中断?
1.只要有中断就要配置NVIC和相关函数;
2.NVIC与内核紧密耦合,是内核里面的一个外设,
配置NVIC中断相关寄存器:core_cm3.c和core_cm3.h,misc.c和misc.h
3.芯片厂商在设计芯片时会对Cortex-M3内核里面的NVIC进行剪裁
CM 3 内核支持256个中断,其中包含了16个内核中断和240个外部中断,
并且具有256级的可编程中断设置;
STM32有84个中断,16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级
STM32F103系列有10个内核中断和60个可屏蔽中断;
STM32的NVIC是Cortex-M的NVIC的一个子集怎么管理STM32中断?(数字越小优先级越高)
一个字节中的高4位表示优先级,共有16种,
分成两类:抢占优先级和响应优先级;抢占优先级等级高于响应优先级;
高优先级中断可以打断低优先级中断;
中断分组由完成库函数的配置STM32f103(便宜、够用)
库函数操作,程序的烧录:
ST-link烧录程序,魔术棒debug,ST-link,setting,1.8M ;时钟
51单片机 时钟源 11.0592MSTM 32单片机有5个时钟源,
HSE,HSI,(外部高/低)LSI,LSE(内部高/低)PLL(锁存器时钟)倍频/分频

基于STM32智能手环项目是以STM32F411为主要芯片,加上外设SHT20温湿度传感器,HP-6心率血压模块以及Mpu6050t陀螺仪,构成的,具有四个功能界面时间、日期功能界面,心率血压功能界面,温湿度测量功能界面以及计步测量界面;是在KEIL-MDK4软件下的C++编程,并通过ST-LInk将软件烧录至硬件模块;
这是一个两人组的课程设计,我主要负责用proyues绘制原理图并仿真以及时间日期功能界面和温湿度测量功能界面;

关于时间、日期功能界面是通过调用库函数配置STM32F411的RTC实时时钟模块,以及修改计数器的值,设置系统当前时间实现的,大概的步骤是,1.开启系统的时钟源,然后选择外部低速时钟源(LSE),因为STM32的五个时钟源只有外部低速时钟负责RTC模块,并且有断电保护,2.使能RTC时钟,3.由于RTC模块在备份区域内,而备份区域有个写保护,所以想要在备份区域写入数据就必须要取消备份区域写保护;4.进入初始化模式;5.设置TR时间寄存器,DR日期寄存器,初始化时间,日期;6.退出初始化,激活写保护;

关于温湿度测量模块是通过IIC协议读取SHT20温湿度传感器的数值来实现的,大概步骤为:首先将SHT20温湿度传感器上电,自启动;然后CPU通过IIC发送测量指令至SHT20,SHT20接收到测量指令后开始测量数据并将测量的数字信息通过IIC的应法信号发送至CPU,接收的数值信息通过调用取模软件转换成数组,最后通过调用OLED显示函数,将数值显示在OLED屏幕,最后再软复位;

《基于STm32的智能手环项目》笔记相关推荐

  1. 《信贷的逻辑与常识》笔记

    序 银行信贷风险管理的反思 现状与趋势 银行贷款的质量变化与经济周期.宏观调控政策等存在很高的相关性 现在银行不良贷款的增加主要是前几年经济快速增长时企业过度投资.银行过度放贷所带来的结果. 从历史情 ...

  2. AI公开课:19.02.27周逵(投资人)《AI时代的投资逻辑》课堂笔记以及个人感悟

    AI公开课:19.02.27周逵(投资人)<AI时代的投资逻辑>课堂笔记以及个人感悟 目录 课堂PPT图片 精彩语录 个人感悟 课堂PPT图片 精彩语录 更新中-- 文件图片已经丢失-- ...

  3. 人工智能入门算法逻辑回归学习笔记

    逻辑回归是一个非常经典的算法,其中也包含了非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 SVM,但千万别说 LR,因为细节真的太多了. 秉持着精益求精的工匠精神不断对笔记进行 ...

  4. 【逻辑回归学习笔记】

    算法描述 1.逻辑回归要做的事就是寻找分界面实现二分类. 2.问题假设:对一堆三角形和正方形分类. 3.数据输入:已知正方形和三角形的坐标和标签. 4.算法过程: 知识储备 1.分类和回归 ①分类的目 ...

  5. 逻辑回归函数学习笔记

    继续逻辑回归学习,今日笔记记录. 1.逻辑回归和线性回归的关系:对逻辑回归的概率比取自然对数,则得到的是一个线性函数,推导过程如下. 首先,看逻辑回归的定义 其次,计算两个极端y/(1-y),其值为( ...

  6. 2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授

    逻辑回归 上一节我们知道,使用线性回归来处理 0/1 分类问题总是困难重重的,因此,人们定义了逻辑回归来完成 0/1 分类问题,逻辑一词也代表了是(1) 和 非(0). Sigmoid预测函数 在逻辑 ...

  7. LVM逻辑卷分区笔记

    磁盘的静态分区有其缺点:分区大小难评估,估计不准确,当分区空间不够用的时候,系统管理员可能需要先备份整个系统,清除磁盘空间,然后重新对磁盘进行分区,然后恢复磁盘数据到新分区,且需要停机一段时间进行恢复 ...

  8. 适合理工直男的钟平老师逻辑英语学习笔记

    一切的一切都只是套路!             --鲁迅 核心公式: En: (状语1) 主(定语1) 谓(状语2) (宾)(定语2) (状语1) Ch: (状语1) (定语1)主 (状语2)谓 (定 ...

  9. 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象

    文章目录 一.常用组合逻辑电路 1. 译码器 (1) 二进制译码器 74LS138(3/8译码器) a. 一般符号和图形符号 b. 74LS138功能表 c. 两片 `74LS138` 构成 `4-1 ...

  10. 线性回归、逻辑回归学习笔记

    学习源代码 import numpy as np import matplotlib.pyplot as plt def true_fun(X): # 这是我们设定的真实函数,即ground trut ...

最新文章

  1. 学生上课睡觉班主任怎么处理_学生上课睡觉,老师的管与不管,不是你看到的那么简单...
  2. dp,sp,px相互转化
  3. Gartner2014年魔力象限(商业智能和分析平台)
  4. 写了 15 年代码,总结出提升 10 倍效率的三件事
  5. flume案例-flume级联-配置文件编写
  6. 第八十七期:爬了知乎“沙雕问题”,笑死个人!
  7. 知方可补不足~数据库名称和数据库别名不同了怎么办
  8. 机器学习均方误差_机器学习:均方误差和回归线简介
  9. android 图片拍照,Android获取图片拍照时间
  10. hadoopshpython_让python在hadoop上跑起来
  11. python主要用来做什么-Python能用来做什么?以下是Python的三大主要用途
  12. David Cutler,VMS和Windows NT的首席设计师 (zz.is2120)
  13. 区块链 PBFT 哪个节点 谁负责打包区块
  14. 好程序员分享js实现简单的板球游
  15. Docker 中 latest 标签引发的困惑
  16. 手机做web服务器 无限流量,无限流量卡和手机随身无线wifi,你选择哪一个?
  17. 制作PE系统--20220202
  18. PHP对接twitter三方登录-WEB版
  19. 英特尔的指令集体系结构_新指令集将上线:Intel 新版指令集手册确认 Alder Lake 架构的存在...
  20. 【原创】软件测试经验图谱硬技能之业务逻辑

热门文章

  1. 许嵩音乐智能问答系统微信小程序之获取数据及文本分类
  2. 1-5 CAD基础 圆(circle)
  3. 公务员考试题集错解汇集之判断推理
  4. python图片转化字节流_python字节流怎么转化成图片
  5. 如何把微信中的多个图片转为一个pdf文件?
  6. 平面设计图文排版如何进行
  7. 小米 vs 华为!最近业界各类事情不少,看看这两家的情况如何?
  8. linu修改open files无效_ReNamer Pro — 批量修改命名文件夹,功能强大
  9. uni-app使用i18n实现多语言的切换及国际化开发
  10. JavaScript判断手机运营商_2022最新JS正则表达式判断手机号所属运营商