Board logo

标题: [求助]学习ARM的问题16 [打印本页]

作者: wangxd5429    时间: 2005-8-25 20:41     标题: [求助]学习ARM的问题16

技术类问题 1. 在做周立功的基础试验的时候,发现程序开头的文件说明与MAIN函数前面的函数注释有时相同,有时不同,大家怎么看?我认为应该相同,放在开头是为了阅读方便。 ARM嵌入式系统试验教程(一)P127 例子如下: 程序开头的注释: /**************************************************************************** * 文件名:DATARET.C * 功能:使用串口UART0接收上位机发送的数据,当接收到8个连续数据后,将接收计数值加一后输 * 出LED1--LED8显示,并将数据原封不动地发送回上位机。 * 说明:将跳线器JP8短接。 * 通讯波特率115200,8位数据位,1位停止位,无奇偶校验。 ****************************************************************************/ main函数之前的注释: /**************************************************************************** * 名称:main() * 功能:初始化串口,并等待接收到串口数据。 * 说明:在STARTUP.S文件中使能IRQ中断(清零CPSR中的I位)。 ****************************************************************************/ 2. 函数的使用方法与函数的功能有区别吗?我认为“使用方法”更直观一些,指的是应该怎样操作。“功能”指的是函数的输入输出描述。 3. 下面是周立功的基础试验程序中的一个函数,返回时无法停止在下一条语句,请问为什么? /****************************************************************************** *名称:uart0_ini() *功能:通过设置相应的寄存器对串口0进行初始化 *入口参数:波特率,串口模式设置 *出口参数:初始化成功返回1,初始化失败返回0 *占用资源:变量bak,baud,set *说明:输入串口模式的信息以及串口波特率,观察返回值 ************************************************************************/ uint8 uart0_ini(uint32 baud,UARTMODE set) { uint16 bak; if((baud==0||baud>115200)) /*参数过滤*/ { return(0); } if((set.datab<5||set.datab>8)) { return(0); } if((set.stopb==0||set.stopb>2)) { return(0); } if(set.parity>4) { return(0); } U0LCR=0x80; /*设置串口波特率*/ bak=(Fpclk>>4)/baud; U0DLM=bak>>8; U0DLL=bak&0xff; bak=set.datab-5; /*设置串口模式*/ if(set.stopb==2) { bak|=0x04; } if(set.parity!=0) { set.parity--; bak|=0x08; } bak|=set.parity<<4; U0LCR=bak; U0FCR=0x81; U0IER=0x01; return(1); } 4. 学习中遇到这样一句话:“为了允许用户模式程序使用IMB序列,推荐将其作为一个操作系统调用程序,由SWI指令调用。”其中“作为一个操作系统调用程序,由SWI指令调用。”这句话怎么理解?我的理解是“写成一个函数,由软件中断调用。” 《ARM与嵌入式系统基础教程》P57 5. “软件的逻辑关系”是什么意思?是流程图的复杂程度吗? 《ARM与嵌入式系统基础教程》P390 非技术类问题 1. 本人9月份要进入嵌入式LINUX的学习,大家能给推荐几本书吗?以通俗易懂为标准,适合于初学者,我已经学了UCOS-II,没有分析源码,也算有些基础吧。谢谢!! 2. 本人已经基本学完了基于ARM核的单片机LPC2210,在操作系统上想从UCOS-II过渡到LINUX,请教大家学完LINUX大概需要多长时间(不包括分析源码)? 3.我读程序的方法是读完一句就在旁边写上注解,读完一个函数后写出它的思路。请大家谈谈各自的方法吧,互相学习。谢谢!!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0