完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
百度 小草手把手串口视频,对着做一遍就瞬间会了。
|
|
|
|
#include
#define uchar unsigned char #define uint unsigned int uchar idata trdata[]={'H','E','L','L','O','W','O','R','L','D','!','8','9','C','5','2',0x0d,0x0a,0x00}; ***it K1=P3^2; //对应开发板K1按键 /*-------------------------------------------------------------*/ //串口初始化 void UART_Init(void) { SCON = 0x50; //串口工作方式为1 , 串行允许接收 //SM0=0; //SM1=1; //REN=1; TMOD = 0x20; //定时器1 工作在方式2 //PCON = 0x80; //SMOD = 1; 波特率加倍 TH1 = 0xfd; //波特率 9600bps fosc="11".0592MHz TL1 = 0xfd; ES = 1; //开串口中断 TR1 = 1; //允许定时器1工作 EA = 1; //开总中断 } void delay1ms(uint i) { uchar j; while(i--) { for(j=0;j<115;j++) //1ms基准延时程序 { ; } } } /*-------------------------------------------------------------*/ //串口发送一个字节 void Uart_SendChar(unsigned char dat) { SBUF = dat; //待发送的数据写入缓冲区 while(!TI); //等待发送完成 TI = 0; //清零发送标志位 } /*-------------------------------------------------------------*/ //串口发送一个字符串 void Uart_SendString() { uchar i=0; while(trdata[i]!=0x00) { SBUF=trdata[i]; while(!TI); TI=0; i++; } } /*-------------------------------------------------------------*/ //主函数 void main(void) { UART_Init(); //初始化串口 while(1) { if(K1==0) { delay1ms(20); if(K1==0) { Uart_SendString(); //发送数据 while(!K1); //等待按键释放 } } } } /*-------------------------------------------------------------*/ //串口接收中断函数 void INT_UartRcv(void) interrupt 4 { unsigned char Rcv = 0; if(RI) //查询接收标志位(有数据发送过来时置为1) { RI = 0; //接收标志位清零 Rcv = SBUF; //存储缓冲区的数据 P0=SBUF; Uart_SendChar(Rcv); //让从计算机上传到单片机的数据 , 传回的计算机显示 } } |
|
|
|
留下坐标,下次再来看看
|
|
|
|
最简单的就这样了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
232 浏览 0 评论
1639 浏览 1 评论
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
2250 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1824 浏览 0 评论
2008 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 18:45 , Processed in 0.668090 second(s), Total 86, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号