PIC167877A采用SPI进行74HC595移位寄存器

时间:2017-12-29 07:39:11

标签: microcontroller pic spi shift-register

HI我正在尝试实现简单的spi通信打开8个led连接到移位寄存器可以帮我这个代码有什么问题,我得到随机输出,我想发送0x02开启led(00000010)

#include <xc.h>
#include "spi.h"
#pragma config WDTE = OFF  // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF   // Low-Voltage In-Circuit Serial Programming Enable bit
#pragma config CPD = OFF   // Data EEPROM Memory Code Protection bit 
#pragma config WRT = OFF   // Flash Program Memory Write Enable bits 
#pragma config CP = OFF    // Flash Program Memory Code Protection bit
#define _XTAL_FREQ 8000000
void main()
{
        char data = 0x10;
        spiInit(SPI_MASTER_OSC_DIV4, SPI_DATA_SAMPLE_END, SPI_CLOCK_IDLE_LOW, SPI_IDLE_2_ACTIVE);
        TRISC0 = 0;
        RC0 = 1;
        RC3 = 0;
        RC5 = 0;
        while(1)
        {
                RC0 = 0;       //Slave Select
                __delay_ms(100);
                spiWrite(data);
                while(!SSPSTATbits.BF);
                __delay_ms(100);
                RC0= 1;       //Slave Deselect 
        }
}

0 个答案:

没有答案