查看: 2219|回复: 2

[求助] UART0寄存器设置?读出的数据==0?

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-1-25 16:42:44 | 显示全部楼层 |阅读模式
    本帖最后由 zhjb1 于 2016-1-25 16:44 编辑

    KL26Z实验中遇到的还是关于寄存器设置问题。
    UART0共有UART0_BDH~BDL2个波特率除数因子寄存器,UART0_C1~C55个控制寄存器,OART0_S1~S22两个状态寄存器,UART0_MA1~MA22个地址标示寄存器,这么多个。如果仅仅用来控制UART0的发送和输出,只需要设置UART0_C1、C2和监测S1就够了——这是我看手册的理解。
    实验是这样进行的:
    先采用其MKL_UART.c中的UART0_INIT初始化程序将波特率设置好,而后采用寄存器来设置UART0的RX和TX。
    在UART0_C1中设置全双工独立引脚、无等待、不循环、8位、空闲位=0、不唤醒:0B01000000=0x40
    在UART0_C2中设置不中断、传输完成中断、接收中断禁用、空闲中断禁用、TX禁止[接收时]、RX允许[发送时禁止]、普通唤醒、正常队列。接收时:0B00000100=0x04||发送时:0B00001000=0x08;
    实验在打开UART0之后先接受大约501个字节才开始进入程序循环,但无论怎样改变C1和C2收发总在自动进行,并且无论采用Uart0GetChar()、或中间变量temp=Uart0GetChar()、或还是直接读出UART0_D获得的数据永远是0x20-好大喜空。
    问题不是这个,看手册找不到设置这些寄存器的方法,比如开通某某模块,其流程:先设置模块的时钟、选定时钟、设置基本参数1、...、参数N、开中断->接入程序,收到数据后,先关中断,处理数据,再开中断,接收数据...循环直到结束,关中断,关时钟,退回到原始状态。手册中没有这种流程,确实是在摸着石头过河,还老过不去。
    我想做程序的,流程就是程序员的语言,有了流程什么都水到渠成,给一段代码针对不同使用者几乎没有什么帮助,但有一个流程则就如鱼得水了,不是吗?
    在这一点上,Nunoton的M0或M4手册就比较写的好点,都有流程宣示此模块的运行。求解UART寄存器设置流程,为什么我得到的全是0x20?
    我知道答案 目前已有2人回答
    回复

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2016-1-26 09:29:03 | 显示全部楼层
    KL 系列快速入门手册里有UART的配置过程讲解,你可以参考一下,从77页开始 KLQRUG.pdf (2.04 MB, 下载次数: 12)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-1-27 11:17:46 | 显示全部楼层
    FSL_TICS_ZP 发表于 2016-1-26 09:29
    KL 系列快速入门手册里有UART的配置过程讲解,你可以参考一下,从77页开始
    ...

    非常感谢,我先下再看看,谢谢
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 20:21 , Processed in 0.086502 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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