完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
//----------------------------------------------------------------------------------------------- 串口初始化
void UARtinit(void) //@11.0592MHz { SCON=0X50; WAKE_CLKO |= 0x40; BRT = 0xFD; //设置定时初值 AUXR |= 0x11; //定时器时钟12T模式 ES=1; //串口中断打开 } void UART(void) interrupt 4 using 3 { // uint8 dat; ES=0; //关串口中断,防止中断的嵌套 if(TI) //如果是串口1发送中断(TI)不进行处理 { TI=0; //TI清0 busy=0; //传送标识复位 } if(RI) { RI = 0; //RI清0 CmdWord=SBUF; // dat = SBUF; // CmdWord=dat; ReceiveFlag=1; Send_Dat(CmdWord); } ES=1; //开启串口中断 } 结果是:乱码
|
|
相关推荐
6 个讨论
|
|
|
给你改一下
void UARTInit(void) //@11.0592MHz { TMOD=0X20; //定时器1工作模式 TH1=0XFD; //timer high 1 TL1=0XFD; //timer low 1 TR1=1; //定时器T1的运行控制位 SCON=0X50; //串行控制寄存器 EA=1; //CPU的总中断允许控制位 ES=1; //串行口中断允许位 //串口中断打开 } void UART(void) interrupt 4 using 3 { // uint8 dat; ES=0; //关串口中断,防止中断的嵌套 RI=0; //接收中断请求标志位清0 CmdWord=SBUF;//获取SBUF接收到的数据 // dat = SBUF; // CmdWord=dat; ReceiveFlag=1; Send_Dat(CmdWord); SBUF=CmdWord;//把收到的数据发送回去 while(!TI); //等待发送中断请求标志位为1 TI=0; //发送中断请求标志位清0 ES=1; //开串口中断 } |
|
|
|
|
|
|
|
|
void UartInit(void) //9600bps@11.0592MHz { PCON &= 0x7F; //波特率不倍速 SCON = 0x50; //8位数据,可变波特率 AUXR &= 0xFB; //独立波特率发生器时钟为Fosc/12,即12T BRT = 0xFD; //设定独立波特率发生器重装值 AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器 AUXR |= 0x10; //启动独立波特率发生器 } |
|
|
|
|
|
|
|
506 浏览 0 评论
607 浏览 0 评论
837 浏览 0 评论
832 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
768 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
17058 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 08:21 , Processed in 1.050992 second(s), Total 56, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3696