概述
嵌入式系统实验报告
实验一 GPIO 口控制LED 实验
1 实验目的
1.) 了解并掌握如何控制 STM32 的 GPIO;
2.) 掌握控制 LED 的电路原理和程序代码;
2 实验环境
1.) 硬件:1 个空气温湿度传感器模块、1 个 ST-Link 调试器、1 根USB2.0 方口线、1根USB3.0 数据线、1 台PC 机;
2.) 软件:Windows 10、MDK 集成开发环境。
3 实验功能
实现LED灯依次亮灭。
- 实验步骤
- 将USB3.0数据线的一端连接感知执行模块的USB3.0调试烧写口,另一端连接ST-Link调试器的“Debug”接口。
- 将USB2.0方口线的一端连接PC机的USB口,另一端连接ST-Link调试器的“USB-Debug”接口。
- 根据实验要求写出程序。
- 确认配置正确,编译工程。
- 设置硬件调试相关选项。
- 将程序下载到温湿度传感器模块中,并自动运行。
- 观察模块上四个指示灯的变化。
5 实验程序
#include "stm32f10x.h"
void gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO , ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //禁用 JTAG 功能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void led_init(void)
{
GPIO_SetBits(GPIOB, GPIO_Pin_4);
GPIO_SetBits(GPIOB, GPIO_Pin_5);
GPIO_SetBits(GPIOB, GPIO_Pin_6);
GPIO_SetBits(GPIOB, GPIO_Pin_7);
}
void Delay(unsigned int i)
{ // 延时子程序
unsigned int j,k;
for(j=0;j<i;j++)
for(k=0;k<10000;k++);
}
int main(void) // 主函数
{
gpio_init();
led_init();
while(1)
{
GPIO_ResetBits(GPIOB, GPIO_Pin_4);
Delay(500);
GPIO_SetBits(GPIOB, GPIO_Pin_4);
Delay(500);
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
Delay(500);
GPIO_SetBits(GPIOB, GPIO_Pin_5);
Delay(500);
GPIO_ResetBits(GPIOB, GPIO_Pin_6);
Delay(500);
GPIO_SetBits(GPIOB, GPIO_Pin_6);
Delay(500);
GPIO_ResetBits(GPIOB, GPIO_Pin_7);
Delay(500);
GPIO_SetBits(GPIOB, GPIO_Pin_7);
Delay(500);
}
}
6 实验结果
程序成功运行后,将可以看到Status、RS485-R、RS485-T、User1 四个指示灯轮流闪烁。
7 实验心得
实验前,安装软件比较困难。实验中开始环境配置并不理想,最后发现设备出现问题,更换设备之后可以实现实验目标。并且实验里建⽴⼯程中⼀定要正确的完成相关配置,否则实验结果会不正确。通过编写部分程序代码,并通过上网查询资料,知道了如何初始化配置STM32的GPIO引脚,掌握了控制 LED的程序代码。感受到嵌入式将设备和待女子设备连接起来的独到之处。
最后
以上就是故意火龙果为你收集整理的嵌入式系统实验报告实验一 GPIO 口控制LED 实验嵌入式系统实验报告实验一 GPIO 口控制LED 实验的全部内容,希望文章能够帮你解决嵌入式系统实验报告实验一 GPIO 口控制LED 实验嵌入式系统实验报告实验一 GPIO 口控制LED 实验所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复