您的位置 首页 开关

三 ARM9(S3C2440)的串口UART——程序实例解说

串口通信程序编写步骤UART通信程序可以采用查询、中断和DMA模式。我们通过使用较多的中断方式来介UART通信程序的编写。简单做法是,UART通

串口通讯程序编写过程

UART通讯程序能够选用查询、中止和DMA形式。咱们经过运用较多的中止方法来介UART通讯程序的编写。简略做法是,UART通讯程序的编写参照比如程序。

选通道,经过函数Uart_Select();选UART0~UART2;

选波特率和波特率发生器时钟,选波特率经过函数Uart_Pclk_En(int ch, int baud)或Uart_Pclk_En(int ch, int baud)来进行。时钟选UCLK ,rUCON0|=0x400;时钟选PCLK ,rUCON0&=0x3ff。

通讯协议(rULCON0)设定,假如正常通讯,一位中止位,8位数据位,无奇偶效验: rULCON0=(0<<6)|(0<<3)|(0<<2)|(3);

通讯操控字(rUCON0)设定,如时钟选ULK做波特率发生器;Tx中止脉冲触发,Rx中止脉冲触发;接纳超时中止答应;发生接纳过错中止;正常形式发送:

rUCON0|=(TX_INTTYPE<<9)|(RX_INTTYPE<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(1<<2)|(1);

I/O口初始化,由于UART通讯运用H口的第二功用,所以H口要上拉制止:rGPHUP|=0x1ff。H口操控寄存器nRTS1,nCTS1功用使能,rGPHCON&=0x3c0000,rGPHCON|=0x2faaa;

设中止服务函数进口地址,把中止服务函数进口地址赋函数指针PISR_UARTn, 留意,接纳中止服务函数进口地址和发送中止服务函数进口地址是一个,在中止服务函数中依据

UTRSTATn [1]和UTRSTATn [0]状况决定是发送中止仍是接纳中止。

翻开总中止屏蔽和子中止屏蔽等候中止:

rINTMSK=~(BIT_UART0);

rINTSUBMSK=~(BIT_SUB_TXD0);

进入中止后,先屏蔽发送和接纳中止,避免新来中止搅扰咱们的正常发送和接纳,正常发送和接纳完毕后,清中止挂起和中止源挂起寄存器:ClearPending(BIT_UART0),rSUBSRCPND=(BIT_SUB_TXD0(发送),rSUBSRCPND=(BIT_SUB_RXD0|BIT_SUB_ERR0)(接纳);

撤销中止屏蔽,等下一次中止。

下面是使用查询方法的串口通讯程序(FL2440开发板)

#include”2440addr.h”//该程序是PC机经过串口东西向开发板发送1234这四个数字来操控四个LED的亮灭

int TSmain()
{
char buf,i;

rULCON0 &=0XFFFFFF00;
rULCON0 |=0X03;//1位开始位,8位数据位
rUCON0=0x05;//0X0805;//串口时钟PCLK,查询方法 东:PCLK为50M
rUBRDIV0 =325;//0X1A;//波特率115200****325时设置为9600
rGPBCON = 0x1dd7fc;//GPB5,6,8,10设置为输出
rGPBDAT|=0x560;//4个LED全灭
while(1)
{
if(rUTRSTAT0 & 0X01)//接纳是否完毕 =1完毕
{

buf=rURXH0;//读取数据
while(!(rUTRSTAT0 & 0X04));//是否答应发送 =1答应

rUTXH0=buf;
if(buf==1)//判别接纳到的是哪一个数字
i=1;
else if(buf==2)
i=2;
else if(buf==3)
i=3;
else if(buf==4)
i=4;
switch(i){//使相应的LED亮灭

case 1:
rGPBDAT^=(1<<5);
i=0;//将i清零避免下次收到其他数据时搅扰
break;
case 2:
rGPBDAT^=(1<<6);
i=0;
break;
case 3:
rGPBDAT^=(1<<8);
i=0;
break;
case 4:
rGPBDAT^=(1<<10);
i=0;
break;
default:break;
}

}
}

return 0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/256920.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部