嵌入式实验报告

合集下载

嵌入式实验报告

嵌入式实验报告

嵌入式系统实验报告姓名:班级:学号:教师:流水灯实验一、实验目的1.理解并掌握ARM的端口操作2.熟悉HC595工作原理二、实验内容1 掌握端口操作2 让流水灯依次显示三、实验原理1. 端口操作原理A.端口功能选择由于ARM中端口基本上都有复用,所以对端口操作时首先要确定用该端口的什么功能,一般端口用作输入输出都是GPIO功能!确定为GPIO功能的实现方法一般为对对应端口PINSEL清0,实现方法范例如下:PINSEL0 &= KEYBOARD_SMAT; 如果KEYBOARD_SMAT 等于0xffff00ff,那么P0.4~P0.7端口为GPIO功能!首先是对PINSEL0操作说明是对于P0端口中的P0.0~P0.15操作,每个端口对应两bit,因为某些端口功能多于两种;所以例子中是对P0.4~P0.7操作。

(端口功能介绍见LPC2292数据手册)B.端口方向选择对端口确认为GPIO功能后,则需要确定该端口是输入输出,ARM中是通过IOXDIR寄存器实现!如:IO0DIR |= KEYBOARD_SCK;说明是对端口P0操作,在这里其操作的范围为整个端口P0,每一个端口只有输出输入判断,估在IOXDIR 一个端口只需要一个bit就可以做出判断。

如果KEYBOARD_SCK= 0X00000010,说明是对P0.4设置为输出。

如IO0DIR &= (KEYBOARD_KEY^0XFFFFFFFF);为相应的输入实现方式C.清零与置位在端口为输出时,对于一个端口可以置位也可以清0,在ARM中的实现方式如下!如:IO0CLR = KEYBOARD_SI;此语句是对KEYBOARD_SI为1的位全部清0,如果KEYBOARD_SI 等于 0x00000040,那么P0.6端口则清0,如果KEYBOARD_SI 等于0xFFFFFFFF则是对整个P0清0;对应的IOxSET也是同样的方式,不同的它对相应端口置1;D. 输入电平判断在端口为输入时,判断以个端口是低电平还是高电平则是通过IOXPIN这类寄存器实现的。

嵌入式led灯实验报告总结(一)

嵌入式led灯实验报告总结(一)

嵌入式led灯实验报告总结(一)嵌入式LED灯实验报告总结前言本次嵌入式LED灯实验是在掌握了基本的电路知识和嵌入式编程技能的基础上进行的。

通过实验,我们旨在进一步探索LED灯的各种应用,并深入了解其原理和工作机制。

本文将总结实验过程中的关键点和所获得的收获。

正文实验目标在本次实验中,我们的目标是实现一个简单的嵌入式LED灯系统,能够控制其亮度和颜色。

通过硬件和软件的配合,我们希望能够熟练掌握以下内容: - 接线和电路搭建 - 嵌入式芯片编程 - 驱动LED灯的原理和方法 - 调整亮度和改变颜色的技巧实验过程在实验过程中,我们按照以下步骤进行操作: 1. 准备必要的硬件设备和材料,包括嵌入式开发板、LED灯、电阻等。

2. 按照电路图连接硬件设备,确保电路的正确性和安全性。

3. 使用嵌入式开发环境,编写相应的代码来控制LED灯的亮度和颜色。

4. 调试代码,确保LED灯的亮度和颜色可以按照预期进行调整。

5. 记录实验数据和观察结果,分析实验过程中的问题和解决方案。

实验结果经过实验,我们成功地实现了嵌入式LED灯的控制。

通过调整代码中的参数,我们可以灵活地改变LED灯的亮度和颜色,并且在多种不同的场景下进行应用。

同时,我们也发现了一些潜在的问题,如电路连接不良、驱动程序的bug等,并通过调试和优化得到了解决。

结尾通过本次实验,我们深入了解了嵌入式LED灯的原理和工作机制,掌握了如何使用嵌入式开发板和编程技术来驱动LED灯,从而实现自定义的亮度和颜色。

这对于我们提升嵌入式系统设计和应用的能力具有重要意义。

在今后的学习和工作中,我们将继续深化对嵌入式技术的理解,探索更多应用场景和创新的可能性。

结论总的来说,本次嵌入式LED灯实验让我们充分了解了LED灯的工作原理和控制方法。

我们通过实践操作,掌握了嵌入式开发板的连接和编程技巧,成功实现了LED灯的亮度和颜色的灵活调节。

在实验过程中,我们也遇到了一些问题,但通过不断调试和解决,我们成功克服了困难。

嵌入式系统实验报告

嵌入式系统实验报告

嵌入式系统实验报告————————————————————————————————作者:————————————————————————————————日期:嵌入式实验报告实验一 LED灯显示实验一.实验目的1.熟悉arm开发板基本组成电路,并通过配套教材熟悉arm芯片特性。

了解ADS1.2软件使用,并会用该软件编译调试开发板。

2.了解H—JTAG软件原理,利用教材中提供的LED测试程序,完成实验。

二.实验器材PC机一台,周立功开发板一块三. 实验原理E asyARM2103开发板提供了4个绿色发光二极管用作显示,电路如图1.1所示。

显示电路采用了灌电流的方式来驱动发光二极管,由于微控制器LPC2103 I/O 口提供的灌电流大于其拉电流,采用此驱动方式可以保证二极管发光的亮度。

1.1Led电路原理四.实验内容及步骤1.下面以GPIO的测试程序为例,熟悉EasyJTAG-H软件的使用方法,程序功能设计为控制单路LED闪烁,硬件电路如图1.1所示。

2.打开示例工程。

示例工程路径:配套光盘内容->光盘内容v1.00->3.EasyARM2103安装手册->GPIO Test,将此文件夹复制到其它目录下打开,要求存放目录必须无中文路径,如图5.13所示。

打开文件夹后,建议用户先删掉“GPIO_Test_Data”文件夹,然后双击打开“GPIOTest.mcp”文件,即打开示例工程。

3.点击“user”文件夹,打开main.c文件,见到示例代码4.选择低速GPIO,控制LED灯闪烁,示例程序如程序清单所示。

此示例操作需要短接JP4的P0.17,输出控制LED1。

5.编译连接工程。

项目目标栏处选择DebugInFlash模式,然后编译连接工程。

如图所示为工程窗口中的DebugRel Settings…工程设置,如地址设置、输出文件设置、编译选项等,Synchronize Modificatinte同步修改日期,检查工程中每个文件的修改日期,若(如使用其辑源文件),则在h栏标记“√”Linker 生成的Image 一般包括三个区域:代码段、数据段和BSS 段。

嵌入式实验四实验报告

嵌入式实验四实验报告

嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。

实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。

实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。

实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。

实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。

通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。

在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。

嵌入式系统试验报告

嵌入式系统试验报告

嵌入式系统实验报告学院:计算机科学与工程姓名:___________学号:_______________专业:_______________指导老师:______________完成日期:______________实验一:流水灯案例、8位数码管动态扫描案例一、实验目的1.1 进一步熟悉Keil C51集成开发环境调试功能的使用;1.2 学会自己编写程序,进行编译和仿真测试;1.3 利用开发板下载hex 文件后验证功能。

二、实验原理2.1 :实验原理图030B 〜I ।卜RSI I ™Hi 」 口 UICDR Hr hJJK RR 18q U I. 海水灯电浒周LhE U_EEM^Li > > 第 X > k >n - » =白 L a £0EBS2.2:工作原理2.2.1:流水灯电路中有LO,1,L2,L3,4,L5,L6,L7共八个发光二极管,当引脚LED_ SEL输入为1,对于A、B、C、D、E、F、G、H引脚,只要输入为1,则点亮相连接的发光二极管。

A〜H引脚连接STM32F108VB芯片的PE8〜PE15,程序初始化时,对其进行初始设置。

引脚LED_SEL为1时,发光二极管才工作,否则右边的数码管工作。

注意,LED SEL 连接于PB3,该引脚具有复用功能,在默认状态下,该引脚的I0不可用,需对AFIO_ MAPR寄存器进行设置,设置其为10可用。

2.2.2: 8位数码管数码管中的A~G、DP段分别连接到电路图中的A~G、H线上,当某段上有一-定的电压差值时,便会点亮该段。

当£3输入为1,也就是LED_ 5£1输入为0时,根据SELO〜SEL2的值确定选中的数码管,即位选,再根据A~H引脚的高低电平,点亮对应段,即段选。

三、实验结果3.1:流水灯对于给出的流水灯案例,下载HEX文件后,在开发板上可观察到L0-L7从左至右依次点亮,间隔300ms。

嵌入式实训报告范文2篇2

嵌入式实训报告范文2篇2

嵌入式实训报告范文 (2)嵌入式实训报告范文 (2)精选2篇(一)嵌入式实训报告一、实训背景嵌入式系统是一种以具体任务为中心,集成了硬件与软件的计算机系统。

由于其体积小、功耗低、功能强大等特点,嵌入式系统被广泛应用于各个领域,如家电、汽车、医疗等。

通过参与嵌入式实训,我希望能够掌握嵌入式开发的基本原理和方法,提高自己的实践能力。

二、实训目标1.掌握嵌入式系统的基本知识和开发工具的使用;2.了解嵌入式系统的硬件架构和软件设计流程;3.能够根据需求设计并实现简单的嵌入式系统。

三、实训内容1.学习嵌入式系统基础知识:通过课堂教学和自主学习,了解了嵌入式系统的概念、特点及应用领域。

深入学习了ARM架构和C语言的基本知识,并进行了相应的实践操作。

2.学习嵌入式开发工具的使用:学习了Keil MDK和IAR Embedded Workbench等常用的嵌入式开发工具的安装和配置方法。

通过实操操作,掌握了调试、编译、下载等基本功能的使用。

3.学习嵌入式系统设计流程:了解了嵌入式软件开发的常用流程,包括需求分析、系统设计、编码实现、调试测试、系统验证等。

通过案例分析和实践操作,对嵌入式系统设计流程有了更深入的了解。

4.设计并实现简单的嵌入式系统:根据实训要求,我选择了一个简单的嵌入式系统项目,通过分析需求、设计系统架构、编写软件代码、调试测试等环节,最终成功完成了项目。

四、实训总结及收获通过参与嵌入式实训,我不仅掌握了嵌入式系统的基本知识和开发工具的使用,还锻炼了自己的实践能力。

我深刻认识到嵌入式系统开发需要全面的知识储备和较高的技术水平,同时也需要良好的分析、设计和沟通能力。

通过实训,我对嵌入式系统开发流程有了更深入的理解,对嵌入式系统的设计和开发也有了更高的认识和要求。

在未来的学习和工作中,我会继续深入学习嵌入式系统开发相关知识,并不断提高自己的实践能力。

嵌入式系统是未来的发展方向,通过不断探索和实践,我相信我能够在这个领域取得更好的成果。

嵌入式实训报告范文2篇

嵌入式实训报告范文2篇

嵌入式实训报告范文嵌入式实训报告范文精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式实训的目的是通过设计和实现一个嵌入式系统,培养学生的嵌入式系统开发才能和团队协作才能。

本次实训的背景是为了满足社会对嵌入式系统开发人才的需求,进步学生的实际动手才能。

二、实训内容1. 硬件平台的选择和搭建:选择了一款ARM开发板作为硬件平台,并搭建了相应的开发环境。

2. 系统设计和分析:根据实训要求,我们团队设计了一个智能门锁系统,包括用户认证、门锁控制和远程监控功能。

3. 软件开发:使用C语言和嵌入式开发工具进展软件开发,实现了用户认证、门锁控制和远程监控等功能。

4. 硬件连接和调试:将开发板和相关传感器、执行器等硬件设备进展连接和调试,确保系统可以正常运行。

5. 功能测试和调优:对系统进展全面测试,发现并修复了一些问题,并对系统进展了性能优化。

三、实训心得和体会通过本次实训,我深入认识到嵌入式系统开发的复杂性和挑战性。

在实训过程中,我们团队遇到了许多问题,比方硬件和软件的兼容性、性能优化等方面。

但是通过团队的努力和合作,我们成功解决了这些问题,并完成了一个功能完善的嵌入式系统。

此外,我还学到了许多软件开发和硬件调试的技巧,进步了自己的实际动手才能。

在团队协作方面,我们团队成员之间互相配合,共同解决问题,形成了良好的协作机制。

总结起来,本次嵌入式实训让我受益匪浅,学会了许多实际应用的技能和知识,并进步了自身的综合才能。

四、实训成果展示在实训完毕后,我们团队成功完成了一个智能门锁系统,具备用户认证、门锁控制和远程监控等功能。

系统的稳定性和可靠性得到了验证,并且在实际使用中得到了积极的反应。

附图:〔展示系统界面、硬件设备连接示意图等〕五、实训改良意见尽管本次实训获得了良好的成果,但仍有一些方面需要改良。

首先,实训的时间安排可以更合理一些,以便更充分地利用时间进展理论操作。

其次,可以增加一些真实场景的案例分析和解决方案的设计,以提升学生的实际应用才能。

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告指导老师:涂刚班级:计算机060姓名:学号:姓名:学号:完成日期: 7.5试验一:bootloader (ads、引导)一、实验任务1、熟悉ADS 1.2开发工具创建、编译、下载、调试工程2、串口通讯串口控制器初始化、收/发数据3、配置主机端的nfs服务器配置主机端的nfs服务器,以连接linux核心4、下载并运行linux核心使用自己的串口程序下载并运行linux核心二、实验内容●编写串口接收数据函数●编写串口发送数据函数●学习ads、jtag调试、flash烧写●打印菜单,等待用户输入●下载并运行linux核心●配置主机的nfs服务器,与linux核心连接三、实验步骤(1)修改bootloader:菜单、串口收发、命令行;Bootloader的main()函数:int main(void){ARMTargetInit(); //目标板初始化;//接收用户命令,传递linux核心;Uart_puts("Menu:\n\r");Uart_puts("1.Load kernel via Xmodem;\n\r");Uart_puts("2.Boot linux; \n\r");Uart_puts("3.Load kernel from flash and boot; \n\r");Uart_puts("Make your choice.\n\r");do{ch=Uart_getc();}while(ch!='1' && ch!='2' && ch!='3');return 0;}//main;接收串口数据并做相应处理:while(1){打印菜单并等待用户输入;switch(ch) //根据用户输入做相应处理{case '1':imgsize=xmodem_receive((char *)KERNEL_BASE, MAX_KERNEL_SIZE);if(imgsize==0) //下载出错;else //下载成功;break;case '3':nand_read((unsigned char *)KERNEL_BASE, 0x00030000, 4*1024*1024);case '2':BootKernel(); //这里是不会返回的,否则出错;break;default:break;}}串口读写:void Uart_putc(char c){while(!SERIAL_WRITE_READY());((UTXH0) = (c));}unsigned char Uart_getc( ){while(!SERIAL_CHAR_READY());return URXH0;}(2)使用ads1.2编译bootloader;(3)使用uarmjtag下载、调试bootloader;(4)使用axd查看变量、内存,单步跟踪;(5)配置超级终端,与bootloader通讯;(6)使用超级终端下载Linux核心映像;(7)启动Linux核心运行,察看结果;(8)linux核心能够运行到加载root步骤,说明bootloader正常运行;(9)将bootloader烧写到flash中,重启目标板电源,察看bootloader是否烧写正常,下载核心测试;(10)主机重启到Fedora,配置nfs;编辑/etc/export文件:/home/arm_os/filesystem/rootfs 目标板ip(rw,sync)/home/arm_os/filesystem/rootfs 主机ip(rw,sync)重新启动nfs服务器:/etc/init.d/nfs restart测试nfs服务器是否正常运行:mount 主机ip:/home/arm_os/filesystem/rootfs /mnt(11)以root用户启动cutecom,将cutecom配置成115200 bps,8位,1位停止位,无校验,xmodem,no line end;(12)使用bootloader重新下载Linux核心映像,启动核心运行后,察看是否成功加载nfs 上的root文件系统;目标板linux系统正常运行到命令行模式下,能够正常输入linux命令,说明实验成功。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录实验一跑马灯实验 (1)实验二按键输入实验 (3)实验三串口实验 (5)实验四外部中断实验 (8)实验五独立看门狗实验 (11)实验七定时器中断实验 (13)实验十三ADC实验 (15)实验十五DMA实验 (17)实验十六I2C实验 (21)实验十七SPI实验 (24)实验二十一红外遥控实验 (27)实验二十二DS18B20实验 (30)实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。

二.实验目的掌握STM32开发环境,掌握从无到有的构建工程。

三.实验内容熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。

通过ISP 下载代码到实验板,查看运行结果。

使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤1.熟悉MDK KEIL开发环境2.熟悉串口编程软件ISP3.查看固件库结构和文件4.建立工程目录,复制库文件5.建立和配置工程6.编写代码7.编译代码8.使用ISP下载到实验板9.测试运行结果10.使用JLINK下载到实验板11.单步调试12.记录实验过程,撰写实验报告六.实验结果及测试源代码:两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。

七.实验总结通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。

作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

实验二按键输入实验一.实验简介在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。

二.实验目的熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。

三.实验内容实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及方向。

使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤1在实验1代码的基础上,编写中断初始化代码2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序3编写中断服务程序4编译代码,使用JLINK下载到实验板5.单步调试6记录实验过程,撰写实验报告六.实验结果及测试源代码:我们将通过MiniSTM32 板上载有的3个按钮,来控制板上的2个LED,其中KEY0控制LED0,按一次亮,再按一次,就灭。

KEY1 控制LED1,效果同KEY0。

KEY_2(KEY_UP),同时控制LED0 和LED1,按一次,他们的状态就翻转一次。

七.实验总结通过本次实验,我学会了如何使用STM32 的IO 口作为输入用。

TM32 的IO 口做输入使用的时候,是通过读取IDR 的内容来读取IO 口的状态的。

这里需要注意的是KEY0 和KEY1 是低电平有效的,而WK_UP 是高电平有效的,而且要确认WK_UP 按钮与DS18B20 的连接是否已经断开,要先断开,否则DS18B20 会干扰WK_UP按键!并且KEY0 和KEY1 连接在与JTAG 相关的IO 口上,所以在软件编写的时候要先禁用JTAG 功能,才能把这两个IO 口当成普通IO 口使用。

实验三串口实验一.实验简介编写代码实现串口发送和接收,将通过串口发送来的数据回送回去。

二.实验目的掌握STM32基本串口编程,进一步学习中断处理。

三.实验内容编写主程序,初始化串口1,设置波特率为9600,无校验,数据位8位,停止位1位。

编写中断服务程序代码实现将发送过来的数据回送。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤1编写串口初始化代码2编写中断服务程序代码3编译代码,使用JLINK或ISP下载到实验板4记录实验过程,撰写实验报告六.实验结果及测试源代码:把代码下载到MiniSTM32 开发板,可以看到板子上的LED0 开始闪烁,说明程序已经在跑了。

接着我们打开串口调试助手,看到如下信息:证明串口数据发送没问题。

接着,我们在发送区输入上面的文字,输入完后按回车键。

然后单击发送,可以得到如下结果:七.实验总结通过本次实验,我进一步了解了串口的使用,学会了通过串口发送和接收数据,将通过串口发送来的数据回送回去。

该实验的硬件配置不同于前两个实验,串口1 与USB 串口默认是分开的,并没有在PCB上连接在一起,需要通过跳线帽来连接一下。

这里我们把P4 的RXD 和TXD 用跳线帽与P3 的PA9 和PA10 连接起来。

实验四外部中断实验一.实验简介STM32 的IO 口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述。

这里我们将介绍如何将这两者结合起来,实现外部中断输入。

二.实验目的进一步掌握串口编程,进一步学习外部中断编程,提高编程能力。

三.实验内容初始化IO口的输入,开启复用时钟,设置IO与中断的映射关系,从而开启与IO口相对应的线上中断事件,设置触发条件。

配置中断分组(NVIC),并使能中断,编写中断服务函数。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤1.编写中断服务程序代码2.使用ISP下载到实验板3.测试运行结果4.记录实验过程,撰写实验报告六.实验结果及测试源代码:打开串口助手。

七.实验总结首先需要将IO设置为中断输入口:1)初始化IO 口为输入。

2)开启IO 口复用时钟,设置IO 口与中断线的映射关系。

3)开启与该IO口相对的线上中断/事件,设置触发条件。

4)配置中断分组(NVIC),并使能中断。

5)编写中断服务函数。

这一节,使用的是中断来检测按键,通过WK_UP 按键实现按一次LED0 和LED 1 同时翻转,按KEY0 翻转LED0,按KEY1 翻转LED1。

试验中外部中断函数不能进入的原因分析:1)GPIO或者AFIO的时钟没有开启。

2)GPIO和配置的中断线路不匹配。

3)中断触发方式和实际不相符合。

4)中断处理函数用库函数时,写错,经常可能出现数字和字母之间没有下划线。

5)外部中断是沿触发,有可能不能检测到沿,比如中断线是低电平(浮空输入),触发是下降沿触发,可能会出现一直是低电平,高电平的时候是一样的情况,电平持续为高电平。

6)没有用软件中断来触发外部中断,调用函数EXTI_GenerateSWInterrupt;,因为软件中断先于边沿中断处理。

实验五独立看门狗实验一.实验简介独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。

窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。

二.实验目的通过编程,编写一个独立看门狗驱动程序三.实验内容启动STM32 的独立看门狗,从而使能看门狗,在程序里面必须间隔一定时间喂狗,否则将导致程序复位。

利用这一点,我们本章将通过一个LED 灯来指示程序是否重启,来验证STM32 的独立看门狗。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤1.参考教材独立看门狗部分,编写独立看门狗驱动程序。

建立和配置工程2.编写代码3.使用ISP下载到实验板4.记录实验过程,撰写实验报告六.实验结果及测试源代码:在配置看门狗后,看到LED0 不停的闪烁,如果WK_UP 按键按下,就喂狗,只要WK_UP 不停的按,看门狗就一直不会产生复位,保持LED0 的常亮,一旦超过看门狗定溢出时间(Tout)还没按,那么将会导致程序重启,这将导致LED0 熄灭一次。

七.实验总结通过本次实验,我掌握了启动独立看门狗的步骤:1)向IWDG_KR 写入0X5555。

2)向IWDG_KR 写入0XAAAA。

3)向IWDG_KR 写入0XCCCC。

通过上面3个步骤,启动STM32 的看门狗,从而使能看门狗,在程序里面就必须间隔一定时间喂狗,否则将导致程序复位。

利用这一点,本章通过一个LED 灯来指示程序是否重启,来验证STM32 的独立看门狗。

在配置看门狗后,LED0 将常亮,如果WK_UP 按键按下,就喂狗,只要WK_UP 不停的按,看门狗就一直不会产生复位,保持LED 0 的常亮,一旦超过看门狗溢出时间(Tout)还没按,那么将会导致程序重启,这将导致LED 0 熄灭一次。

实验七定时器中断实验一.实验简介STM32 的定时器是一个通过可编程预分频器(PSC)驱动的16 位自动装载计数器(CNT)构成。

STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)等。

使用定时器预分频器和RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几微秒到几毫秒间调整。

STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。

二.实验目的熟练掌握定时器中断,学会对定时器中断的编程操作。

三.实验内容使用定时器产生中断,然后在中断服务函数里面翻转LED1 上的电平,来指示定时器中断的产生,修改中断时间。

四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤1.参考教材定时器中断部分,编写定时器中断的驱动程序。

2.编写主程序3.编译代码,使用JLINK或ISP下载到实验板4.记录实验过程,撰写实验报告六.实验结果及测试源代码:七.实验总结通过本次实验,认识到时间中断来控制LED灯的闪烁,同时也可以将时间中断应用到控制其他的程序块。

以TIME3为例产生中断的步骤为1)TIM3 时钟使能。

2)设置TIM3_ARR 和TIM3_PSC 的值。

3)设置TIM3_DIER 允许更新中断。

4)允许TIM3 工作。

5)TIM3 中断分组设置。

相关文档
最新文档