Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 364 → Rev 365

/roboti/Robotour/SW/pic_i2c_slave/test.PJT
0,0 → 1,40
[PROJECT]
Target=test.HEX
Development_Mode=
Processor=0x688F
ToolSuite=CCS
 
[Directories]
Include=C:\Program Files\PICC\devices\;C:\Program Files\PICC\Dr
Library=
LinkerScript=
 
[Target Data]
FileList=C:\Dokumenty\svn\Kaklik\roboti\Robotour\SW\pic\test.c
BuildTool=C-COMPILER
OptionString=+FM
AdditionalOptionString=
BuildRequired=1
 
[test.c]
Type=4
Path=
FileList=
BuildTool=
OptionString=
AdditionalOptionString=
 
[mru-list]
1=test.c
 
[Windows]
0=0000 test.c 0 0 796 451 3 0
 
[Opened Files]
1=C:\Dokumenty\svn\Kaklik\roboti\Robotour\SW\pic\test.c
2=C:\Dokumenty\svn\Kaklik\roboti\Robotour\SW\pic\test.h
3=C:\Program Files\PICC\devices\16F88.h
4=
[Units]
Count=1
1=C:\Dokumenty\svn\Kaklik\roboti\Robotour\SW\pic\test.c (main)
/roboti/Robotour/SW/pic_i2c_slave/test.c
0,0 → 1,73
#include "test.h"
 
#define H1 PIN_A1
#define L1 PIN_A2
#define H2 PIN_A3
#define L2 PIN_A4
 
char command;
 
int n;
 
#INT_SSP
void ssp_interupt ()
{
BYTE incoming, state;
output_low(H1);
output_low(L1);
output_low(H2);
output_low(L2);
 
state = i2c_isr_state();
 
if(state < 0x80) //Master is sending data
{
output_toggle(PIN_A0);
command = i2c_read();
}
if(state == 0x80) //Master is requesting data
{
i2c_write(command);
}
}
 
void main()
{
 
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(False);
 
enable_interrupts(GLOBAL);
enable_interrupts(INT_SSP);
while(true)
{
if(command=='a')
{
output_high(H1);
output_low(H2);
output_low(L1);
output_high(L2);
}
else
{
output_low(H1);
output_high(H2);
output_high(L1);
output_low(L2);
};
delay_us(60);
output_low(H1);
output_low(H2);
output_low(L1);
output_low(L2);
}
}
/roboti/Robotour/SW/pic_i2c_slave/test.h
0,0 → 1,19
#include <16F88.h>
#device adc=8
 
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPUT //No Power Up Timer
#FUSES MCLR //Master Clear pin enabled
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOFCMEN //Fail-safe clock monitor disabled
#FUSES NOIESO //Internal External Switch Over mode disabled
 
#use delay(clock=4000000)
#use i2c(Slave,Fast,sda=PIN_B1,scl=PIN_B4,force_hw,address=0xA0)