查看: 6252|回复: 19

[其他] MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

[复制链接]

该用户从未签到

9

主题

47

帖子

0

新手上路

Rank: 1

积分
96
最后登录
1970-1-1
发表于 2012-4-28 14:43:58 | 显示全部楼层 |阅读模式
上传两个王宜怀老师书里的例子 怎么调试总是在串口里出乱码 用LED测试定时器应该没问题 就是在串口调试助手里没成功 求解
我的板子晶振16M 总线时钟定为16M
我知道答案 目前已有18人回答
3~AL8{{T{I6)Z[5QN%@3B~L.jpg

CodeWarrior.rar

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

回复

使用道具 举报

该用户从未签到

9

主题

47

帖子

0

新手上路

Rank: 1

积分
96
最后登录
1970-1-1
 楼主| 发表于 2012-4-28 14:44:38 | 显示全部楼层

RE:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

一定行
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-4-28 16:59:47 | 显示全部楼层

    RE:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    波特率不对,你看看程序的波特率是多少。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    47

    帖子

    0

    新手上路

    Rank: 1

    积分
    96
    最后登录
    1970-1-1
     楼主| 发表于 2012-5-2 15:06:58 | 显示全部楼层

    回复:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    回复第 3 楼 于2012-04-28 16:59:47发表:
    波特率不对,你看看程序的波特率是多少。 

    void SCIInit(void)
    {
        INT8U t;
        //定义波特率Bt=9600,SCI0BD=fBUS/(16*Bt)
        SCI0BDL = 0x6A;    //须先给低8位赋值
        SCI0BDH = 0x00;    //再给高8位赋值
        SCI0CR1 = 0x00;    //设置允许SCI,正常码输出,8位数据,无校验
        t = SCI0DRL;       //读数据寄存器(清0)
        t = SCI0SR1;       //读状态寄存器(清0)
        SCI0CR2 = 0x0C;    //允许SCI0接收和发送 查询方式
    }
     
     
    串口波特率么?单独试串口的时候没问题啊,设定波特率9600,总线频率16MHz
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-5-2 17:01:49 | 显示全部楼层

    RE:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    问题原因:你发送的时候,要把数据转换为ascii码,你现在发的是16进制,比如0x01,那么串口显示的是乱码。
    解决办法:把16进制转换为ASCII码,转换方式:高低字节分开转换,比如0x12,转换为12。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    47

    帖子

    0

    新手上路

    Rank: 1

    积分
    96
    最后登录
    1970-1-1
     楼主| 发表于 2012-5-3 16:12:35 | 显示全部楼层

    回复:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    回复第 5 楼 于2012-05-02 17:01:49发表:
    问题原因:你发送的时候,要把数据转换为ascii码,你现在发的是16进制,比如0x01,那么串口显示的是乱码。
    解决办法:把16进制转换为ASCII码,转换方式:高低字节分开转换,比如0x12,转换为12。 

    O(∩_∩)O谢谢 现在知道问题出在哪里了,把串口设成16位显示确实是发送了16位的数。不过有一点不明白,单片机默认的都是16位数据么,我单独调试串口收发的程序为什么收发的字母和数字都不受影响,这两个程序(计数定时)里发送的数据要么设成8位要么设成16位,比如定时器产生中断后,计时变量time【2】就加1,就是1S,那么怎么让他到10s的时候不是A而是10呢?有没有相关的C指令,还是在初始化的时候应该定义
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-5-3 16:17:10 | 显示全部楼层

    RE:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    你单独调试的时候发送的是字符串,这个是自动转为ASCII码的,而你直接发送的是数值,需要转码或者16进制显示.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    47

    帖子

    0

    新手上路

    Rank: 1

    积分
    96
    最后登录
    1970-1-1
     楼主| 发表于 2012-5-3 16:50:34 | 显示全部楼层

    回复:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    回复第 7 楼 于2012-05-03 16:17:10发表:
    你单独调试的时候发送的是字符串,这个是自动转为ASCII码的,而你直接发送的是数值,需要转码或者16进制显示. 

    那请问这个在程序里如何转换呢?变量是自加的,到10的时候就显示A,代码如何写呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-5-3 16:57:55 | 显示全部楼层

    RE:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

    这个需要自己写,比如0x01要转换为0x30,0x31,而A-F需要转换为0x41-0x45。这个你可以对比ASCII码来做。数值转换的时候要注意:高4位和低4位要分开来转。这样转出来的才是正确的。举个例子:
    c=0x01;
    a=c&0xF0;
    b=c&0x0F;
    if(a
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    40

    帖子

    0

    注册会员

    Rank: 2

    积分
    77
    最后登录
    1970-1-1
    发表于 2012-5-4 08:14:04 | 显示全部楼层

    回复:MC9SDG128定时器及脉冲累加器问题 求管理员拔刀

     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-6 22:26 , Processed in 0.102241 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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