中易网

为什么我的串口程序在就收软件里只会得到一堆"?"号

答案:2  悬赏:80  
解决时间 2021-12-20 21:55
#include
#include
//---------------------------------------------------------------------
#define FOSC 11059200L
#define BAUD 9600

typedef unsigned char BYTE;
typedef unsigned int WORD;

sfr ADC_CONTR =0xBC; //ad控制寄存器
sfr ADC_RES =0xBD; //高八位
sfr ADC_LOW2 =0xBE; //低二位
sfr P1ASF =0x9D; //P1辅助功能控制寄存器
//---------------------------------------------------------------------
#define ADC_POWER 0x80 //AD总点源位
#define ADC_FLAG 0x10 //AD完成标志
#define ADC_START 0x08 //AD开始控制位

// CPU工作频率21MHz时 A/D转换速度约 300KHz
#define ADC_SPEEDLL 0x00 //0000,0000 0 0 420 个时钟周期转换一次 [A/D转换所需时间]
#define ADC_SPEEDL 0x20 //0010,0000 0 1 280 个时钟周期转换一次
#define ADC_SPEEDH 0x40 //0100,0000 1 0 140 个时钟周期转换一次
#define ADC_SPEEDHH 0x60 //0110,0000 1 1 70 个时钟周期转换一次,


void InitUart();
void InitADC();
void SendData(BYTE dat);
BYTE GetADCResult(BYTE ch);
void Delay(WORD n);
void ShowResult(BYTE ch);



void main ()
{
InitUart();
InitADC();
while(1)
{
ShowResult(0);
ShowResult(1);
// ShowResult(2); //开发板P1^2有问题
ShowResult(3);
ShowResult(4);
ShowResult(5);
ShowResult(6);
ShowResult(7);
}
}

void ShowResult(char ch)
{
SendData(ch);
SendData(GetADCResult(ch));
// 如果想取到十位结果,将下面这句注释取消
// SendData(ADC_LOW2);
}

BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER| ADC_SPEEDLL| ch| ADC_START;
_nop_();
_nop_();
_nop_();
_nop_();
while(!(ADC_CONTR & ADC_FLAG)); //等待寄存器完成工作
ADC_CONTR &= ~ADC_FLAG; //关闭ad转换

return ADC_RES; //返回值
}

void InitUart()
{
SCON = 0x5a; //设定八位串口连接方式
TMOD = 0x20; //T1为8位自动重载
TH1 = TL1= -(FOSC/12/32/BAUD); //UART的波特率设置
TR1 = 1; //打开定时器1

}

void InitADC()
{
P1ASF = 0xff; //打开8通道ADC功能
ADC_RES = 0; //清空历史
ADC_CONTR = ADC_POWER | ADC_SPEEDLL ;
Delay(2); //延时,硬件反应

}

void SendData(BYTE dat)
{
while(!TI); //TI为发送完成标志位,如果发送完成TI等于1;
TI = 0; //清除TI标志
SBUF = dat; //发送数据
}

void Delay(WORD n)
{
WORD x;
while(n--)
{
x = 5000;
while(x--);
}
}

换成十六进制却出现了这样的一串数据,能告诉我这么一串数据有什么用吗?



最佳答案
0通道采样结果0xCB,1通道采样结果0xCA,3通道采样结果0xE2,4、5、6、7通道采样结果一直在变化。

自己写的程序,自己都弄不懂什么意思????
全部回答
搜一下:为什么我的串口程序在就收软件里只会得到一堆"?"号
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汪涵写的书叫什么名字?
爍電的意思是什么?爍電的释义是什么啊?
统计学中增长8%和增长了8%有什么区别?
姓旬的名人有谁,古代的!
中国最出名的十大景区是哪十大?
油墨与涂料有啥区别?
从保定容城怎么坐车去平王乡赵村?
TP5的自动完成怎么对密码进行md5加密
进口汽车会不会大幅降价
地理社团活动研究方法有哪些
高考批次E是什么
工行双六星半年日均五万能申请什么信用卡
火加山读什么?
我新下载了个TT作曲家V1.2S安装完之后打不开
怎么将EXCL单元格内文字变成下浮阴影
推荐资讯
IntelPentiumN3540的CPU,能装macOS系统吗?
已知α-β=1,β-γ=2,则α^2+β^2+γ^2-βγ-
普丽缇莎美容美体养生会所地址在什么地方,想
蝠可组什么词
求有团队激情的音乐,或者适合在超市播放的音
一般纳税人月末账务处理要计提哪些?
八络的意思是什么啊?请解释下!
瑰僻的意思是什么?瑰僻的释义是什么啊?
北窑村委会地址有知道的么?有点事想过去!
男生喜欢长发飘飘的女生还是扎着马尾的女生
中山市东升镇丽景名筑附近公办小学
不骄不躁的意思是什么啊?请解释下!
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?