智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6770|回复: 14
打印 上一主题 下一主题

串口通信一直显示乱码的问题T^T

[复制链接]

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
111
贡献
50
兑换币
55
注册时间
2014-1-21
在线时间
31 小时
毕业学校
中国计量学院
跳转到指定楼层
1#
发表于 2014-1-21 18:08:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在下纯新手,用的k60芯片,烧录软件STC_ISP_V480,想做ADC的串口通信,但返回的总是些“瞃YVV脲?ffdYY薤霛摍彊咫咫瞃YVV脲?”这样子的乱码试了些其他串口的例程,也是一些乱码,我用的是岱墨的那些例程,哪位大大能帮我解决下{:soso_e105:}
另外,由于我们学校没有老师教,也没什么一起学习的伙伴,完全自学的状态。学起来感觉像是无头苍蝇一样,不知道该从何入手,可以的话也顺便给我指明or指点下道路吧{:soso_e136:}
回复

使用道具 举报

6

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
743
威望
353
贡献
234
兑换币
241
注册时间
2013-10-12
在线时间
78 小时
2#
发表于 2014-1-21 18:15:11 | 只看该作者
你看下波特率匹配不 波特率不对可能出现乱码的情况
回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
111
贡献
50
兑换币
55
注册时间
2014-1-21
在线时间
31 小时
毕业学校
中国计量学院
3#
 楼主| 发表于 2014-1-21 18:33:37 | 只看该作者
wajuka 发表于 2014-1-21 18:15
你看下波特率匹配不 波特率不对可能出现乱码的情况

串口的跟程序的是同一个,而且试了19200跟9600这两种,结果也都是乱码
回复 支持 反对

使用道具 举报

200

主题

2621

帖子

1

精华

杰出人士

蜗牛

Rank: 12Rank: 12Rank: 12

积分
12488

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章在线王奖章资源大师奖章

QQ
威望
5973
贡献
3101
兑换币
1999
注册时间
2011-10-21
在线时间
1707 小时
4#
发表于 2014-1-21 19:00:05 | 只看该作者
看看是否接触不良
回复 支持 反对

使用道具 举报

24

主题

251

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3743

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
1825
贡献
1052
兑换币
1036
注册时间
2011-10-2
在线时间
433 小时
5#
发表于 2014-1-21 19:02:14 | 只看该作者
发下你串口的发送函数
回复 支持 反对

使用道具 举报

1

主题

63

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1247
威望
698
贡献
385
兑换币
359
注册时间
2012-7-18
在线时间
82 小时
6#
发表于 2014-1-21 20:08:07 | 只看该作者
是不是你串口调试助手字符集选择的问题
回复 支持 反对

使用道具 举报

12

主题

187

帖子

0

精华

会长

Rank: 8Rank: 8

积分
1676

活跃会员奖章优秀会员奖章

威望
808
贡献
460
兑换币
521
注册时间
2012-12-11
在线时间
204 小时
毕业学校
长春理工大学
7#
发表于 2014-1-21 20:47:06 | 只看该作者
串口发送出乱码有很多原因,总结我见过的有以下几种,给LZ抛块砖:
1、首先检查波特率2、检查程序发送的通信格式,包括字符格式3、检查串口通信软件的发送数据类型4、比较坑爹的还有,串口线过长、串口发送PIN电平受干扰···
回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
111
贡献
50
兑换币
55
注册时间
2014-1-21
在线时间
31 小时
毕业学校
中国计量学院
8#
 楼主| 发表于 2014-1-21 21:30:53 | 只看该作者
tobeabh 发表于 2014-1-21 19:02
发下你串口的发送函数

void uart_init (UARTn uartn, u32 baud)
{
    register uint16 sbr, brfa;
    uint8 temp;
    u32 sysclk;     //时钟

    /* 配置 UART功能的 GPIO 接口 开启时钟 */
    switch(uartn)
    {
    case UART0:
        if(UART0_RX == PTA1)
            PORTA_PCR1 = PORT_PCR_MUX(0x2);      //在PTA1上使能UART0_RXD
        else if(UART0_RX == PTA15)
            PORTA_PCR15 = PORT_PCR_MUX(0x3);     //在PTA15上使能UART0_RXD
        else if(UART0_RX == PTB16)
            PORTB_PCR16 = PORT_PCR_MUX(0x3);     //在PTB16上使能UART0_RXD
        else if(UART0_RX == PTD6)
            PORTD_PCR6 = PORT_PCR_MUX(0x3);      //在PTD6上使能UART0_RXD
        else
            assert_failed(__FILE__, __LINE__);   //设置管脚有误?

        if(UART0_TX == PTA2)
            PORTA_PCR2 = PORT_PCR_MUX(0x2);     //在PTA2上使能UART0_RXD
        else if(UART0_TX == PTA14)
            PORTA_PCR14 = PORT_PCR_MUX(0x3);     //在PTA14上使能UART0_RXD
        else if(UART0_TX == PTB17)
            PORTB_PCR17 = PORT_PCR_MUX(0x3);     //在PTB17上使能UART0_RXD
        else if(UART0_TX == PTD7)
            PORTD_PCR7 = PORT_PCR_MUX(0x3);     //在PTD7上使能UART0_RXD
        else
            assert_failed(__FILE__, __LINE__);  //设置管脚有误?


        SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;      //使能 UARTn 时钟
        break;

    case UART1:
        if(UART1_RX == PTC3)
            PORTC_PCR3 = PORT_PCR_MUX(0x3);     //在PTC3上使能UART1_RXD
        else if(UART1_RX == PTE1)
            PORTE_PCR1 = PORT_PCR_MUX(0x3);     //在PTE1上使能UART1_RXD
        else
            assert_failed(__FILE__, __LINE__);  //设置管脚有误?

        if(UART1_TX == PTC4)
            PORTC_PCR4 = PORT_PCR_MUX(0x3);     //在PTC4上使能UART1_RXD
        else if(UART1_TX == PTE0)
            PORTE_PCR0 = PORT_PCR_MUX(0x3);     //在PTE0上使能UART1_RXD
        else
            assert_failed(__FILE__, __LINE__);  //设置管脚有误?

        SIM_SCGC4 |= SIM_SCGC4_UART1_MASK;
        break;
是这个吗,我用的是uart1

回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
111
贡献
50
兑换币
55
注册时间
2014-1-21
在线时间
31 小时
毕业学校
中国计量学院
9#
 楼主| 发表于 2014-1-21 21:31:40 | 只看该作者
qinlu123 发表于 2014-1-21 19:00
看看是否接触不良

应该不是不过还是谢谢啊嘿嘿
回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
111
贡献
50
兑换币
55
注册时间
2014-1-21
在线时间
31 小时
毕业学校
中国计量学院
10#
 楼主| 发表于 2014-1-22 08:32:42 | 只看该作者
wzp1992 发表于 2014-1-21 20:08
是不是你串口调试助手字符集选择的问题

不大明白,不过应该怎么检查呢
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 20:39 , Processed in 0.048752 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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