中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)之I2C(從模式)

        PIC單片機(jī)之I2C(從模式)

        作者: 時(shí)間:2013-05-30 來(lái)源:網(wǎng)絡(luò) 收藏

        7,使能中斷

        PIE1bits.SSP1IE = 1;//Enabe interrupt MSSP

        INTCONbits.PEIE = 1;

        INTCONbits.GIE = 1;

        如果你要使用只要使用下面的代碼:

        將void i2c_salve_interrupt_tx();void i2c_salve_interrupt_rx();放到中斷程序中,如下:

        void interrupt isr(void)

        {

        if(SSP1IE SSP1IF)

        {

        i2c_salve_interrupt_tx();

        i2c_salve_interrupt_rx();

        SSP1IF=0;

        }

        }

        將初始化函數(shù)init_i2c_slave();放到主函數(shù)中

        void main()

        {

        init_i2c_slave();

        }

        頭文件 :i2c_salve.h

        #ifndef __SALVE_H

        #define _I2C_SALVE_H

        void init_i2c_slave();

        void i2c_salve_interrupt_tx();

        void i2c_salve_interrupt_rx();

        #endif

        代碼:i2c_salve.c

        #include ;

        #define input 1

        #define RX_BUF_LEN 29

        #define while_delay 6000

        unsigned char i2c_address,word_address,Register[29];

        unsigned char RANDOM_READ,i2c_counter;

        extern unsigned char A_readflag;

        /*I2C SALVE */

        void init_i2c_slave()

        {

        TRISB6 = input;

        TRISB4 = input;

        SSP1CONbits.SSPM0 = 0;

        SSP1CONbits.SSPM1 = 1;

        SSP1CONbits.SSPM2 = 1;

        SSP1CONbits.SSPM3 = 0;// I2C slave mode ,7bit address

        SSP1CONbits.CKP = 1; // enable clock

        SSP1ADD =0xA0; //slave address is 0xa0

        SSP1CONbits.SSPEN=1;//enable I2c

        SSPSTAT=0;

        PIE1bits.SSP1IE = 1;//Enabe interrupt MSSP

        INTCONbits.PEIE = 1;

        INTCONbits.GIE = 1;

        }

        /*I2C salve mode interrupt */

        void i2c_salve_interrupt_tx()//master read

        {

        unsigned char Temp;

        unsigned int timercounter;

        Temp=SSP1STAT;

        Temp = 0x2D;

        if(SSP1STATbits.R_nW ==1)//Read operation.

        {

        A_readflag=0;

        SSP1IF = 0;

        i2c_address = SSP1BUF;

        i2c_counter = word_address;

        while(i2c_counter RX_BUF_LEN)

        {

        SSP1BUF=Register[i2c_counter];//send data

        SSP1CONbits.CKP=1;// enable colck

        timercounter=while_delay;

        單片機(jī)相關(guān)文章:單片機(jī)教程


        單片機(jī)相關(guān)文章:單片機(jī)視頻教程


        單片機(jī)相關(guān)文章:單片機(jī)工作原理




        關(guān)鍵詞: PIC單片機(jī) I2C 從模式

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉