查看: 2150|回复: 4

[求助] mkl05z8fk4调试UART0问题

[复制链接]

该用户从未签到

1

主题

15

帖子

0

中级会员

Rank: 3Rank: 3

积分
263
最后登录
1970-1-1
发表于 2014-7-28 22:51:02 | 显示全部楼层 |阅读模式
 使用IAR软件编译的.
我是用串口调试助手调试的,当MCU发送0X00和0X55时电脑接收正常.发送其他数据电脑显示的不是MCU所发的数据,例如当MCU发送0X01时电脑显示7F,发送0X02电脑的串口高度助手上显示3E.且串口调试助手也是以十六进制数显示的
UART0初始化如下.
void uart0_init (void)
{
  
    SIM_SOPT2 |=0x0c000000u;//SIM_SOPT2_UART0SRC(3);  //UART0时钟源选择
    /* SIM_SCGC4: UART0=1 */
    SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;  //打开UART0时钟
    
    PORTB_PCR3 = PORT_PCR_MUX(3);       // PTB3引脚为UART0_TXD            
    PORTB_PCR4 = PORT_PCR_MUX(3);       // PTB4引脚为UART0_RXD 
    
    /* UART0_C2: TIE=0,TCIE=0,RIE=0,ILIE=0,TE=0,RE=0,RWU=0,SBK=0 */
    UART0_C2 = 0x00U; //禁止硬件中断,
 
    
    
    /* UART0_BDH: LBKDIE=0,RXEDGIE=0,SBNS=0,SBR=0 */
    UART0_BDH = 0x00;
    /* UART0_BDL: SBR=4 */
    UART0_BDL = 0x04;  //设置波特率19230,在内部时钟2M/((采样率0X19+1)*0X04)
    /* UART0_MA1: MA=0 */
    UART0_MA1 = UART0_MA1_MA(0x00);
    /* UART0_MA2: MA=0 */
    UART0_MA2 = UART0_MA2_MA(0x00);
    /* UART0_C4: MAEN1=0,MAEN2=0,M10=0,OSR=0x19 */
    UART0_C4 = UART0_C4_OSR(0x19);   //过采样率,设置波特率
    /* UART0_C1: LOOPS=0,DOZEEN=0,RSRC=0,M=0,WAKE=0,ILT=0,PE=1,PT=0 */
    UART0_C1 = UART0_C1_ILT_MASK|UART0_C1_PE_MASK  ;  //允许奇偶校验
    /* UART0_S1: TDRE=1,TC=1,RDRF=0,IDLE=1,OR=1,NF=1,FE=1,PF=1 */
    UART0_S1 = UART0_S1_TDRE_MASK |  //发送数据寄存器空标志,0为满,1为空
              UART0_S1_TC_MASK |    //发送完成标志,0为正在发送,1发送器空闲
              UART0_S1_IDLE_MASK |  //接收空闲标志,0正
              UART0_S1_OR_MASK |    //接收溢出标志,0为无溢出,1接收溢出,写字清除该位
              UART0_S1_NF_MASK |     //噪声标志,0不检测接收无噪声,1检测接收数据中的噪声
              UART0_S1_FE_MASK |   //帧错误
              UART0_S1_PF_MASK;    //奇偶错误标志
    /* UART0_S2: LBKDIF=1,RXEDGIF=1,MSBF=0,RXINV=0,RWUID=0,BRK13=0,LBKDE=0,RAF=0 */
    UART0_S2 = (UART0_S2_LBKDIF_MASK | UART0_S2_RXEDGIF_MASK);
      (void) UART0_D; //UART数据寄存器                   /* Dummy read of the UART0_D register to clear flags */
    /* UART0_C5: TDMAE=0,??=0,RDMAE=0,??=0,??=0,??=0,BOTHEDGE=0,RESYNCDIS=0 */
    UART0_C5 = UART0_C5_BOTHEDGE_MASK;
    /* UART0_C3: R8T9=0,R9T8=0,TXDIR=0,TXINV=0,ORIE=0,NEIE=0,FEIE=0,PEIE=0 */
    UART0_C3 = 0x00U;
    /* UART0_C2: TIE=0,TCIE=0,RIE=0,ILIE=0,TE=1,RE=1,RWU=0,SBK=0 */
    //使能发送器,接收器
    UART0_C2 = (UART0_C2_TE_MASK | UART0_C2_RE_MASK);
  }
我知道答案 目前已有3人回答

UART2.zip

870.63 KB, 下载次数: 4, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-29 11:00:52 | 显示全部楼层

RE:mkl05z8fk4调试UART0问题

你好,楼主!
估计是波特率的设置不匹配导致的,我建议你可以参照FSL官网的FRDM-KL05Z的例程包中串口例程,在你的板子上跑一下。
FRDM-KL05界面:
https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL05Z
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-29 11:02:19 | 显示全部楼层

RE:mkl05z8fk4调试UART0问题

还有一点提醒一下楼主,以后有关于FSL产品的问题,请在【飞思卡尔FAE线上技术支持】板块中提出,谢谢。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

15

帖子

0

中级会员

Rank: 3Rank: 3

积分
263
最后登录
1970-1-1
 楼主| 发表于 2014-7-29 20:05:06 | 显示全部楼层

RE:mkl05z8fk4调试UART0问题

问题找到了,软件配置没问题,问题出在USB转串口上,感谢你的回答
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

351

帖子

0

高级会员

Rank: 4

积分
973
最后登录
1970-1-1
发表于 2014-8-6 16:30:16 | 显示全部楼层

回复:mkl05z8fk4调试UART0问题

回复第 4 楼 于2014-07-29 20:05:06发表:
问题找到了,软件配置没问题,问题出在USB转串口上,感谢你的回答 

这个问题还真是难找呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 12:39 , Processed in 0.093490 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表