Part Number: MSP430F2274
Simply put, what I'm trying to do is use timers to give me asynchronous one-shots. I have read the "Family User's Guide" relevant sections a dozen times. Via experimentation, I've managed to use both TA0 and TB0 successfully (up mode). Both generate the required interrupts. I've also managed (using the test code in slac123i) to get TB1 interrupts with TB in continuous mode (so I understand the TBIV code structure). But I need to run the timer in UP Mode, and while both TA0 and TB0 are happy, TAx and TBx stubbornly refuse to interrupt - after 3 days of messing with it. Also, I've failed to find any code samples that run TB1 in a way similar to TB0. In an ideal world, I could set TimerB for Up Mode, plug values into TBCCR0 and TBCCR1 independently, and get CCIFG interrupts (0 in timer int and 1 in TBIV). My sticking point is the lack of clarity on TBR. It's unclear to me what impacts the TBR count. Is it free-running? Then TBCCRx writes would have some kind of hidden math goiing on. Is it set at TBCCRx value? That's not clearly indicated (at least to me) but it would explain why only one (independent) timer per peripheral module.
Enough. Can I run 2 independent one-shot timers (stopped in the ISR by changing TBCCRx to zero) in the TimerB module? Any clarification about why not would be helpful. Any ideas about getting TBCCR1 CCIFG interrupts may also help.