完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 35598581 于 2013-7-4 08:24 编辑
一、 实验设备 1) JXARM9-2410教学实验箱 2) ADT1000仿真器和ADT IDE集成开发环境 3) 串口延长线 基于ARM9 S3C2410 串口通信与外部中断 实现查询方式串口的收发功能:接收来自PC机(dnw.exe)的字符,将所收小写字母转为大写,或将所收大写字母ASCII值向上偏移2(大写41~5A,小写61~7A),再返送回给PC机。每次发送要累加计数并让数码管显示数字加1。 编写中断处理程序,处理外部中断3:使七段数码管从0~F变化,同时跑马灯在跳跃闪烁,且向串口发送所示的数字或字母。正向变化3遍,反向变化3遍。 学校要交坑爹的作业,本人不才,C语言基础薄弱,完全没办法,求路过的大神拔刀相助,好人一生平安!新注册,只有4E币也送了,万分感谢啊! |
|
相关推荐
5个回答
|
|
没有高手能回答我的问题吗?
|
|
|
|
继续求助啊!!
|
|
|
|
继续求助
|
|
|
|
给了串口个例程,据说是不对的,应该怎么改?大神在哪里?
/* 包含文件 */ #include "def.h" #include "2410lib.h" #include "option.h" #include "2410addr.h" #include "interrupt.h" /* functions */ void eint2_isr(void) __attribute__ ((interrupt("IRQ")));; void eint3_isr(void) __attribute__ ((interrupt("IRQ")));; void delay(); /* variables */ int dither_count2 = 0; int dither_count3 = 0; int a=0; static int nLed = 0x01; /***************************************************************************** // Function name : Main // Description : JXARM9-2410 中断实验主程序 // 完成功能: // 外部中断按键引发中断 // Return type : void // Argument : void *****************************************************************************/ void Main(void) { unsigned int i,j,k,f; unsigned char mask; unsigned char pdata[6]; mask=0x3f; unsigned char ch = 'a'; /* 配置系统时钟 */ ChangeClockDivider(1,1); // 1:2:4 ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz /* 中断初始化 */ Isr_Init(); /* 初始化端口 */ Port_Init(); /* 初始化串口 */ Uart_Init(0,115200); Uart_Select(0); /* 打印提示信息 */ PRINTF("n---外部中断测试程序---n"); PRINTF("n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)n"); PRINTF("n外部中断测试开始n"); /* 请求中断 */ Irq_Request(IRQ_EINT3, eint3_isr); /* 使能中断 */ Irq_Enable(IRQ_EINT3); dither_count2 = 0; dither_count3 = 0; while(1) { delay(); dither_count2++; dither_count3++; if(a==1) { for(i=1;i<=3;i++) { for(j=1;j<=16;j++) { if(nLed>16) nLed = 0x01; pdata[0]=j;pdata[1]=j;pdata[2]=j;pdata[3]=j;pdata[4]=j;pdata[5]=j; Seg7_Display(mask,pdata); if(j>9) ch=j-9+0x40; else ch=j+0x30; Uart_SendByte(ch); Led_Display(nLed); nLed=nLed<<1; } } for(k=1;k<=3;k++) { for(f=16;f>=1;f--) { if(nLed>16) nLed = 0x01; pdata[0]=f;pdata[1]=f;pdata[2]=f;pdata[3]=f;pdata[4]=f;pdata[5]=f; Seg7_Display(mask,pdata); if(f>9) ch=f-9+0x40; else ch=f+0x30; Uart_SendByte(ch); Led_Display(nLed); nLed=nLed<<1; } } a=0; } } } /***************************************************************************** // Function name : eint3_isr // Description : EINT3中断处理程序 // Return type : int // Argument : void *****************************************************************************/ void eint3_isr(void) { Irq_Clear(IRQ_EINT3); if(dither_count3 > 5) { dither_count3 = 0; a=1; } } void delay() { int index = 0; for ( index = 0 ; index < 20000; index++); } |
|
|
|
没人能解答??
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
1002 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
3316 浏览 1 评论
876 浏览 0 评论
1742 浏览 1 评论
3127 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 21:15 , Processed in 0.593670 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号