4403|12

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于UART的问题 [复制链接]

写了一个简单的uart程序 在接收端显示发送端发送的数据 但后来发现发送的是6但接收端总是显示0 后来调试发现:
1.接收端给*P_UART_Data赋值6  但*P_UART_Data仍为0  即赋值不成功 而且即使没有发送接收端也会显示0
2.在发送端*P_UART_Command2有时正常等于0x0040 但有时等于0x00f1
3.在发送端*P_UART_Command2有时正常等于0x0080 但有时等于0x00b1
程序如下 大家帮忙给看一下 指点一下 不胜感激
发送端:
#include"SPCE061A.h"
void main()
{   
        unsigned int key,i;
    *P_SystemClock=0x10;  //Fosc=24.576MHz
    *P_UART_Command1=0x20;//内部复位
        *P_IOB_Dir=0x0400; //初始化IOB口
        *P_IOB_Attrib=0x0480;
        *P_IOB_Data=0x0400;
        *P_UART_BaudScalarLow=0x00;//波特率设置为9600bps
        *P_UART_BaudScalarHigh=0x05;
    *P_UART_Command1=0x0C;
    *P_UART_Command2=0x0040;
        while(1)
        {  
                key=*P_IOA_Data;
                key=key*0x0001;
                if(key==1)
                {
                        i=*P_UART_Command2;
                    i=i&0x0040;
                    while(i==0)
                    {
                            i=*P_UART_Command2;
                        i=i&0x0040;
                        *P_Watchdog_Clear=1;
                    }
                       
                   *P_UART_Data=0x06;
                  
                  
                 }
                *P_Watchdog_Clear=1;
        }
}
接受端:
#include"spce061a.h"
#include"1602LCD.h"
void main()
{   unsigned int i,data;
    *P_SystemClock=0x10;  //Fosc=24.576MHz
    *P_UART_Command1=0x20;//内部复位
        *P_IOB_Dir=0x0400; //初始化IOB口
        *P_IOB_Attrib=0x0480;
        *P_IOB_Data=0x0400;
        *P_UART_BaudScalarLow=0x00;//波特率设置为9600bps
        *P_UART_BaudScalarHigh=0x05;
        *P_UART_Command1=0x00;
        *P_UART_Command2=0x0080;
        i=*P_UART_Data;
        init_LCD();
        clear_LCD();
        while(1)
        {
                i=*P_UART_Command2;
                i=i&0x0080;
                while(i==0)
                {
                        i=*P_UART_Command2;
                        i=i&0x0080;
                        *P_Watchdog_Clear=0x0001;
                }
                        data=*P_UART_Data;
                        gotoxy(0,0);
                    display_LCD_number(data);
               
                *P_Watchdog_Clear=0x0001;
               
        }
               
}

最新回复

值不对,经常是波特率的问题  详情 回复 发表于 2008-11-15 09:58
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
那么多指针变量都指到哪里了?
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
那么多指针变量都指到哪里了?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
SPCE061A.h 中包含了
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

5
 
又是让大伙做算命的。。。

呵呵
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
大家帮帮忙 给看看啊
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
四楼的看来很牛 帮帮给看看
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
不牛

看着你那有点像凌阳的16位机

偶没有用过

不过凌阳的这么封装库是很猥琐的

呵呵

还郁闷的是:你程序里没有注释,我也不了解凌阳的工作方式

所以哈。。。

很头痛,要是我会算命就好了

 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
貌似凌阳什么都搞好了。没有用过。
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

10
 
你的P_UART_Data指到哪里了?
没看到赋值,使用一个野指针?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
好像没有什么人用凌阳的,我现在也是要用凌阳的开发了,我也刚接触,郁闷ing,找个问问高手的地方都没有
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

12
 
恩,是凌阳的。看看他那个什么教学的PDF就可以了,代码懒得看。串口通讯凌阳已经给打包的很够意思了。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

13
 
值不对,经常是波特率的问题
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表