<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Diky, watch okno jsme neznal, jeste jsem v MPLABu zacatecnik.</p>
    <p>Dneska jsem vytvoril cisty projket jen s  i2c a funguje to, ale 
      v puvodnim ne, nekde bude nejaka definice, ktera to blokuje.<br>
    </p>
    <p>Tedy funguje to tak, ze uz dokazu zmenit hodnotu tech registru,
      resim SLAVE,  tedy neco jako simulace  i2c eepromky, ale kdyz
      sleduji SPI1STAT  tak  mi to ten i2c start nedetekuje, pritom na
      sbernici je pritomna cela sekvence.<br>
    </p>
    <p>Mam i2c slave napsany softwarove na zaklade zmeny stavu pinu, ale
      kvuli rychlosti jsme to chtel predelat na interni i2c v PIC,  piny
      mam spravne, ale ze by se detekoval alespon ten i2c start  toho se
      mi nepodarilo dosahnout.</p>
    <p><br>
    </p>
    <p>LK<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Dne 26.11.2021 v 20:31 Miroslav Draxal
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:00b501d7e2fc$2bccb170$83661450$@cz">
      <pre class="moz-quote-pre" wrap="">Dobrý den,
Hoďte si co potřebujete sledovat do Watches a odkrokujte si to. U mě ten kód chodí podle předpokladu.
Míra.

-----Original Message-----
From: Hw-list [<a class="moz-txt-link-freetext" href="mailto:hw-list-bounces@list.hw.cz">mailto:hw-list-bounces@list.hw.cz</a>] On Behalf Of Libor Konečný
Sent: Friday, November 26, 2021 12:50 AM
To: HW-news
Subject: XC8 I2C zmena registru

Zdravim osazenstvo

Dokaze me nekdo nakopnout jak zmenim hodnotu registru pro i2c ?

MCU PIC16F19196

mam kod (vysek z projektu)

         SSP1STAT  = 0x80;
         SSP1CON1 |= 0x06;
         SSP1CON2  = 0x01;
        SSP1CON1bits.SSPEN = 0;

     if(!SSP1CON1bits.SSPEN)
     {
         SSP1STAT  = 0x80;
         SSP1CON1 |= 0x06;
         SSP1CON2  = 0x01;
         SSP1CON1bits.SSPEN = 1;

}

     INTCONbits.PEIE = 
1;                                                        // Enable 
peripheral interrupts
     INTCONbits.GIE = 1;

a vypisu si debug

                        debug_print_hex_u8(INTCON);
                         debug_print_hex_u8(SSP1STAT);
                         debug_print_hex_u8(SSP1CON1);
                         debug_print_hex_u8(SSP1CON2);
                         debug_print_hex_u8(SSP1CON3);

INCON 0xC0

vse ostatni 0x00   nejak nechapu....

kod vygeneroval MCC

a pdf jsem si procital taky detailne.


1000x diky za pripadne nakopnuti spravym smerem.

Libor




_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
  </body>
</html>