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 ...
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 ...
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, ...
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 ...
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)....
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 ...
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 ...
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 ...
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 ...
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.
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 ...
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 ...
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, ...
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 ...
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) ...
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 ...
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 ...
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 ...
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 ...
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 ...
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.
...
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 ...
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 ...
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: ...
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 ...
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 ...
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 ...
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 ...
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.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
microchip × 801pic × 402
microcontroller × 365
c × 72
mplabx × 49
usb × 48
uart × 39
mplab × 37
programming × 35
embedded × 32
integrated-circuit × 30
spi × 30
i2c × 28
xc8 × 28
interrupts × 27
adc × 24
timer × 23
microprocessor × 23
pickit × 23
assembly × 20
ethernet × 19
can × 18
arduino × 16
atmel × 14
pwm × 13