这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 瑞萨单片机iic通信问题

共1条 1/1 1 跳转至

瑞萨单片机iic通信问题

菜鸟
2007-08-27 16:09:18     打赏

请问如何用瑞萨M16C/62P单片机进行IIC通信? 我写了发送和接收的程序,但不成功。把代码贴出来,请大家帮我看看,谢谢了!
发送程序:
.include ..\tools\sfr62p.inc

.SECTION program
.GLB _initiic
_initiic:
   mov.b #39,u2brg
   mov.b #00000010B, u2mr
   mov.b #10010000B, u2c0  ;选f1为计数源
   bset re_u2c1
   bset te_u2c1      ;允许发送
   mov.b #00000001B, u2smr
  
   bclr iicm2_u2smr2  ;选NACK/ACK中断
   bset ifsr26
   bset ifsr27
   bclr swc9_u2smr4
   rts
.END

#include "..\tools\sfr62p.h"

extern void initiic(void);

void main(void)
{
 int i=0;
 unsigned int msg[2]={0x0c,0x07};
 initiic();
 stspsel_u2smr4=0;
 stareq_u2smr4=1;
 stspsel_u2smr4=1;
 
  if(ti_u2c1==1)
     u2mr=0x00;

 for(i=0;i<2&&ti_u2c1==1;i++)
   {u2tb=msg[i];}
   stspsel_u2smr4=0;
    stpreq_u2smr4=1;
    stspsel_u2smr4=1;
}



接收程序:
.include ..\tools\sfr62p.inc

.SECTION program
.GLB _iic
_iic:
   mov.b #39,u2brg
   mov.b #00000010B, u2mr
   mov.b #10010000B, u2c0   ;选f1为计数源
   bset re_u2c1
   bset te_u2c1
   mov.b #00000001B, u2smr
   bclr iicm2_u2smr2
   bset ifsr26
   bset ifsr27
   bclr swc9_u2smr4
   rts
.end

#include "..\tools\sfr62p.h"
#include "..\tools\io.h"
extern void iic(void);

void main(void)
{
  int i=0;
    iic();
 while(1)
  { if(ri_u2c1==1)
    {  i=u2rb;
    p2_0=0;//亮灯
    }
   }
}

请大家帮帮忙啊,谢谢!




关键词: 瑞萨     单片机     通信     问题    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]