On Sun, Apr 24, 2011 at 10:41 AM, Prasanna Karthik V < [email protected]> wrote:
> hi, > For the first question, i tried looking at some sample platform > implementations. It looks like i got it all wrong. > 1) Capture Interface is used just to include timing info associated with > an interrupt event. Capture interface in no way does emulation. TEP 126 > gives info on how to emulate a normal pin as an interrupt. > Huh? TEP126 talks about the cc2420 radio chip. It really only says that if the interrupt lines from cc2420 aren't connected to something that can actually generate an interrupt then a spin wait (polling) can be used to see the lines. Its polling (emulation is a strange way to talk about it). One needs h/w support for generating an interrupt. No way around that (its the basic definition of an interrupt). On the Msp430 ports 1 and 2 can generate interrupts on a pin by pin basis. If one has a interrupt source then one can piggie back additional functionality and check other pins but that would make that pin dependent on the interrupt behaviour of that interrupt source. (Strange and not recommended). This gets into the subject of polling. Basically one could poll the pin you are interested in by piggie backing off say a timer interrupt of some fashion. This would allow you to periodically look at the pin you are interested in. But in no way is this really an interrupt. > 2) For the second, this link was useful > http://www.ece.ncsu.edu/netwis/sensor_networks.php > > That is really a round about way of figuring this out. Why don't you start with the telosb schematic and figure this out by starting with the actual h/w and figuring out what the h/w provides. I did a google search for "telosb schematic" and found this pointer... http://www.tinyos.net/scoop/special/hardware It will show explicitly how the 10 pin expansion is wired. more below. > Thanks, > Prasanna Karthik > >> > >> > >> > >>(moved to tinyos-help) > >> > >>Only pins connected to port 1 or port 2 on the msp430 are capable of > >>being interrupts. > >> > >>-Joe > >> > >>On 4/11/06, Dan Steingart <steinda at berkeley.edu> wrote: > >>> While many of the pins on the 6 pin header (1,2,3,4,5,9) and on the > pin 9? do you mean pin 6? 6 pin: pin 1: ADC 6, P6.6 pin 2: ADC 7, P6.7 pin 3: GIO2, TA1 (output) P2.3 pin 4: GIO3, 2.6 pin 5: UserInt, P2.7 (TA0) pin 6: Reset (RST) 10 pin: pin 1: AVCC pin 2: UART0RX P3.5 pin 3: ADC0, P6.0 pin 4: UART0RX P3.4 pin 5: ADC1, P6.1 pin 6: I2CSCL P3.3 pin 7: ADC2, P6.2 pin 8: I2CSDA P3.1 GIO1, P2.1 pin 9: GND pin 10: ADC3, P6.3 GIO0, P2.0 note: GIO1 and GIO0 are connected through to the expansion connect through a by default not populated resistor. So by default are not connected. pin6 and 8 (I2CSCL, I2CSDA) are used by the radio too. >>> 10 pin header (2,3,4,5) can be set to be inputs or outputs (via > >>> MSP430GeneralIOC), only pins 3,4 and 5 on the 6-pin and pins 8 and 9 > >>> on the 10 pin are addressed in MSP430InterruptC. > I don't understand your comment about pins 8/9 on the 10 pin. pin 9 is GND MSP430InterruptC only handles interrupts on Port 1 or Port 2. ie. Pin interrupts. Doesn't handle anything on any other ports because other ports don't support interrupts so there is nothing for MSP430InterruptC to do. It is a crappy non informative name but not worth changing. A better name would have been Msp430PinInterrupt or Msp430P12Interrupt. Before I start > >>> hacking to change this, is there a reason why any pin that can do I/O > >>> can't also be an interrupt? > Yes. Because only pins on Port 1 or 2 can be set up for interrupts. That is because the TI Msp430 only provides port interrupts if it is port 1 or 2. h/w limitation. > >>> > >>> Thanks in advance, > >>> > >>> Dan > >> > > > > hi, > > The usability of the pins available in the 16 pin-extension has been > > discussed earlier in this thread. > > I seek a few clarifications: > > > > 1) Pins connected to Port1 or Port2 of the MSP430 can only be used as > > interrupt pins directly. Pins belonging to other Ports[3...6] can be used > > as interrupts by emulating them using Capture interface. Right? > No. I don't see how using the capture functionality allows making other ports act as an interrupt. None of the pins available on the expansion connectors can be used as input for the capture h/w available via the timers. The TI documentation sucks and it uses the notation TA1 for example as both an input and and output. GIO2 P2.3 on pin 3 of the 6 pin for example is the output TA1. > > > 2) Addressability of pins. For. example, take pin 7 of the 10-pin > > Extension. It can act as a GPIO or ADC. Namely, P2.1 or P6.2. Do i have > to > > explicitly state somewhere in the code, for it to be recognized as a GPIO > > and not as an ADC? > Code can't do it. There is a non-populated resister that connects P2.1 GIO1 to pin 7 of U28 the 10 pin expansion. But default there is no connection. Let's say you populate the resister (I have no idea what value you should use) then you can use configuration code to enable that pin as General I/O and then use it to generate an interrrupt. Unless the ADC is being used and in particular ADC2, then that pin isn't changed from the boot up default. You'll have to look at the start up code to see what the default is and whether its value is changed from the reset value. I'm not going to figure out how you do that. Left as an exercise for the student. eric > > > Thanks, > > -Prasanna Karthik > > > > _______________________________________________ > > Tinyos-help mailing list > > [email protected] > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > -- Eric B. Decker Senior (over 50 :-) Researcher
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
