tags:

views:

66

answers:

2

May I know where/how to locate the physical memory address of my CAN interface card? I need to use this to open a port.

A: 

We're going to need a lot more information. Like what is the host? A PC? A SBC? If it's a PC, what type of card is it? ISA? PCI? PCIe?

My guess is that regardless of the answers to these questions, the general response from us is going to be "check with the "CAN interface card" vendor or the datasheets from it.

ctacke
I only have the libraries now. I do not have the card yet. The host is a PC and the card is probably a PCI.
If the libraries you have don't have the address, then I'd recommend looking at the data sheets for the card. It's quite possible that the address is configurable, or that you use an API to get and/or set it.
ctacke
@ctacke, thank you very much.
+1  A: 

Since it's a PCI card, the libraries should know exactly where it is and how to access it. If you must have the physical address for a specific purpose, though, you can look in the device manager for windows, or the equivalent for linux or Mac. In many cases the address that is assigned by BIOS is not changed by the OS, so you can often find out at boot time.

You can also get the PCI vendor and card ID within your software, and get the assigned memory ranges that way.

However, the library should handle all that transparently. Have you contacted the vendor for correct library usage? There should be a "find card" function that returns what cards are installed and available, and then you can use a simple index to access a given card.

If you give the card manufacturer's name and type, then we can give better help - Vector's cards are almost trivial to find and control, and most CAN cards I've worked with have been easy to deal with.

Adam Davis