Difference between revisions of "PIC"

From HoerupWiki
Jump to: navigation, search
Line 11: Line 11:
  
 
For at få det til at køre har vi gjort følgende:
 
For at få det til at køre har vi gjort følgende:
*Brugt projektfilen fra demo-programmet, da denne allerede har de forskellige settings på plads. \
+
*Brugt projektfilen fra demo-programmet, da denne allerede har de forskellige settings på plads.
 
Vi prøvede at lave vores egen projektfiler men uden større held.
 
Vi prøvede at lave vores egen projektfiler men uden større held.
 
*Modificeret ARPtsk.C. For at få arp til at køre på fornuftig vis bør linie 202 ændres fra
 
*Modificeret ARPtsk.C. For at få arp til at køre på fornuftig vis bør linie 202 ændres fra

Revision as of 15:52, 21 May 2007

PICDEM.net

For at få picdem.net op og køre har vi brugt

  • PIC18F452
  • RTL8019AS
  • HiTech C 9.50
  • MPLAB IDE 7.43
  • Microchip TCP/IP Stack v. 2.20

Læg mærke til at stack'en skal være v2.20 da dette er den eneste version der understøtter RTL8019AS chippen.

For at få det til at køre har vi gjort følgende:

  • Brugt projektfilen fra demo-programmet, da denne allerede har de forskellige settings på plads.

Vi prøvede at lave vores egen projektfiler men uden større held.

  • Modificeret ARPtsk.C. For at få arp til at køre på fornuftig vis bør linie 202 ændres fra
if(Cache.IPAddr.Val == IPAddr->Val || Cache.IPAddr.Val == AppConfig.MyGateway.Val)

Til

if(Cache.IPAddr.Val == IPAddr->Val)
  • For at få TCP koden til at køre ordentligt har vi også lavet en compiler #define for STACK_USE_TCP via project->build options->project->compiler


Pic 18F452: I2C Programming W/O interrupts

(Remember to set direction SCK/SDA ports)

Initialization

  1. Enable Serial Bit = 1 (SSPEN=SSPCON<5>)
  2. Synchronous Serial Port Mode Select Bits = 1011 (SSPM3-SSPM0=SSPCON<3:0>

Common Start

  1. Start Enable Bit = 1 ( SEN=SSPCON2<0>)
  2. DelayMs(1)
  3. Load Address into SSPBUF
  4. Test Buffer Full status bit (BF=SSPSTAT<0>)
    1. loop until buffer bit is cleared
  5. Test acknowledge bit (ACK=SSPCON2<6>)
    1. if not acknowleded, abort

Write:

  1. Load data byte into SSPBUF
  2. Test Buffer Full status bif (BD=SSPSTAT<0>)
    1. Loop until bit is cleared
  3. Test acknowledge bit (ACKSTAT=SSPCON<6>)
    1. if not acknowledged, abort

Read

  1. Recieve Control Enable bit = 1 (RCEN=SSPCON<3>)
  2. Test Buffer Full status bit (BF=SSPSTAT<0>)
  3. Set acknowledge data=1 if data is recieved (ACKDT=SSPCON2<5>)
  4. Enable Acknowlede bit=1 (ACKEN=SSPCON<4>)
  5. Read data from SSPBUF

Common termination

  1. Stop Enable bit=1 (PEN=SSPCON2<2>)

Repeated start

  1. Repeated start enable bit =1 (RSEN=SSPCON2<1>)