完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uint unsigned int #define uchar unsigned char //uint temp,flag; uchar temp,flag; ***it led=P2^1; void Delay5ms() //@11.0592MHz { unsigned char i, j; i = 54; j = 199; do { while (--j); } while (--i); } void init() { P2M0=1; P2M1=0; SCON = 0x50; //8位数据,可变波特率9600 AUXR |= 0x40; //定时器1时钟为Fosc,即1T AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 TMOD &= 0x0F; //设定定时器1为16位自动重装方式 TL1 = 0xE0; //设定定时初值 TH1 = 0xFE; //设定定时初值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 ES=1; EA=1; } void main() { init(); while(1) { if(flag) { flag=0; ES=0; SBUF=temp; while(!ti); TI=0; ES=1; } } } void uart1() interrupt 4 { RI=0; temp=SBUF; flag=1; } 程序比较简单,就直接传上来了,初始化和配置那块应该是没有问题,上来两张图 为什么16进制发送和接收时,AA 0A 1A都可以,但是01 02 A0是个什么情况? 到底是为什么呢? |
|
相关推荐
8个回答
|
|
不明白你想问什么?
|
|
|
|
你走断点看一下吧,你的程序应该没有问题。
|
|
|
|
|
|
|
|
事实证明,程序的确没有问题,问题在这,看图,这是买的系统板人家附带的下载说明,之前用这个板子的时候,包括串口的接受和其他的都OK,只是串口的发送是有问题,也没有太在意这个设置,因为我并没有在程序里面配置系统时钟,并且我用的不管是内部(默认)还是外部都是11.0592,还有那个上点复位延时的,万万没想到问题就出现在这里,只是一个串口打印的程序,花了3天的时间才找到是这个原因,并且我并不知道为什么要这样配置,真的要好好反思自己了
|
|
|
|
浪浪云 发表于 2016-5-20 11:06 还是详细看手册看说明,刚开始都难免会碰到一些问题,以后就好了。 |
|
|
|
|
|
|
|
|
|
|
|
浪浪云 发表于 2016-5-20 11:06 我这个下载直接都是默认的,都没改过。。。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
250 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
473 浏览 2 评论
571 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
260 浏览 0 评论
400 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11974 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 06:29 , Processed in 0.526560 second(s), Total 54, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号