RF - 今日电子
RF - 今日电子
RF - 今日电子
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