当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 基于fs4412单板的串口裸板程序编写

基于fs4412单板的串口裸板程序编写 时间:2018-09-28      来源:未知

 首先根据原理图查看串口连接,如下:

根据BUF_XuTXD2/BUF_XuRXD2查看连接主芯片的位置,如下:

查找数据手册将GPA1_0/GPA1_1两个引脚配置为uart功能,如下图所示:

然后通过数据手册中uart章所描述公式,

 

根据公式描述,其中

SCLK为100M 

UBRp2 = 100M/115200/16 -1 = 53

UFRACVAL2 = 0.25 * 16 = 4

配置以下寄存器值,进行串口的初始化。

void InitUart()

{

//set gpio1_0 is uart rx, gpio1_1 tx

GPA1CON = GPA1CON &~ (0xFF) | (0x22);

//  normal mode | no parity | one stop bit  | 8bits 

ULCON2  = ULCON2 | (0 << 6)  | (0 << 3) | (0 << 2)| 0x3;

// [3:2] transmit mode is poll(01)  [1:0] receive mode is poll(01)

UCON2 = UCON2 &~ (0xF) | ( 0x5 );

/*

100M / 115200 / 16 - 1 = 53.25

set UBRp2 53

set UFRACVAL2 0.25 * 16

*/

UBRp2 = 53;

UFRACVAL2 = 4;

}

接收与发送需根据寄存器进行判断

判断接收与发送的代码如下:

char RecvFromUart()

{

while( !(UTRSTAT2 & 0x1) )

{

;

}

return URXH2;

}

void SendToUart(char c)

{

while( !(UTRSTAT2 & (0x1 << 1)) )

{

;

}

UTXH2 = c;

}

上一篇:VR的世界

下一篇:MODBUS与LPC11C14

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部