首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]我用的H08MR16单片机SCI老出错 SCDR不能读写 请教各位

[求助]我用的H08MR16单片机SCI老出错 SCDR不能读写 请教各位

void main(void) {
  EnableInterrupts; /* enable interrupts */
 


  CONFIG=0x09; // 关闭看门狗,5V操作模式
  //CONFIG=0x10; // 选择外部晶振作为时钟源 
   /*SCI初始化*/
 
  SCBR=0x04; //波特率4800  
  SCC1=0x4c;  //正常双通模式,输出不翻转,8数据格式无奇偶校检
  //SCC2=0xfc;  // SCI非唤醒工作状态  SCC3用在9位数据状态的时候
  SCC2=0x3d;
   for(;;);
 
 
}


interrupt 22 void INTSCI(void) {
  //SCBR=0x04; //波特率4800
  if(SCS1_SCTE==1) 
  asm{
    LDA #0x12
    STA SCDR
  } ;
    }


出错了显示的SCDR为 undefined unsigned register


后来我把这个中断关了用软件中断 程序可以运行  但窜口发送的是FE 不是我写入寄存器SCDR的数据.我用STA SCDR  观察不到发送寄存器有被修改过


请教各位了


我的联系方式Q:470760946 一定不吝赐教 急中!!!

我自逍遥
你的发送中断允许好像没有放开
另外,每发送一个字节完成后都应该清一下SCTE位
哦 不好意思,没改过来,其实上面程序中的两个SCC2我都试过了, 0X3D那个是我后来关了  用的软中断,程序就可以运行了  不过就是每次复位一次才发出来一个数据FE 我认为这是握手码 也就是SCI引导位  而没有发送我写进去SCDR的0X12  估计是程序哪没编好 我换了一个08的片子编程  也还是这个问题  苦恼啊
我自逍遥
你的寄存器定义头文件有问题?
海纳百川  有容乃大
寄存器头文件出问题了?  我是用的CODWARRY向导生成的啊  没有动过他们啊  楼上的可不可以说具体点啊?
我自逍遥
MOV #0x01,SCDR
loop:BRCLR 7,SCS1,loop
MOV #5,SCDR
loop2:BRCLR 7,SCS1,loop2

现在可以发送了 程序如上 但 我写0X01 他发送的是FE 我写0X05 他发送的是E6 好象有点规律在里面 到底是怎么回事啊
我自逍遥
返回列表