liushuideng.c

来自「针对9E5开发板写的一个流水灯程序」· C语言 代码 · 共 59 行

C
59
字号
#include <Nordic\reg9e5.h>
unsigned int a;
unsigned int aa;
const unsigned char design[10]={0xFF,0xFD,0xFB,0xF7,0xEF,0xEF,0xF7,0xFB,0xFD,0xFF};

 unsigned char SpiReadWrite(unsigned char b)
{
    EXIF &= ~0x20;                  // Clear SPI interrupt
    SPI_DATA = b;                   // Move byte to send to SPI data register
    while((EXIF & 0x20) == 0x00)    // Wait until SPI hs finished transmitting
        ;
    return SPI_DATA;
}


void Init(void)
{
    unsigned char cklf;             // 串口 芯片初始化
    TH1 = 243;                      // 19200@16MHz (when T1M=1 and SMOD=1)
    CKCON |= 0x10;                  // T1M=1 (/4 timer clock)
    PCON = 0x80;                    // SMOD=1 (double baud rate)
    SCON = 0x52;                    // Serial mode1, enable receiver
    TMOD = 0x20;                    // Timer1 8bit auto reload 
    TR1 = 1;                        // Start timer1
    P0_ALT = 0x00;                 // 
    P0_DIR = 0x00;                 // 

    SPICLK = 0;                     // Max SPI clock
    SPI_CTRL = 0x02;                // Connect internal SPI controller to Radio

                                    // Switch to 16MHz clock:
    RACSN = 0;
    SpiReadWrite(RRC | 0x09);
    cklf = SpiReadWrite(0) | 0x04;
    RACSN = 1;
    RACSN = 0;
    SpiReadWrite(WRC | 0x09);
    SpiReadWrite(cklf);
    RACSN = 1;
}


void main(void)
{
    Init();
    
    do
     {  
        for(aa=0;aa<10;aa++)
          { 
             for(a=0;a<30000;a++)
                ;
              P0=design[aa];
          }
     }
   
    while(1) ; 
}   

⌨️ 快捷键说明

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