欢迎来到天天文库
浏览记录
ID:35959390
大小:470.49 KB
页数:7页
时间:2019-04-28
《嵌入式系统设计实验四-(38733)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、....1P.专业:测控技术与仪器实验名称:姓名:学号:姓名:颜睿学号:3130103850实验报告日期:2018.3.28地点:创客空间课程名称:嵌入式系统设计指导老师:马永昌成绩:________________实验名称:实验四C语言裸机编程实验类型:验证型同组学生姓名:__孙凡原_______一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求初步了解C运行库初步了解gccarm常用编译选项了解ARM中断处理过程二、实验内
2、容和原理编写C裸机代码实现跑马灯,通过控制Timer中断实现装通过控制uart串口进行调试打印订三、主要仪器设备树莓派、PC机线四、操作方法和实验步骤1通过定时器产生中断,控制gpio,实现跑马灯2控制uart控制器,产生调试打印。五、实验数据记录和处理1.主程序arm.c注释//包含头文件#include#include#include#include"rpi-aux.h"#include"rpi-armtimer.h"#include"rpi-gpio.h"#include"rpi-inte
3、rrupts.h"#include"rpi-systimer.h"#include"rpi-led.h"~~..../**Mainfunction-we'llneverreturnfromhere*/~~....P.2实验名称:姓名:学号:voidkernel_main(unsignedintr0,unsignedintr1,unsignedintatags){/*InitLed*/LED_INIT();//初始化LED,将LED的GPIO设置为输出//设置流水灯GPIO5,6,13为输出RPI_SetGpioOutput(RPI_GPIO5);RPI
4、_SetGpioOutput(RPI_GPIO6);RPI_SetGpioOutput(RPI_GPIO13);/*EnablethetimerinterruptIRQ*///使能定时器中断RPI_GetIrqController()->Enable_Basic_IRQs=RPI_BASIC_ARM_TIMER_IRQ;/*Setupthesystemtimerinterrupt*//*Timerfrequency=Clk/256*0x400*/RPI_GetArmTimer()->Load=0x400;//设置计时器的装载值装/*SetuptheAR
5、MTimer*///配置计时器的控制寄存器订RPI_GetArmTimer()->Control=RPI_ARMTIMER_CTRL_23BIT
6、//设置计时器为1:23-bitcounter线RPI_ARMTIMER_CTRL_ENABLE
7、//使能定时器RPI_ARMTIMER_CTRL_INT_ENABLE
8、//使能定时器中断RPI_ARMTIMER_CTRL_PRESCALE_256;//定时器分频/*Enableinterrupts!*/_enable_interrupts();//使能中断/*InitialisetheUART*/RPI_A
9、uxMiniUartInit(115200,8);//初始化串口,波特率115200,数据以8位传送/*PrinttotheUARTusingthestandardlibcfunctions*///打印串口printf("Embededsystemexperimentr");printf("InitialiseUARTconsolewithstandardlibcr");while(1){printf("SerialLoopOutputr");RPI_WaitMicroSeconds(50000);//延时等中断}}~~....P
10、.3~~....实验名称:姓名:学号:~~....2.流水灯代码~~....void__attribute__((interrupt("IRQ")))interrupt_vector(void){//定时器中断处理函数中实现流水灯~~....staticintlit=0;staticintticks=0;staticintseconds=0;staticintflag=0;//用作流水灯标志位,每进入一次中断改变一次值~~....staticintstaticintstaticintlight_0;light_1;light_2;//定义三个
11、灯~~....RPI_GetArmTimer()->IRQClear=1;ticks++;if
此文档下载收益归作者所有