求助串口!路过的老师们能帮帮忙吗?
小弟我刚刚入门不久,还很菜!{:cry:}我往串口里发了一串数据01 02 03 04 05 06 07,
uchar tab5;
可是不知为什么tab5=06,tab5=07 .......
本来我是想让tab5=01,tab5=2 .......
是不是哪里搞错 了。
期待老师们指点,先谢谢了!
这种情况,貌似是波特率设置的问题,不是很确定,你自己再找找原因。多重复发几次,看下一次的数据是不是从1到7一次出现。 把数组声明和fan的声明拿出来看看
fan这个变量应该设置成全局的变量,并加volatile修饰,以保障fan在中断返回的时候不发生变化! 本帖最后由 tangsizu 于 2012-7-21 23:50 编辑
刚刚 发表于 2012-7-21 23:35 static/image/common/back.gif
把数组声明和fan的声明拿出来看看
fan这个变量应该设置成全局的变量,并加volatile修饰,以保障fan在中断 ...
多谢楼上两位的指点!
每次返回的都是一样的次序!
声明如下:
#include "ds1302.h"
#include "to595.h"
#include "tiaoshi.h"
#include "xianshi.h"
#include "com.h"
#include <reg51.h>
sbit led1=P2^7;
sbit led2=P2^6;
uchar fan,biaoji,i,miao_shan;
uchar tab5;
tangsizu 发表于 2012-7-21 23:48 static/image/common/back.gif
多谢楼上两位的指点!
每次返回的都是一样的次序!
声明如下:
你tab怎么赋值的 你好,tab5[]没有赋初始值,串口发来的日期时间放到tab5[]里,然后再写到DS1302里 刚刚 发表于 2012-7-21 23:51 static/image/common/back.gif
你tab怎么赋值的
您好,tab5[]没有赋初始值,串口发来的日期时间放到tab5[]里,然后再写到DS1302里 tangsizu 发表于 2012-7-21 23:58 static/image/common/back.gif
您好,tab5[]没有赋初始值,串口发来的日期时间放到tab5[]里,然后再写到DS1302里 ...
声明的时候 将uchar fan = 0;
然后接受中断里面,不需要去判断RI是不是等于1,你可以在进中断的时候去清除中断标志
接接受到1个tab5,你就直接返回一个tab5,然后再fan加加
页:
[1]