#include #define fosc 8000000 #define baud 9600 #define CALL 0X24 //主机呼叫 #define BUSY 0X15 //从机忙 #define OK 0X00 //从机准备好 #define SUCC 0x2A //接收成功 #define ERR 0XF0 //接收错误 #define MAXLEN 64 //缓冲区最大长度 #define buf[MAXLEN]; //----------------字符串输出函数----------------// void putchar(unsigned char c) { while(!(UCSR0A&(1< //----------------字符串输入函数----------------// void getchar(unsigned char c) { while(!(UCSR0A&(!< } //----------------接收数据函数----------------// unsigned char recvdatas(unsigned char *buff) { unsigned char i=0; unsigned char temp; unsigned char len; //保存数据长度 unsigned char ecc; //保存校验字节 len=getcahr(); ecc=len; for(;i *buff=getchar(); ecc=ecc^(*buff); //进行字节校验 buff++; } *buff=0; //数据接收结束 temp=getchar(); //接收校验字节 //数据校验 ecc=temp^ecc; if(ecc!=0) //如果校验错误 { *(buff-len)=0; putchar(ERR); return 0XFF; //返回0XFF表示校验错误 } putchar(SUCC) //发送校验成功信号SUCC return 0; //校验成功,返回0 } //----------------串口初始化----------------// void init_serial() { UCSR0B=(1< UBRR0L=(fosc/16/(baud+1))%256 UCSR0C=(0< }
上一篇:USART test---ATMEGA128
下一篇:数码管中断显示+高位灭零处理
推荐阅读最新更新时间:2024-11-07 17:03
设计资源 培训 开发板 精华推荐
- LT6656AIS6-3、3V 微控制器电压基准和稳压器的典型应用
- FT232RL_串口板
- 使用 LTC3612EFE 3A、4MHz 单片同步降压转换器的典型应用
- RD-FSB50450A,使用 FSB50825AS 家用电器三相逆变器的参考设计
- 使用 LTC2924 电源排序设置不同的 ON/OFF 延迟
- 用于 WLED 驱动器的 TCA62735FLG 电荷泵 DC/DC 转换器的典型应用
- LT1172CSW、5V/1.25A 正电流升压降压转换器的典型应用
- 智能卡接口简化应用电路
- 使用 NXP Semiconductors 的 P1021N 的参考设计
- 用于软件定义无线电的 16 位、125 MSPS、2CH ADC ADP2114
- ADI•世健工业嘉年华—有奖直播:ADI赋能工业4.0—助力PLC/DCS技术创新
- 新思科技技术日:硬件加速验证解决方案专场 火热报名中!
- TE助力数据中心设计,缩短你与奥运的距离,猜猜它属于哪个“奥运场馆”赢大礼!
- MPS探索营 “正经玩技术”!创意征集 | 解锁锂电池充电的无限玩法!
- Nexperia 模拟和逻辑芯片 更低的电压、更出色的性能 答题赢好礼!
- 开工大吉,抢楼有礼!预测:2021年电子热门关键词
- 用富士通Cortex-M3 Easy Kit开发板,DIY出你的精彩!l
- 看东芝在线展会视频,听权威汽车技术讲解!
- 有奖直播:【瑞萨电子推出针对血糖仪应用的内置模拟前端的RL78/L1A系列微控制器】
- 邀你参加2018年论坛体验问卷调查