main.c

来自「MSP430单片机常用模块与综合系统实例精讲」· C语言 代码 · 共 66 行

C
66
字号
#include <msp430x16x.h>
#include "i2c_host.h"

int time_count;
int time_flag;

extern int mode;
void main(void)
{
    volatile unsigned char Data[6];
    char temp;
    //停止看门狗
    WDTCTL = WDTPW+WDTHOLD; 
    
    //初始化端口
    Init_Port();    
  
    //初始化时钟
    Init_CLK();
    //I2C初始化
    InitI2C();
    //初始化定时器
    Init_TimerA();
    time_count = 0;
    //打开中断
    _EINT();
    
    for(;;)
    {
        if(time_flag == 1)
        {
            //主机模式下发送数据
            master_Write(0x02,11);
            if(mode != 0)            
            {
                //没有总线竞争
                master_AckPolling();
                temp = master_Read(0x02);
            }
            time_flag = 0;
        }
        if(mode == 0)
        {
            //从机模式
            //接收数据
            temp = slave_Read();
            //发送数据
            slave_Write(temp);
        }        
    }    
}
#if __VER__ < 200
    interrupt [TIMERA0_VECTOR] void TimerA_ISR(void)
#else
    #pragma vector=TIMERA0_VECTOR
    __interrupt void TimerA_ISR(void)
#endif
{
    time_count += 1;
    if(time_count >= 1000)
    {
        time_count = 0;
        time_flag = 1;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?