stm32接口技术实验

该博客详细介绍了使用STM32进行接口技术实验的过程,从环境搭建开始,包括安装Keil5和STM32CubeMX,配置开发环境。接着通过一系列实验,如点亮LED、按键扫描、串口打印、看门狗、外部中断和ADC读取模拟量,逐步深入STM32的使用,最后涉及定时中断和信息存储到Flash的操作。每个实验都包含关键代码和实验步骤,适合初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验一 环境搭建
一、    实验目的
开发环境搭建,实现后面实验的运行
二、    实验内容
安装keil5和STM32CubeMX软件,配置开发环境。
三、    实验过程
准备的安装包

完成一下安装:
1、安装Keil ARM-MDK软件,并安装相关CPU的包;

2、安装STM32CubeMX软件,并安装相关CPU的包;

3、将开发板通过ST-Link连接至PC,安装适配器驱动;

简单的测试:结果正常。
四、    关键代码 


实验二 点亮led
一、    实验目的
实现用stm32f407点亮led灯
二、    实验内容
调用系统定时函数,实现LED显示与蜂鸣器声音控制
三、    实验过程
1、新建项目
 
2、调用系统定时函数
找到TogglePin函数,复制粘贴到main函数中,并且设置参数,这里会自动补充参数。
 
3.实现实现LED显示与蜂鸣器声音控制
 
四、    关键代码 

找到delay()函数,存放在main函数中并且设置参数为200
 实现功能


实验三 按键扫描
一、实验目的
实现stm32f407的按键操作led灯和蜂鸣器
二、实验内容
按键扫描,并通过LED与蜂鸣器提示
三、实验过程
1、查看stm32原理图,对应的按键引脚及电路
     
2、新建工程(引脚设置并修改关键代码)
  
四、关键代码 
在main.c中修改以下代码:
 

实验四 串口打印
一、实验目的
将目标信息通过串口打印出来
二、实验内容
实现printf函数,用于将信息打印至串口
三、实验过程
1、了解stm32串口原理,新建工程
  
2、编译烧写后,依次按下按键0,按键1,在串口调试助手中会显示相应的信息


四、关键代码 
在usart.c中修改以下代码:
 
在main.c中修改以下代码:


实验五 看门狗(IWDG)
一、实验目的
定期查看芯片内部情况,一旦出错重启电路
二、实验内容
实现printf函数,用于将信息打印至串口
三、实验过程
1、查看串口、按键、LED灯对应引脚及电路分配
2、配置看门狗(本程序时钟为32kHz)
 
3、改写代码
4、串口显示结果
   
while循环中注释掉HAL_IWDG_Refresh(&hiwdg)语句,不刷新计数器。
四、关键代码 
1、添加代码开启IWDG
 
2、在main函数中添加以下代码,每延时700ms刷新一次IWDG,重载计数器。


实验六 外部中断(EXTI)
一、实验目的
实现外部中断
二、实验内容
通过回调函数和外部按键实现外部中断
三、实验过程
1、配置相应的引脚,开启中断
 
2、操作stm32,结果如下:按下KEY2时,LED0的状态会翻转;按下KEY1时,LED1的状态会翻转;按下KEY0时,LED0和LED1的状态会翻转。
四、关键代码 
在main.c中修改以下代码:



实验七 ADC读取模拟量
一、实验目的
实现数模转换
二、实验内容
在串口输出adc的值-读取片内温度
三、实验过程
1、在串口printf实验的前提下,配置ADC1外设选择温度传感器通道
2、串口显示读取mcu片内温度
 
四、关键代码 
在main()函数前面声明变量保存AD采集的值
  
在main()函数while(1)循环里面添加函数声明变量保存AD采集的值


实验八 定时中断
一、实验目的
通过定时器实现定时产生中断
二、实验内容
实现在stm32f407上通过定时器中断控制LED闪烁
三、实验过程
1、新建工程,选择定时器和配置(时钟树为168mhz)
 
2、实验结果:ED9和LED10依次每隔1s状态翻转一次。
四、关键代码 
1、添加定时器中断完成回调函数
 
2、使能定时器1


综合实验
一、实验目的
实现存储信息
二、实验内容
将配置信息存储至Flash
三、实验过程
1、查看Nand Flash存储结构
2、新建工程
在串口printf的工程的基础上修改,选择NCE3开启NAND Flash,数据地址线选择8 bits,Ready or Busy选择 NWAIT
3、实验结果
串口查看配置信息存储
四、关键代码 
将配置信息存储至Flash
main.c
    

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值