Mikroc, Spi_init_advanced – ABL electronic PIC Microcontrollers PIC16 User Manual

Page 275

Advertising
background image

MikroElektronika: Development tools - Books - Compilers

267

page

mikroC - C Compiler for Microchip PIC microcontrollers

mikroC

making it simple...

Prototype

void

Spi_Init_Advanced(char master, char data_sample, char

clock_idle, char transmit_edge);

Description

Configures and initializes SPI.

Spi_Init_Advanced

or

SPI_Init

needs to be called

before using other functions of SPI Library.

Parameter

mast_slav

determines the work mode for SPI; can have the values:

MASTER_OSC_DIV4

// Master clock=Fosc/4

MASTER_OSC_DIV16

// Master clock=Fosc/16

MASTER_OSC_DIV64

// Master clock=Fosc/64

MASTER_TMR2

// Master clock source TMR2

SLAVE_SS_ENABLE

// Master Slave select enabled

SLAVE_SS_DIS

// Master Slave select disabled

The

data_sample

determines when data is sampled; can have the values:

DATA_SAMPLE_MIDDLE

// Input data sampled in middle of interval

DATA_SAMPLE_END

// Input data sampled at the end of interva

l

Parameter

clock_idle

determines idle state for clock; can have the following values:

CLK_IDLE_HIGH

// Clock idle HIGH

CLK_IDLE_LOW

// Clock idle LOW

Parameter

transmit_edge

can have the following values:

LOW_2_HIGH

// Data transmit on low to high edge

HIGH_2_LOW

// Data transmit on high to low edge

Requires

You need PIC MCU with hardware integrated SPI.

Example

This will set SPI to master mode, clock = Fosc/4, data sampled at the middle of interval,
clock idle state low and data transmitted at low to high edge:

Spi_Init_Advanced(MASTER_OSC_DIV4, DATA_SAMPLE_MIDDLE,

CLK_IDLE_LOW, LOW_2_HIGH)

Spi_Init_Advanced

Advertising
This manual is related to the following products: