2696|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求解关于AVR串口通信的问题 [复制链接]

下面是我的程序,挺简单的,但是通过PC发给信号时一直识别是00,一晚上没睡觉了。。。

#include "avr/io.h"
#define SetBit( __port, __bit )   __port |= ( 1<<__bit )
#define ClrBit(  __port, __bit )   __port &= ~( 1<<__bit )
unsigned int data;

void com_init()  //串口初始化
{
   UBRRL = 51;      
   UBRRH = 0;
   UCSRA = 0x00;
   UCSRC = (1<    UCSRB = (1< }



void main()
{
  DDRA=0xFF;                   //置PC口输出
  PORTA=0xFF;                  //PC口设置内部上拉电阻
com_init();
// while(!(UCSRA&(1<   //  data=05;
  //  UDR=data;
  while(!(UCSRA&(1<                
       
        while(RXC==1)   //接收到数据开始判断
        {       
        switch (UDR)
        {
        case 00:
     //                ClrBit( PORTA, PA0 );  //对Pa0写0
        break;
       
        case 01:
                     ClrBit( PORTA, PA1 );  //对Pa1写0
        break;

        case 02:
                     ClrBit( PORTA, PA2 );  //对Pa2写0
        break;

        case 03:
                     ClrBit( PORTA, PA3 );  //对Pa3写0
        break;
       
        case 04:
                     ClrBit( PORTA, PA4 );  //对Pa4写0
        break;

        case 05:
                     ClrBit( PORTA, PA5 );  //对Pa5写0
         break;
         
         case 06:
                     ClrBit( PORTA, PA6 );  //对Pa6写0
         break;
         
         case 07:
                     ClrBit( PORTA, PA7 );  //对Pa7写0
         break;
         
         default:
         break;
         
}               
}
}
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表