↳
I have answered based on hands on experience I had.
↳
1.analog-to-digital converter 2.We all know it's really hard to get good pricing and cost information. 3.The ADC resolution is defined as the smallest incremental voltage that can be recognized and thus causes a change in the digital output. It is expressed as the number of bits output by the ADC. 4.I2C is half duplex communication and SPI is full duplex communication. ● I2C supports multi master and multi slave and SPI supports single master. ● I2C is a two wire protocol and SPI is a four wire protocol Minder
↳
Sleep modes, reduce refresh operations
↳
Sleep modes and refresh ops and if you have a fully static design, completely stop the clock. Minder
↳
Using (volatile?) global variables.
↳
Lamport / Bakery , Dekkers, *Petersons* Petersons is the easiest to implement and explain as it only requires 2 flags and 1 int. Minder
↳
Another one would be a ring-buffer, which is sort like a queue and easy to implement, especially if you make them a power of two. With either method (queue, ring buffer, etc) you'll need some way to make sure you can tell the transmitting side to stop (XON/XOFF or RTS/CTS) Minder
↳
A queue (First in, First out [FIFO] )
↳
It's to inform compiler that the variable may be altered runtime by another process. This is actually pretty useful in debugging using ICD, you can modify volatile variables and the new value will be used in execution in the instruction that's following your modification. Minder
↳
One is to turn off compiler optimaztions that remove loops with global variables. Minder
↳
UART - Asynchronous - Clock generated internally, no separate clock line, needs start and stop bit for sync, baud rate mismatch possible. USART - Synchronous - Separate clock line, Doesn't need start, stop bit Minder
↳
No, it will damage the 3.3V UART pins and possibly the entire uC. Exception is when the uC datasheet specifically states that those pins are 5V tolerant. Minder
↳
I'm not a Robotic or Control Engineer so I didn't know the answer, tried to show my logical reasoning. Minder
↳
I answered pretty well all the questions except for one two
↳
I couldn't answer that question because I have done a lot of interesting things. I also felt it was an immature and irrelevant question, like something a high school student would ask. There were other, even worse questions. Minder