#include<delays.h>
#include<stdio.h>
#include<p18f2525.h>
#include"spi.h"
(PRAGMA CONFIG BITS HERE)
void delay_1us(int x);
void main(void)
{
unsigned int x = 0;
unsigned int i = 0;
unsigned int y = 0;
TRISA = 0; // output
// TRISB = 1; // input
TRISC = 0; // ouput
PORTA = 0; // clear A
PORTC = 0; // clear C
TRISCbits.TRISC7 = 1;
// USART config
TRISCbits.TRISC6 = 1;
// USART config
TXSTAbits.CSRC = 1;
// synchronous, master
TXSTAbits.TX9 = 0;
// 8-bit transmission
//TXSTAbits.TXEN = 1;
// transmit enable
TXSTAbits.SYNC = 1;
// Synchronous mode
RCSTAbits.SPEN = 1;
// serial port enable
RCSTAbits.RX9 = 0;
// 8-bit reception
BAUDCONbits.SCKP = 1;
// idle clock is HIGH
TXREG = 0x00;
// initialize transmitted info
while(1)
{
Delay100TCYx(1000);
// delay to allow sensor to start up
TXSTAbits.TXEN = 1;
// enable transmission
TXREG = 0x80;
// start transmission by loading data to TXREG
// 0b10000000 MSB indicates direction, rest is address
delay_1us(100);
TXREG = 0x81;
// forced awake mode
while(1);
// wait forever
}
}
void delay_1us(int x)
{
unsigned int i = 0;
unsigned int j = 0;
for(i = 0; i < x; i++)
for(j = 0; j < 32; j++);
}