亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 24l01_base.c

?? nRF24L01 RF接收發送例子程序
?? C
字號:
/*
    Testing with the new nRF24L01's
    
    This code transmits with a Mirf V2 and  PIC16F88 dip.  It will output the status register contents
        in a couple of spots so you can see what's going on internally, 9600 baud.
        
    This code will also compile with the free version of CC5X!!!!!!!!!!!!!!!!
        
    This configuration is compatable with nRF2401's (1MB, 8 bit CRC, 4 byte payload), it doesn't implement all of the extra
        functionality of the 24L01's
        
    Pete, 4/20/06
        
*/

#define Clock_8MHz
#define Baud_9600

#include "C:\Global\PIC\C\16F88.h"

//There is no config word because this program tested on a 16F88 using Bloader the boot load program

#pragma origin 4



#define TX_CE      PORTB.0  //PIN 6
#define TX_CSN     PORTB.1  //PIN 7
#define TX_SCK     PORTB.3  //PIN 9
#define TX_MOSI    PORTB.4  //PIN 10
#define TX_MISO    PORTB.6  //PIN 12
#define TX_IRQ     PORTA.0  //PIN 17

#define RED_LED        PORTB.7
#define BLUE_LED       PORTA.2

uns8 data_array[4];


void boot_up(void);

void configure_transmitter(void);
void transmit_data(void);

void delay_ms(uns16);

void main()
{
    uns8 x, y;
    
      
    boot_up();
    
    for (x = 0; x < 5; x++)
    {
        RED_LED = 1;
        delay_ms(10);
        RED_LED = 0;
        BLUE_LED = 1;
        delay_ms(10);
        BLUE_LED = 0;
    }
    
    
    configure_transmitter();
    
    
    
    while(1)
    {
        
        
        while (1)  
        {
            transmit_data();
            RED_LED = 1;
            delay_ms(10);
            RED_LED = 0;
           
            delay_ms(500);
           
        }
        
            
    }
        
}

void boot_up(void)
{
    OSCCON = 0b.0111.0000; //Setup internal oscillator for 8MHz
    while(OSCCON.2 == 0); //Wait for frequency to stabilize

    ANSEL = 0b.0000.0000; //Turn pins to Digital instead of Analog
    CMCON = 0b.0000.0111; //Turn off comparator on RA port

    PORTA = 0b.0000.0000;  
    TRISA = 0b.1111.1011;  //0 = Output, 1 = Input 

    PORTB = 0b.0000.0010;  
    TRISB = 0b.0100.0100;  //0 = Output, 1 = Input (RX is an input)

    BRGH = 0; //Normal speed UART
    SPBRG = 12; //8MHz for 9600 Baud

    SYNC = 0;
    SPEN = 1;
    CREN = 1;
    TXEN = 1;
}



//This sends out the data stored in the data_array
//data_array must be setup before calling this function
void transmit_data(void)
{
    uns8 i, data, cmd;
    bit data2;
    
    
    TX_CSN = 0;
    
    data = 0x7E; //clear previous ints======================================================================================
    cmd = 0x27;
    
    for(i = 0 ; i < 8 ; i++)
    {

        TX_MOSI = cmd.7;
        
        TX_SCK = 1;
        
        data2 = TX_MISO;
        TX_SCK = 0;
        
        cmd <<= 1;
        
        while(TXIF == 0);   //print out the status register before clearing stuff...==============================
        TXREG = data2+48;
    }
    
    while(TXIF == 0);
    TXREG = 44;
    while(TXIF == 0);
    TXREG = 32;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;
       
        TX_SCK = 1;
        
        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
    
    
    TX_CSN = 0;
    
    data = 0x3A; //PWR_UP = 1===========================================================================================
    cmd = 0x20;
    
    for(i = 0 ; i < 8 ; i++)
    {
        
        TX_MOSI = cmd.7;
       
        TX_SCK = 1;
        
        
        TX_SCK = 0;
        
        cmd <<= 1;
        
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        
        TX_MOSI = data.7;
       
        TX_SCK = 1;
        
        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
    
    
    TX_CSN = 0;
    
    //clear TX fifo===========================================================================================
    //the data sheet says that this is supposed to come up 0 after POR, but that doesn't seem to be the case
    cmd = 0xE1;
    
    for(i = 0 ; i < 8 ; i++)
    {
        
        TX_MOSI = cmd.7;
       
        TX_SCK = 1;
      
        
        TX_SCK = 0;
        
        cmd <<= 1;
        
    }
    
    
    TX_CSN = 1;
    
    

    TX_CSN = 0;
    
    data2 = 0;

    
    data = 0x34; //4 byte payload================================================================================
    cmd = 0xA0;
    
    for(i = 0 ; i < 8 ; i++)
    {

        TX_MOSI = cmd.7;

        TX_SCK = 1;
        data2 = TX_MISO;

        TX_SCK = 0;
        
        cmd <<= 1;
        
        while(TXIF == 0);   //print out status register after clearing ints...===============================
        TXREG = data2+48;
        
    }
    
    
    while(TXIF == 0);
    TXREG = 10;
    while(TXIF == 0);
    TXREG = 13;
    
    //clock in payload==============================================================================================
    for(i = 0 ; i < 8 ; i++)    //"4"
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    data = 0x33;
    
    for(i = 0 ; i < 8 ; i++)    //"3"
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    data = 0x32;
    
    for(i = 0 ; i < 8 ; i++)    //"2"
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    data = 0x31;
    
    for(i = 0 ; i < 8 ; i++)    //"1"
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
    
    //Pulse CE to start transmission ========================================================================
    TX_CE = 1;
    delay_ms(1);
    TX_CE = 0;
    

}




//2.4G Configuration - Transmitter
//This sets up one RF-24G for shockburst transmission
void configure_transmitter(void)
{
    uns8 i, j, data, data2, cmd;
    data2 = 0;
    
    TX_CE = 0;

    TX_CSN = 0;


    cmd = 0x20;
    data = 0x38; // PTX, CRC enabled, mask a couple of ints=============================================================
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;    
    
    
    TX_CSN = 0;
    
    data = 0x00; //auto retransmit off===========================================================================================
    cmd = 0x24;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;

    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;  
    
    
    TX_CSN = 0;
    
    data = 0x03; //address width = 5======================================================================================
    cmd = 0x23;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        data2.0 = TX_MISO;
        TX_SCK = 0;
        
        data2 <<= 1;
        cmd <<= 1;
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
     
    
    TX_CSN = 0;
    
    data = 0x07; //data rate = 1MB=====================================================================================
    cmd = 0x26;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;    
    
    
    TX_CSN = 0;
    
    data = 0x02; //set channel 2, this is default but we did it anyway...====================================================
    cmd = 0x25;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
    
    
    
    data = 0xE7; //set address E7E7E7E7E7, also default...====================================================================
    cmd = 0x30;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;
    }
    
    for (j = 0; j < 5; j++)
    {
        for(i = 0 ; i < 8 ; i++)
        {
            TX_MOSI = data.7;

            TX_SCK = 1;

            TX_SCK = 0;
            
            data <<= 1;
        }
        
        data = 0xE7;
    }
    
    
    TX_CSN = 1;
    
    
    TX_CSN = 0;
    
    //disable auto-ack, RX mode===========================================================================================
    //shouldn't have to do this, but it won't TX if you don't
    data = 0x00; 
    cmd = 0x21;
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = cmd.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        cmd <<= 1;
    }
    
    for(i = 0 ; i < 8 ; i++)
    {
        TX_MOSI = data.7;

        TX_SCK = 1;

        TX_SCK = 0;
        
        data <<= 1;
    }
    
    TX_CSN = 1;
    
    
    
    
}



//General short delay
void delay_ms(uns16 x)
{
    uns8 y, z;
    for ( ; x > 0 ; x--)
        for ( y = 0 ; y < 4 ; y++)
            for ( z = 0 ; z < 176 ; z++);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美videos大乳护士334| 午夜精品久久久久久久久久| 亚洲一区二区三区四区不卡| 国精品**一区二区三区在线蜜桃| 91蝌蚪国产九色| 欧美激情自拍偷拍| 国产一区欧美二区| 这里只有精品视频在线观看| 一二三区精品视频| 色综合激情五月| 综合色中文字幕| www.成人在线| 日本一区二区三区在线观看| 国产激情一区二区三区四区| 欧美日韩一区二区三区视频| 亚洲视频香蕉人妖| 91在线精品一区二区| 国产精品美女一区二区三区| 国产福利精品一区二区| 久久久一区二区三区捆绑**| 美女免费视频一区| 欧美一激情一区二区三区| 亚洲精品乱码久久久久久| 99久久精品一区| 中文字幕一区二区三区不卡| 成人性生交大片免费看中文网站| 国产三级一区二区三区| 国产裸体歌舞团一区二区| 久久精品免视看| 国产成人夜色高潮福利影视| 国产欧美日产一区| 成人免费观看视频| 亚洲图片激情小说| 在线免费观看不卡av| 亚洲精品国产视频| 精品视频在线看| 同产精品九九九| 欧美大片一区二区三区| 国产一区二区伦理| 国产精品久久三| 欧美性生交片4| 美腿丝袜亚洲综合| 国产婷婷色一区二区三区四区 | 在线看一区二区| 亚洲国产三级在线| 日韩免费一区二区三区在线播放| 久久99久久99| 国产精品不卡在线观看| 欧美日韩三级视频| 国产伦精品一区二区三区免费迷| 亚洲欧洲日产国码二区| 欧美日韩一本到| 国产一区二区福利视频| 日韩一区欧美小说| 69堂精品视频| 成人精品免费看| 一区二区成人在线视频 | 久久精品人人做人人爽97| www.综合网.com| 亚洲超丰满肉感bbw| 欧美一级午夜免费电影| 粉嫩av亚洲一区二区图片| 亚洲蜜臀av乱码久久精品| 欧美一区二区精美| jlzzjlzz亚洲日本少妇| 热久久国产精品| 国产精品不卡一区二区三区| 日韩欧美国产综合| 96av麻豆蜜桃一区二区| 秋霞午夜av一区二区三区 | 精品国产一区二区三区忘忧草| 国产一区二区三区蝌蚪| 亚洲在线成人精品| 久久久久久久久蜜桃| 在线观看亚洲精品视频| 国产乱码精品一区二区三区忘忧草| 一区二区三区四区中文字幕| 久久精品一二三| 51精品国自产在线| 色综合色狠狠天天综合色| 韩国一区二区视频| 日韩电影一区二区三区四区| 国产欧美日韩在线| 日韩视频国产视频| 欧美色手机在线观看| 粉嫩13p一区二区三区| 久久精品国产精品青草| 亚洲国产日韩一级| 亚洲视频网在线直播| 久久久91精品国产一区二区三区| 欧美精品色综合| 日本高清成人免费播放| 成人午夜免费视频| 国产精品一区二区免费不卡| 久久电影网站中文字幕| 五月天网站亚洲| 亚洲图片欧美综合| 亚洲综合久久久久| 亚洲乱码日产精品bd| 国产精品免费网站在线观看| 26uuu精品一区二区在线观看| 91精品国产91久久综合桃花| 欧美人狂配大交3d怪物一区| 欧美午夜宅男影院| 在线日韩一区二区| 色婷婷综合激情| 色欲综合视频天天天| 色嗨嗨av一区二区三区| 一本久久综合亚洲鲁鲁五月天| 成人午夜视频网站| 99久久婷婷国产精品综合| 国产jizzjizz一区二区| 粉嫩aⅴ一区二区三区四区五区 | 日本免费新一区视频| 午夜精品福利久久久| 午夜精品福利一区二区三区av| 亚洲一区视频在线| 五月婷婷激情综合| 毛片基地黄久久久久久天堂| 狠狠色丁香久久婷婷综合_中| 国产麻豆精品一区二区| 福利电影一区二区三区| 99国产精品99久久久久久| 91日韩一区二区三区| 在线看一区二区| 欧美一级高清大全免费观看| 日韩欧美黄色影院| 国产欧美一区二区三区在线看蜜臀| 日本一区二区不卡视频| 亚洲欧美国产毛片在线| 亚洲国产精品一区二区尤物区| 奇米在线7777在线精品| 国产一区二区在线看| 99精品视频在线播放观看| 欧美系列亚洲系列| 精品噜噜噜噜久久久久久久久试看| 久久精品网站免费观看| 亚洲免费色视频| 美女爽到高潮91| hitomi一区二区三区精品| 欧美伦理视频网站| 国产日韩精品一区二区三区| 亚洲色图视频免费播放| 偷窥少妇高潮呻吟av久久免费| 国内精品在线播放| 色国产精品一区在线观看| 日韩一区二区电影网| 国产日韩精品一区二区三区| 美女脱光内衣内裤视频久久网站| 国产剧情一区二区| 日本韩国欧美一区| 久久精品在线免费观看| 午夜精品一区二区三区电影天堂 | 色综合 综合色| 日韩欧美的一区二区| 国产精品久久免费看| 美日韩一区二区三区| 91传媒视频在线播放| 久久精品人人做人人综合| 偷拍与自拍一区| 成人午夜av在线| 日韩免费观看2025年上映的电影 | 欧美色国产精品| 久久久久99精品国产片| 视频在线观看91| av亚洲精华国产精华| 日韩精品在线一区二区| 亚洲精品ww久久久久久p站 | 国产精品系列在线| 蜜臀久久久久久久| 色吧成人激情小说| 国产女人18水真多18精品一级做| 日本系列欧美系列| 欧美亚洲动漫精品| 亚洲精品欧美激情| 成人动漫av在线| 久久综合九色综合欧美亚洲| 日韩成人一级片| 色哟哟亚洲精品| 中文字幕日韩精品一区| 国产精品一区在线| 久久综合久久综合亚洲| 免费在线观看日韩欧美| 欧美日韩成人一区二区| 亚洲在线观看免费视频| 成人av电影在线| 中文字幕二三区不卡| 国产精品99久久久久| 久久综合999| 韩国女主播一区| 久久亚洲二区三区| 国产在线精品不卡| 久久综合色综合88| 国产不卡一区视频| 国产欧美精品区一区二区三区| 国产精品一区二区久久精品爱涩| 久久久久久电影| 成人性生交大合| 亚洲欧美中日韩| 欧美午夜电影在线播放|