




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐嵌入式系统设计实验四试验报告课程名称:嵌入式系统设计指导教师:马永昌成果:________________试验名称:试验四C语言裸机编程试验类型:验证型同组同学姓名:__孙凡原_______
一、试验目的和要求(必填)二、试验内容和原理(必填)
三、主要仪器设备(必填)四、操作办法和试验步骤
五、试验数据记录和处理六、试验结果与分析(必填)
七、研究、心得
一、试验目的和要求
?初步了解C运行库
?初步了解gccarm常用编译选项
?了解ARM中断处理过程
二、试验内容和原理
?编写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-interrupts.h"
#include"rpi-systimer.h"
#include"rpi-led.h"
/**Mainfunction-we'llneverreturnfromhere*/
voidkernel_main(unsignedintr0,unsignedintr1,unsignedintatags)
专业:测控技术与仪器
姓名:颜睿
学号:3130103850
日期:2022.3.28地点:创客空间
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\r\n");
RPI_WaitMicroSeconds(50000);//延时等中断
}
}
2.流水灯代码
void__attribute__((interrupt("IRQ")))interrupt_vector(void)//定时器中断处理函数中实现流水灯
staticintticks=0;
staticintseconds=0;
staticintflag=0;//用作流水灯标志位,每进入一次中断转变一次值
staticintlight_0;//定义三个灯
staticintlight_1;
staticintlight_2;
RPI_GetArmTimer()->IRQClear=1;
ticks++;
if(ticks>1)
{
ticks=0;
seconds++;
if(seconds>59)
{
seconds=0;
calculate_frame_count=1;
}
}
/*FliptheLED*/
if(lit)
{
LED_OFF();
lit=0;
}
else
{
LED_ON();
lit=1;
}
if(flag==0)//flag为0,亮灯5,灭6,13
{
light_0=RPI_GPIO5;
light_1=RPI_GPIO6;
light_2=RPI_GPIO13;
flag++;
}
elseif(flag==1)//flag为1,亮灯6,灭5,13
{
light_0=RPI_GPIO6;
light_1=RPI_GPIO5;
light_2=RPI_GPIO13;
flag++;
}
else//flag为2,亮灯13,灭5,6
{
light_0=RPI_GPIO13;
light_1=RPI_GPIO5;
light_2=RPI_GPIO6;
flag=0;
}
RPI_SetGpioValue(light_0,RPI_IO_HI);//light_0设置高电平,点亮灯RPI_SetGpioValue(light_1,RPI_IO_LO);//light_1设置低电平,熄灭灯RPI_SetGpioValue(light_2,RPI_IO_LO);//light_2设置低电平,熄灭灯}
3.编译烧录
将kernel7.img拷贝至sd卡,然后上电树莓派运行观看结果4.硬件接线
六、试验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 23231:2025 EN Textiles - Determination of dimensional change of fabrics - Accelerated machine method
- 2025年新人教版部编本六班级语文上册教学方案附教学进度支配表
- 2025年幼儿园教务工作方案
- 出镜记者与主持人实务 课件 第十一章 融合现场
- 2025年一班级语文教学工作方案
- 2025年有创意美食节活动策划方案
- 介绍会计行业
- 山西省太原市2024-2025学年高三上学期期末学业诊断英语试卷 含解析
- 2023年工作总结与方案
- 经内镜染色检查护理配合
- GB/T 18655-2025车辆、船和内燃机无线电骚扰特性用于保护车载接收机的限值和测量方法
- 吉林省吉林市2024-2025学年高三下学期3月三模试题 生物 含答案
- 2025年陕西农业发展集团有限公司(陕西省土地工程建设集团)招聘(200人)笔试参考题库附带答案详解
- 辽宁省协作校2024-2025学年度下学期高三第一次模拟考试语文+答案
- 2025年03月中央社会工作部所属事业单位公开招聘11人笔试历年参考题库考点剖析附解题思路及答案详解
- 2025年中高端女装市场趋势与前景深度分析
- 2025北京清华附中高三(下)统练一数学(教师版)
- 2025春人教版历史七年级下册《第一单元 隋唐时期 繁荣与开放的时代》大单元整体教学设计2022课标
- GB/T 16895.36-2024低压电气装置第 7-722 部分:特殊装置或场所的要求电动车供电
- 食品安全日管控、周排查及月调度记录表
- 《新疆大学版学术期刊目录》(人文社科)
评论
0/150
提交评论