网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式系统设计实验四.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

P.PAGE1实验名称:姓名:学号:

P.PAGE1

装订线

装订线

专业:测控技术与仪器姓名:颜睿

专业:测控技术与仪器

姓名:颜睿

学号:3130103850

日期:2018.3.28

地点:创客空间

课程名称:嵌入式系统设计指导老师:马永昌成绩:________________

实验名称:实验四C语言裸机编程实验类型:验证型同组学生姓名:__孙凡原_______

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

一、实验目的和要求

初步了解C运行库

初步了解gccarm常用编译选项

了解ARM中断处理过程

二、实验内容和原理

编写C裸机代码实现跑马灯,通过控制Timer中断实现

通过控制uart串口进行调试打印

三、主要仪器设备

树莓派、PC机

四、操作方法和实验步骤

1通过定时器产生中断,控制gpio,实现跑马灯

2控制uart控制器,产生调试打印。

五、实验数据记录和处理

1.主程序arm.c注释

//包含头文件

#includestring.h

#includestdio.h

#includestdlib.h

#includerpi-aux.h

#includerpi-armtimer.h

#includerpi-gpio.h

#includerpi-interrupts.h

#includerpi-systimer.h

#includerpi-led.h

/**Mainfunction-wellneverreturnfromhere*/

voidkernel_main(unsignedintr0,unsignedintr1,unsignedintatags)

{

/*InitLed*/

LED_INIT(); //初始化LED,将LED的GPIO设置为输出

//设置流水灯GPIO5,6,13为输出

RPI_SetGpioOutput(RPI_GPIO5);

RPI_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; //设置计时器的装载值

/*SetuptheARMTimer*/

//配置计时器的控制寄存器

RPI_GetArmTimer()-Control=

RPI_ARMTIMER_CTRL_23BIT| //设置计时器为1:23-bitcounter

RPI_ARMTIMER_CTRL_ENABLE| //使能定时器

RPI_ARMTIMER_CTRL_INT_ENABLE| //使能定时器中断

RPI_ARMTIMER_CTRL_PRESCALE_256; //定时器分频

/*Enableinterrupts!*/

_enable_interrupts(); //使能中断

/*InitialisetheUART*/

RPI_AuxMiniUartInit(115200,8); //初始化串口,波特率115200,数据以8位传送

/*PrinttotheUARTusingthestandardlibcfunctions*/

//打印串口

printf(Embededsystemexperiment\r\n);

printf(InitialiseUARTconsolewithstandardlibc\r\n\n);

while(1)

{

printf(SerialLoopOutput

文档评论(0)

songyj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档