> 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 >
Thanks eric. That really helped. I just have one more related question, - An ADC pin, say, ADC0 [P6.0] can be used as a GPIO. Just by setting the appropriate bits of P6SEL, does it start working as a GPIO? P.S: By the way, the confusion about pin 8/9, i have no clue as to what they meant by that. _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
