<div dir="ltr"><div class="gmail_quote">---------- Forwarded message ----------<br><font color="#5f5f5f" size="1" face="sans-serif">From:      
 </font><font size="1" face="sans-serif">Burt Silverman</font><br><font color="#5f5f5f" size="1" face="sans-serif">Date:      
 </font><font size="1" face="sans-serif">06/15/2018 09:53 PM</font><br><font color="#5f5f5f" size="1" face="sans-serif">Subject:    
   </font><font size="1" face="sans-serif">Friday evening
computer problem</font><br><hr noshade><br><br><font size="2" face="sans-serif">I am working with a microcomputer, or
System On a Chip (SOC), known as the ESP8266. The part has things like
UARTs built in, and has some general purpose input/output (GPIO) pins.
That is similar to microcomputers I have worked with previously, but in
this case, there are not enough pins to have separate pins for the UARTs,
and the various other peripherals, and the GPIO, so they share pins. Using
some configuration registers, you choose what function is active. If you
look at the top row of the table below, you can see that there are 5 choices
for each pin: Function1, Function2, Function3, Function4, and Function5.
An example is receive data for UART0, U0RXD, in row 6. Function1 is just
that, U0RXD, but Function4 is GPIO3.</font><br><br><font size="2" face="sans-serif">The Technical Reference Document tells
me that the complete list of peripherals is:  SDIO (Secure Digital
Input/Output Interface), 3 instances of SPI (Serial Peripheral Interface),
but one is known as HSPI, I2C, I2S, UART0 (Universal Asynchronous Receiver
Transmitter), UART1, PWM (Pulse-Width Modulation), IR (Infrared) Remote
Control.</font><br><br><font size="2" face="sans-serif">In the spreadsheet below, I see SD names,
SPI and HSPI names, I2S names, U0 and U1 names, but nowhere do I see any
I2C names, nor any PWM names, nor any IR names. If you take my word that
this is not a trick, like MTDI is a mystery coding for PWM or I2C or IR
-- how can it be that there is no I2C and no PWM pins and no IR pins in
the table? How can I program the device configuration registers for these
functions?</font><br><br><font size="2" face="sans-serif">By the way, there is something a bit
tricky about the names MTDI, MTCK, MTMS, and MTDO. If you remove the M
from the names you are left with TDI, TCK, TMS, TDO -- the standard JTAG
signal names. The documentation does not discuss the JTAG interface. It
is not part of this exercise. Also, if you see some names repeated, like
MTDO_UMTDO_U..., that is just an artifact of some carelessness from whoever
created the table -- nothing to worry about.</font><br><br><font size="2" face="sans-serif">Burt</font><br><br><img src="cid:_1_E17C7C1CE17C799400195089852582AE" style="border:0px solid"><br><br></div><br></div>