10.06.2013 Views

RF - 今日电子

RF - 今日电子

RF - 今日电子

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

98<br />

应用设计:工业控制<br />

unsigned int status;<br />

int time;<br />

volatile unsigned int i;<br />

status = USART_pt-><br />

US_CSR & USART_pt->US_IMR;/<br />

/ 给状态寄存器赋初值<br />

i f ( s t a t u s &<br />

AT91C_US_RXRDY)// 接收通道寄存<br />

器判断是否有数据<br />

{<br />

AT91F_US_DisableIt<br />

(USART_pt,AT91C_US_RXRDY);/<br />

/ 关闭接收通道准备好中断<br />

AT91F_US_EnableIt<br />

(USART_pt,AT91C_US_ENDRX);//<br />

打开接收结束中断<br />

AT91F_US_ReceiveFrame<br />

(USART_pt,(char*)(message),4);//<br />

调用接收数据数接收数据<br />

}<br />

i f ( s t a t u s &<br />

AT91C_US_ENDRX){<br />

AT91F_US_DisableIt<br />

(USART_pt,AT91C_US_ENDRX); /<br />

/ 关闭接收器传送结束中断<br />

(上接第 94 页)<br />

{ if((message[0]^0xff)<br />

络登录以及设置短消息模式为 PDU 等,<br />

PDU 编码即按 PDU 的编码规则产生相<br />

应的 PDU 串。PDU 模式收发短信可以<br />

使用 3 种编码:7bit、8bit 和 UCS2 编<br />

码,这里我们采用的是 UCS2 编码。其<br />

中,中断 1 来自传感器的,中断 2 来自<br />

<strong>今日电子</strong> · 2007 年 12 月<br />

==message[1])// 判断接收代码<br />

{switch (message[0])<br />

{case 0x31 : {conp=<br />

(volatile unsigned int*)<br />

(0x1+0x30000000);//OPE1 使能<br />

*conp=0x2;}; break;/<br />

/0x31 代码送往 OPE1 端口<br />

case 0x30 :<br />

{conp=(volatile unsigned int*)<br />

(0x2+0x30000000);//OPE2 使能<br />

*conp=0x1;};<br />

break; // 0x30 代码送往 OPE2 端口<br />

case 0x11 : {conp=<br />

(volatile unsigned int*)<br />

(0x3+0x30000000);//OPE3 使能<br />

*conp=0x2;};<br />

break;// 0x11 代码则往 OPE3 端口<br />

case 0x10 :<br />

{conp=(volatile unsigned int*)<br />

(0x4+0x30000000);//OPE4 使能<br />

*conp=0x1;};<br />

break; //0x10 代码送往 OPE4 端口<br />

default:break;}<br />

}<br />

}<br />

以上程序为串口中断服务程序,各<br />

Tc35i 模块。<br />

结语<br />

本系统是全无线系统,不用布线,<br />

安装方便。特别适用于仓库等有线网络<br />

不能到达的地方。而且系统成本不高,<br />

函数语句说明参见注释。中断级别设置<br />

为 6(高于定时中断),这样使命令发送<br />

优先于故障查询(控制命令随机出现而<br />

故障查询总是循环进行);接收缓冲区<br />

message[4]数组类型必须设为动态分配,<br />

静态数据分配会使处理器开辟数据缓冲<br />

区到 Flash 芯片中,从而引发在一个中<br />

断处理程序中由于存取时间过长而导致<br />

串口收发超时的错误。因为篇幅有限,<br />

其他程序不再一一叙述。<br />

在 ARM 应用程序的编写中,应该<br />

尽量少的在主函数内使用循环操作,主<br />

函数主要完成各接口控制器应用初始<br />

化,因为主函数不间断循环操作不但会<br />

增加功耗,而且长时间频繁切换于中断<br />

服务和主循环之间会造成程序运行的不<br />

稳定,所以能用定时中断完成的循环操<br />

作尽量用中断完成。<br />

结语<br />

ARM 芯片控制功能结合 FPGA 灵<br />

活的多硬件接口模拟特性在工程上体现<br />

出的其独特的优势,已发展为一种流行<br />

的硬件架构模式,随着芯片功能的不断<br />

强大,这种优势将使其用途更广,对任<br />

务处理变得更加灵活高效。 EPC<br />

易于推广。同时,由于系统传感器的可<br />

裁减性,通过配备不同的传感器,可以<br />

实现其他特定场合如机房、养殖室等的<br />

安全报警,有着广泛而诱人的应用前<br />

景。<br />

EPC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!