二.stm32F407学习
文章平均质量分 79
stm32基础实践操作
m0_61659911
这个作者很懒,什么都没留下…
展开
-
0.stm32F4学习之32背景知识
2003 年,ARM 公司引入了 Thumb-2 技术,具备了一些 32 位的 Thumb 指令,使得原来很多只有 ARM 指令能够完成的功能,用 Thumb 指令也可以完成了。STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。Cortex-M 系列产品主要包括 Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7 等。原创 2023-04-19 11:35:14 · 210 阅读 · 0 评论 -
1.stm32实验点亮led灯,按键处理
if(HAL_GPIO_ReadPin(GPIOI,GPIO_PIN_9)==GPIO_PIN_RESET){//再次判断按键按下。if(HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_9)==GPIO_PIN_RESET){//判断按键按下。方法(1)GPIOF->ODR改变寄存器,但是没有用,似乎是用的时候会覆盖以前的数据,即不可单独修改。原创 2023-04-30 23:25:06 · 683 阅读 · 0 评论 -
2.stm32实验二串口通信,printf函数
(2)收发数据前,先判断发送或者接收寄存器不为空,看原理图,发送看SR寄存器第7位,接收是第5位.在usart.c写接收和发送函数。使用上述函数也可以串口发送数据,注意与实验一的区别,实验一为寄存器方法,实验二是HAL库方法.(USART1->SR&(1原创 2023-04-30 23:29:02 · 413 阅读 · 0 评论 -
3.stm32实验三中断实验<文章结尾:查找回调函数>
注意main.c函数while(1){}循环什么也不写,就是中断时候自己调用了上述回调函数。if(huart->Instance == USART1){//句柄判断是否为串口1。(uint8_t *)"UART SEND\n":发送数据。 REV:接收数据,定义uint8_t REV[2]//使用中断后再次使能中断才可以再次使用.2:接收多少字节发出中断。&huart1:串口1。&huart1:串口1。//接收成功回调函数。//发送成功回调函数。原创 2023-04-30 23:33:51 · 936 阅读 · 0 评论 -
3.1stm32f407时钟专解,时钟配置,systick使用
2>HSE:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~26MHz,我们开发板是25MHz。(点HSE-->/25-->*336-->/2-->点PLLCLK-->APB1为/4-->APB2为/2)LSI:低速内部时钟,RC 振荡器,频率为 32kHz 左右。使用区间:通信系统中用于频率发生器,为数据产生时钟信号和为特定系统提供基准信号。使用区间:刚开机准备加载外部时钟时,外部时钟出错时,临时使用。HSI:高速内部时钟,RC振荡器,频率为16MHz;原创 2023-05-21 16:41:28 · 2520 阅读 · 0 评论 -
4.stm32定时器实验,基本定时器,高级定时器
如果APBx Prescaler为/1,那么时钟频率就是与路段频率一样(即等于HCLK),如果APBx Prescaler不为/1,那么时钟频率就是APBx Prescaler的2倍.计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。(2) RCC时钟配置(HSE设为晶振,时钟按25,336,/4,/2配置)(1)TIM2定时器配置。原创 2023-05-02 15:03:09 · 1979 阅读 · 0 评论 -
5.stm32看门狗
当递减计数器递减到 0X40 的时候,还不会马上产生复位,如果使能了提前唤醒中断:CFR 位 9 EWI 置 1,则产生提前唤醒中断,如果真进入了这个中断的话,就说明程序肯定是出问题了,窗口看门狗的计数器是一个递减计数器,共有 7 位,其值存在控制寄存器 CR 的位 6:0, 即 T[6:0],当 7 个位全部为 1时是 0X7F,这个是最大值。开启STM32的独立看门狗,按键按下即喂狗,如果超时未喂狗,则看门狗复位系统,用指示灯指示系统复位。触发系统复位或产生中断(中断仅针对窗口看门狗)原创 2023-05-03 12:11:48 · 505 阅读 · 0 评论 -
6.stm32的ADC模数转换,单通道,多通道采集实验
如果发生 DMA传输数据丢失,会置位 ADC 状态寄存器 ADC_SR的 OVR位,如果同时使能了溢出中断,那在转换结束后会产生一个溢出中断。规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的L[3:0]中.分辨率:ADC的分辨率通常以输出二进制数的位数表示,位数越多,分辨率越高,一般来说分辨率越高,转化时间越长。转化时间:模拟输入电压在允许的最大变化范围内,从转换开始到获得稳定的数字量输出所需要的时间称为转换时间。利用ADC采集FSM4中电位器的数据。原创 2023-05-04 12:43:18 · 3643 阅读 · 0 评论 -
7.stm32的数据搬运工DMA
DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。STM32F4xx 系列资源丰富,具有两个 DMA 控制器,同时外设繁多,为实现正常传输,DMA需要通道选择控制。(实验1)利用ADC采集电位器以及芯片内部温度传感器的数据,在main函数中启动ADC转换以及DMA传输,最后在DMA完成中断中打印采集到的数据.(实验2)利用ADC采集电位器及STM32内部温度传感器的数据。原创 2023-05-04 13:00:13 · 134 阅读 · 0 评论 -
8.stm32的I2C总线通信原理,24Cxx存储芯片,I2C读写24Cxx
I2C总线数据传输速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下 可达3.4Mbit/s。一般通过I2C总线接口可编程时钟来实现传输速率的调整,同时也跟所接的上拉电阻的阻值有关。I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址.I2C总线上的主设备与从设备之间以字节(8位)为单位进行单双工的数据传输。(2)主设备读从设备的某个寄存器(与上述区别为寄存器)二.EEPROM(24CXX)存储芯片介绍。(1)主设备往从设备读写数据。原创 2023-05-05 17:47:29 · 710 阅读 · 0 评论 -
9.stm32的SPI总线通信,串行FLASH_W25X16,(在keil5中添加文件)
时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);在SPI操作中,最重要的两项设置就是时钟极性(CPOL)和时钟相位(CPHA)这两项即是主从设备间数据采样的约定方式。当 CPHA=0 时,MOSI或 MISO 数据线上的信号将会在 SCK时钟线的奇数边沿被采样。当 CPHA=1时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的偶数边沿被采样。(1)MOSI:主器件数据输出,从器件数据输入。原创 2023-05-05 20:06:58 · 898 阅读 · 2 评论 -
10.单总线类传感器,红外遥控
(2)红外遥控: 是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机和手机系统中。8 位地址码, 8 位命令码。(5)红外接收器: 一种可以接收红外信号并能独立完成从红外线接收到输出与TTL电平信号兼容的器件,体积和普通的塑封三极管差不多,适合于各种红外线遥控和红外线数据传输。实验要求: 按下遥控按键,主机通过红外接收器接收到信号并解码,识别出按键的命令码,打印出对应的按键符号。原创 2023-05-26 17:04:31 · 94 阅读 · 0 评论 -
11.FSMC外扩内存SRAM
: 上面不同类型的引脚是连接到FSMC内部对应的存储控制器中的NOR/PSRAM/SRAM设备使用相同的控制器,NAND/PC卡设备使用相同的控制器,不同的控制器有专用的寄存器用于配置其工作模式。注:其中比较特殊的FSMC_NE是用于控制SRAM芯片的控制信号线,STM32具有FSMC_NE1/2/3/4号引脚,不同的引脚对应STM32内部不同的地址区域。: 由于控制不同类型存储器的时候会有一些不同的引脚,看起来有非常多,其中地址线FSMC_A和数据线FSMC_D是所有控制器都共用的。原创 2023-05-26 15:11:20 · 278 阅读 · 0 评论 -
12.TFT-LCD专解,lcd文字显示,图片显示
这些像素点的数据通过RGB数据线传输至液晶屏,它们在同步时钟CLK的驱动下一个一个地传输到液晶屏中,交给显示指针,传输完成一行时,水平同步信号HSYNC电平跳变一次,而传输完一帧时VSYNC电平跳变一次。水平同步信号HSYNC(Horizontal Sync)用于表示液晶屏一行像素数据的传输结束,每传输完成液晶屏的一行像素数据时,HSYNC会发生电平跳变,如分辨率为800x480的显示屏(800列,480行),传输一帧的图像HSYNC的电平会跳变480次。LED点阵显示器《手机显示(贵)》原创 2023-05-28 16:04:09 · 2975 阅读 · 0 评论 -
13.stm32F4触摸屏讲解
电容触摸屏:具有支持多点触控、检测精度高的特点,电容屏通过与导电物体产生的电容效应来检测触摸动作,只能感应导电物体的触摸,湿度较大或屏幕表面有水珠时会影响电容屏的检测效果。它的基本原理是利用充电时间检测电容大小,若手指触摸屏幕,会影响触摸点附近两个电极之间的耦合,从而改变两个电极之间的电容量,若检测到某电容的电容量发生了改变,即可获知该电容处有触摸动作从而通过检测出电容值的变化来获知触摸信号。注: 当触摸屏有触点按下时,PENIRQ 引脚会输出低电平,直到没有触摸的时候,它才会 输出高电平。原创 2023-05-29 11:09:47 · 794 阅读 · 0 评论 -
14.stmF4电源管理专解
待机模式,它除了关闭所有的时钟,还把1.2V区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测boot条件,从头开始执行程序。上电复位后STM32处于运行状态时,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM4核心的外设全都还照常运行。STM32实现停止模式。原创 2023-05-29 11:29:54 · 286 阅读 · 1 评论 -
15.stmF4的SD卡专解
同时,SD卡也处于卡识别模式,直到被主机识别到,即当SD卡接收到SEND_RCA(CMD3)命令后,SD卡就会进入数据传输模式,而主机在总线上所有卡被识别后也进入数据传输模式。SD命令由主机发出,以广播命令和寻址命令为例,广播命令是针对与SD主机总线连接的所有从设备发送的,寻址命令是指定某个地址设备进行命令传输。命令号:它固定占用 6bit,所以总共有 64个命令(代号:CMD0~CMD63),每个命令都有特定的用途,部分命令不适用于 SD 卡操作,只是专门用于 MMC卡或者SD I/O卡。原创 2023-05-30 14:47:57 · 422 阅读 · 0 评论