Hi,欢迎来到中国优发娱乐手机版高端品牌 - 华清远见嵌入式学院<北京总部官网>,专注嵌入式工程师培养13年!
  • 全国咨询热线:400-611-6270
  • 新浪微博
  • 微信
  • 北京
    校区
  • 上海
    校区
  • 深圳
    校区
  • 成都
    校区
  • 南京
    校区
  • 武汉
    校区
  • 西安
    校区
  • 广州
    校区
  • 沈阳
    校区
  • 济南
    校区
  • 重庆
    校区
  • 长沙
    校区
  • 研发
    中心
  • 当前位置: > 嵌入式学院 > 嵌入式学习 > 讲师博文 > 基于fs4412单板的串口裸板程序编写
    基于fs4412单板的串口裸板程序编写
    时间:2017-04-27作者:华清远见
     首先根据原理图查看串口连接,如下: 根据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
  • 发表评论
    全国咨询电话:400-611-6270,双休日及节假日请致电值班手机:15010390966 在线咨询: 曹老师QQ(619366077), 余老师QQ(2657985593), 李老师QQ(2814652411), 徐老师QQ(1462495461) 企业培训洽谈专线:010-82600901,院校合作洽谈专线:010-82600350,在线咨询:QQ(248856300) Copyright 2004-2017 华清远见教育集团 版权所有 ,沪ICP备10038863号,京公海网安备110108001117号

    优发娱乐手机版

    百度360搜索搜狗搜索

    优发娱乐手机版

    百度360搜索搜狗搜索