• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > MC9S12G96的SCI通信问题

MC9S12G96的SCI通信问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了工程中的数学问题sci,sci论文时态问题,sci回答问题模板,sci通信,sci通信接口等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: MC9S12G96的SCI通信问题
描述:

本帖最后由 hao507 于 2016-11-04 11:02:32 编辑

MC9S12G96,SCI

RT
硬件平台:MC9S12G96
软件平台:Codewarrior5.1
问题描述:
配置SCI0,使之进行正常通信
配置如下:

  /* SCI0CR1: LOOPS=0,SCISWAI=0,RSRC=0,M=0,WAKE=0,ILT=0,PE=0,PT=0 */
  setReg8(SCI0CR1, 0x00U);              
  /* SCI0SR2: AMAP=1,??=0,??=0,TXPOL=0,RXPOL=0,BRK13=0,TXDIR=0,RAF=0 */
  setReg8(SCI0SR2, 0x80U);             /* Switch to the alternative register set */ 
  /* SCI0ASR1: RXEDGIF=1,??=0,??=0,??=0,??=0,BERRV=0,BERRIF=1,BKDIF=1 */
  setReg8(SCI0ASR1, 0x83U);            /* Clear alternative status flags */ 
  /* SCI0ACR1: RXEDGIE=0,??=0,??=0,??=0,??=0,??=0,BERRIE=0,BKDIE=0 */
  setReg8(SCI0ACR1, 0x00U);             
  /* SCI0ACR2: ??=0,??=0,??=0,??=0,??=0,BERRM1=0,BERRM0=0,BKDFE=0 */
  setReg8(SCI0ACR2, 0x00U);  
  SCI0CR2 |= (SCI0CR2_TE_MASK | SCI0CR2_RE_MASK); /* Enable transmitter, Enable receiver */           
  /* SCI0SR2: AMAP=0,??=0,??=0,TXPOL=0,RXPOL=0,BRK13=0,TXDIR=0,RAF=0 */
  setReg8(SCI0SR2, 0x00U);             /* Switch to the normal register set */ 
  (void) SCI0SR1;                      /* Reset interrupt request flags */ 
  /* SCI0CR2: TIE=0,TCIE=0,RIE=0,ILIE=0,TE=0,RE=0,RWU=0,SBK=0 */
  SCI0CR2 = 0U;                        /* Disable error interrupts */
  SCI0BD = 0x41u;                  /* Set prescaler bits */ /*BUSCLK/16/19200 BUSCLK=20M*/
  SCI0CR2 |= (SCI0CR2_TE_MASK | SCI0CR2_RE_MASK); /* Enable transmitter, Enable receiver */

SCI发送函数:

byte bl_uart0_write(byte dat) {
  if(SCI0SR1_TDRE == 0U) {             /* Is the transmitter empty? */
    return ERR_TXFULL;                 /* If no then error */
  }
  SCI0DRL = (byte)dat;
  return ERR_OK;                       /* OK */
}

调试现象:
使用波特率19200,数据位8,停止位1,无奇偶校验
从CPU飞线出来TX,接到DB9上,通过串口调试助手查看数据,板子发送0x55,串口助手接收正确;但是板子发送其他数据(除了0x55),串口助手均不能接收到正确数据,比如发送0xAA,接收到的是0x15
目前不知道是哪里出了问题,请做过的兄弟或者大神指点。。。
另外:

#define SYS_OSC_CLOCK_FREQ      (8000)
#define SYS_MCU_CLOCK_FREQ      (40000)
#define SYS_BUS_CLOCK_FREQ      (20000) /*KHz*/


解决方案1:

用示波器看一下。一看时序,二看电平,三看数据值。
一般来说,不做电平转移是不适合 PC 接收的。

解决方案2:

好像数据变成反向的。
这款片子没用过,可以尝试发送00与FF,然后DUBUG看串口数据寄存器是否正确。
最好到官网下载例程好了

解决方案3:

数据错误基本上都是波特率的问题 19200的精度不够 实际的波特率是多少


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MC9S12G96的SCI通信问题

相关文章

  • 2017-06-05 请问:驱动程序调试
  • 2017-06-05 CC2538,contikiIAR移植,Jlink下载出现了问题,求大神解答
  • 2017-06-05 驱动程序开发的第一个问题
  • 2017-06-05 VXworks系统无限重启
  • 2017-06-05 老师你好阴三儿各位老师好,请教个关于单片机中断的疑问?
  • 2017-06-05 zigbee组网后频繁掉线是什么情况?
  • 2017-06-05 WinDbg设置符号表的问题
  • 2017-06-05 stm32F103ZET6PWM捕获不到
  • 2017-06-05 一个硬盘控制器在系统启动时候,到底要提供那些信息给BIOS程序,这些信息放置在内存什么位置?
  • 2017-06-05 NDIS60lwf驱动,过滤修改数据后应用层无法收到数据

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 直流电压源和信号源的不同multisim仿真遇到的困惑
    • 寻找隐世高手,怎样从波形恢复二进制数据(附图)
    • windows2000/xp/NT下如何用WDM实现单任务
    • ESP8266做为服务器发送图片
    • pbocPBOC电子现金交易选择应用后返回数据中不含PDOL的问题
    • 谁有mini2440PCB文件,想参考一下、画个板子。
    • 能解释一下这段宏的意思吗?谢谢!
    • 高分求声卡驱动程序
    • 51中断的问题想请教大家
    • 脉冲输入输出转换

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有