49 votes
Accepted

Is MCP23017's I2C address matching broken?

It's a known problem with that early revision of the chip. Newer revisions are fixed. My ones are date-coded 0522 (I guess week 22 of 2005, which is about when we got them, back in the days when you ...
SusanW's user avatar
  • 987
24 votes
Accepted

Can GPIO pins interfere with each other?

I think I've found your problem, and (I know you won't like this) an accurate schematic would have highlighted the problem to (at least some) readers straight away. :-) Looking at the starting ...
SamGibson's user avatar
  • 17.8k
19 votes
Accepted

Microchip documentation does not label CAN buss pins on micro controller pinout diagram

The CAN pins do not have fixed pin assignments. Instead you are able to select which of the "Remappable Pins" you wish to use (RP0 through RP15). If you refer to page 180 of the datasheet, ...
Tom Carpenter's user avatar
17 votes

Why is the 8061 microcontroller described as having 256 bytes of internal memory?

Their terminology is sloppy IMO. In any case: 0x00 - 0x0F are specialized registers 0x10 - 0xFF are memory registers (SRAM) There are only 240 bytes of SRAM. If you need more SRAM than this, you can ...
Mattman944's user avatar
  • 15.2k
11 votes

securely storing and using keys in an embedded system

I'm sorry this answer won't actually solve your problem. But it is too long to fit in a comment, and it will allow you to rethink your problem in the right way (because as it is, I think it is flawed)....
dim's user avatar
  • 16k
11 votes
Accepted

Logic value of a single input pin into a microcontroller

Generally, if the MCU has no mechanism of reading just one bit, you read the whole port and mask off the irrelevant bits you want to ignore to zero and then compare if the remaining bit makes the ...
Justme's user avatar
  • 138k
10 votes
Accepted

What does the "side-band" and "in-band" mean in the context of digital circuit?

Many digital interfaces have more than one method of passing information. The main one is usually at high speed and takes the majority of the capability of the medium. Any information along this path ...
Kevin White's user avatar
  • 32.6k
10 votes

Why do I get a compiler warning with "int __attribute__((address(0x3000))) x;"

x is a local variable. It doesn't necessarily even get a storage address. So, you can't necessarily assign an address to it. Make ...
Marcus Müller's user avatar
10 votes

Why do lightning data cables have chips?

These chips are used as part of Apple's MFI Certification program. Basically, you have to be a certified developer to sell lightning cables. If you buy a lightning cable from a reseller, you may ...
nick carraway's user avatar
10 votes

Why is the 8061 microcontroller described as having 256 bytes of internal memory?

The 120 * 16 is probably just 240 bytes - the 16 indicating a 16-bit wide register.
Kevin White's user avatar
  • 32.6k
9 votes

Strange VIH and VIL specification of MIC4451

This is, in my opinion, a confusing usage of the terms max and min. What they're saying is that the minimum voltage you should apply to an input that you want to drive high is 2.4V, but a typical ...
Hearth's user avatar
  • 30.4k
8 votes

Choose a microcontroller

Unless you are targeting a specific feature, nearly all microcontrollers are the same. How you choose can be up to you, but these are some of the things I look for when I am selecting a device or ...
efox29's user avatar
  • 11.9k
8 votes

As a computer science engineering graduate, do I need to learn Assembly language in today's day and age?

Not knowing assembly is just fine UNTIL you have to debug something non trivial. Interrupt trampolines, interrupt entry and exit stubs, missing memory barriers before cooking off a DMA transfer, ...
Dan Mills's user avatar
  • 17.4k
8 votes

Why is the 8061 microcontroller described as having 256 bytes of internal memory?

The 8061 was a Ford-specific engine control product from the 1980s so the information available is pretty sketchy. Assuming it's similar to the 8096, the first 256 bytes of the memory map are devoted ...
Spehro Pefhany's user avatar
8 votes

Why aren't aluminum and nitrogen used as dopants in semiconductors, chips, etc.?

It's a whole series of engineering tradeoffs. For starters, Nitrogen isn't a dopant at all in crystalline Si. From an electrical standpoint, Boron is about 50% lower (0.045eV vs 0.067eV for Al) ...
Andrew Lentvorski's user avatar
8 votes
Accepted

How to use a variable delay in Microchip PIC microcontroller (MPLAB X), without using floating point arithmetic?

__delay_ms and __delay_us are macro's. They are expanded at compile time by the preprocessor and thus only accept constants as ...
Unimportant's user avatar
  • 4,397
8 votes

Logic value of a single input pin into a microcontroller

How can I get the value of the input pin P0.1? You may "jump" on a bit value (e.g. JB, JNB): ISA But this limits my action since I'm obligated to have all other pins of port P0 to L. Not ...
devnull's user avatar
  • 8,487
7 votes

PIC outputs while programming

In the datasheet for your microcontroller there are four tables, table 2-1 to 2-4, which describes all the registers, including PORTx and ...
pipe's user avatar
  • 13.9k
7 votes

ETHERNET communication on PIC micro-controller, where to start?

What you ask for is doable. But, since you're talking about "doing Ethernet", asking whether it's similar to RS-232, and your research consists of reading "some PDFs", this is currently way over your ...
Olin Lathrop's user avatar
7 votes

What is the process of (digital)IC design?

I'd say that proper digital IC design is not done bottom-up but top-down ! You start with a specification of the function which you need. You get this from someone else or write your own. Then you ...
Bimpelrekkie's user avatar
  • 80.5k
7 votes
Accepted

Choose a microcontroller

Should I choose TI, Microchip, Arm? ARM doesn't make any actual chips. They just license their design to chipmakers. Microchip (Atmel) and TI (among others) both make chips based on ARM architecture. ...
The Photon's user avatar
  • 128k
7 votes
Accepted

How does SD card write protect switch work?

The Write Protect on the SD card standard is essentially a Honor System. The card reader host must choose to honor it. That's it. As for your SD WP pin. If it is floating with no internal pull up or ...
Passerby's user avatar
  • 72.8k
7 votes

Do microcontrollers support threading?

As long as the microcontroller supports interrupts, has enough memory and gives you full control over the state which the CPU assumes (program counter, registers, stack) when you return from an ...
jms's user avatar
  • 8,554
7 votes
Accepted

When I can't short CS to ground using only one SPI device?

Rising/falling CS line is not only used to enable the output of the slave, but also to reset its internal state machine. For example some flash memories have a following sequence to read: ...
filo's user avatar
  • 8,901
7 votes
Accepted

How to get 8MHz square signal out a pic18f45

Two possibilities - Stray capacitance or slew rate control. If you were working on breadboards, I would think it to be unwanted capacitance between the pin strips but due to the package of the ...
MIL-SPEC's user avatar
  • 1,098
7 votes

Increase LED Brightness

My guess would be that the Vce(sat) drops of both the ULN2803, the high-side transistor and the voltage drop on the current-limiting resistors could easily add up to roughly 2V or more, not leaving ...
Richard the Spacecat's user avatar
7 votes

Is there an IC controller/chip which outputs a signal for a brief amount of time, say less than 1 minute?

This classic circuit is a monostable multivibrator. Of which the most well-known chip is the 555. This is from Art of Electronics 3ed, p460: Another well-known chip is the LTC6993, good for up to ...
jonathanjo's user avatar
  • 13.2k
6 votes

PIC24F08KL201 - PUMPEN Or Not PUMPEN?

This is a new one on me. I hadn't heard of a charge pump built into a PIC before. Unfortunately "charge pump" does not appear anywhere else in the datasheet except in the description of that bit, so ...
Olin Lathrop's user avatar
6 votes
Accepted

Reusing an 8 bit microprocessor? (86CH09NG)

ROM (MaskROM) Nope. Well, yes, but only for what it was already used for. Mask ROM means that the programming is directly part of the silicon and cannot be changed.
Ignacio Vazquez-Abrams's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible