一、实验项目名称。
blinky验证及修改
2、实验目的和要求。
1)实验目的。
1、会用《stm32固件库使用手册的中文翻译版》解决实验**现的问题及修改的方法。
2、掌握blinky程序的原理及修改跑马灯的基本方法和原理。
2)实验要求。
修改led灯的亮的位置以及改变流水灯的顺序。
3、实验环境。
1)硬件配置。
2)软件配置。
四、实验内容和原理。
1)电路原理图。
图1 led引脚连接电路图。
上图为led引脚连接电路图。本实验中,修改相应的程序以改变led灯亮灭的位置以及流水方向。其中,如图所示,四个led灯分别对应pc6—pc9四个端口。
2)实验内容。
1、首先打开blinky文件夹(里面有三个文件夹:uvision-存放工程文件和源文件,obj-存放编译文件,listing-存放链接及印像文件),进入uvision文件夹中双击工程文件,则会打开工程文件。
2、工程文件中包含start up(启动**存放区),source code(主要的源程序**存放区),library(源程序文件库),document(程序的说明文档)文件夹。
3、连接好电源线和**器接线(外接**器连接线(jatg))
4、选择**器,在工程总目录(target)上点击右键,然后选择option for target ‘stm32 trace a。在debug选项卡下,选中unink cortex debugger。分别如图2、图3所示。
图2 设置工程选项。
图3 设置debug选项卡。
5、检查unink2是否正常连接上。如果unink2通过usb线连接到开发板后,上面的run和com指示灯先变为蓝色后熄灭,而usb指示灯一直为红色,则说明ulink没问题。另外就是可以点击debug选项卡中右边的setting按钮,观察unink2是否连接上。
6、编程、调试工程,先点击rebuild all target files,观察无运行错误后点击执行:debug start/stop debug session(或者快捷键ctrl+f5)进行调试。
五、程序分析。
1)关键语句分析。
(1)、选择允许亮的led灯。
/外设gpio c 寄存器时钟使能
rcc_apb2periphclockcmd(rcc_apb2periph_gpioc, enable);
//配置端口pb8到pb15 作为推挽输出,最大频率为50 mhz ,允许四个led灯全部亮。
gpio_ =gpio_pin_6 | gpio_pin_7 | gpio_pin_8 |
gpio_pin_9 ;
gpio_ =gpio_mode_out_pp;
gpio_ =gpio_speed_50mhz;
gpio_init(gpioc, &gpio_initstructure);
2)、设置流水方向以及初始化时灯亮的位置
void systickhandler(void) /cortex系统定时器处理程序入口。
static unsigned long ticks;
static unsigned long timetick;
static unsigned char leds = 0x10;//设置初始化时,第一个灯亮的位置为右边第一个,即pc9
if (ticks++ 9每隔1秒钟置一次clock1s高位。仅用来控制超//级终端变化的快慢。
ticks = 0;
clock1s = 1;
//改过程序后,使led灯流水方向为右移。
if (timetick++ adc_convertedvalue>>8))
3)、改变流水间隔。
if (timetick++ adc_convertedvalue>>8))
4)、程序改变流水灯速率。
//systick定时器频率为900000控制led流水速率)
systick_setreload(900000);
systick_itconfig(enablesystick 中断使能,在外部中断发生时进入循环
2)程序主要流程。
1、配置系统时钟以及rcc、nvic、gpio;
2、配置led,在未改变程序时设置的四个灯全部亮;改变相应程序后(关键语句中提到的),led灯的流水方向以及选择性的流水方式有相应的改变。
六、实验步骤及结果。
1、使用keil u vision3通过ulink2**器连接实验板;打开实验例程目录uvision下blinky例程,编译链接工程,调试运行。
2、选择硬件调试模式,打开mdk的debug菜单,选择start/stop debug session项,远程连接目标板并**调试**到目标系统ram中。
3、程序运行后,在未改变程序时,四个led灯流水方向为从左向右。
4、依次按照上述改变对程序作出调整后,led灯的流水方式以间隔都与程序中描述的一致。
7、教员评语。
嵌入式系统实验报告
嵌入式系统实验报告内容。第一章 arm2410cl嵌入式系统基础实验。实验一arm2410cl嵌入式教学实验系统。实验报告要求 简述嵌入式linux开发的流程。实验二。嵌入式linux开发环境的配置。实验报告要求 1 简述嵌入式linux开发环境配置的具体步骤。2 简述网络文件系统 nfs 第二章 ...
嵌入式系统实验报告
本科实验报告。1.实验原理 本实验使用xmanager enterprise软件来连接老师配置好的linux服务器,以完成实验中使用linux完成编译和 运行一个嵌入式系统。实验中使用u boot作为系统的bootloader,使一个嵌入式linux系统完成编译并模拟在另一台机器上 并执行操作。u ...
嵌入式系统实验报告
姓名 班级 学号 实验一 流水灯。实验要求 编写一个程序,是开发板上的的3个led灯按流水灯方式闪烁。实验工具 超级终端开发板,电脑。实验程序如下 汇编指令实验 定义端口e寄存器预定义。rgpbcon equ 0x56000010 rgpbdat equ 0x56000014 rgpbup equ ...