Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Вт май 23, 2017 17:42:46

У Вас в настройках Таймера Б написано
TB0CTL = TBSSEL_1 + MC_2 + TBCLR;
Т.е. тактирование его производится от ACLK, как и у меня. Однако, выше Вы писали, что кварца в схеме нет. Но у меня-то он есть. Без наличия тактирования на входе таймер работать не будет. И зачем выставлено CM_3 вместо СМ_1? Соединены-ли в схеме P1.6 и P4.0?

Далее, я полагаю, что светодиод подключен между P1.0 и землёй (почему-бы не написать мне об этом явно) и управлять им собираетесь из обработчика прерывания Таймера Б в строчке P1OUT ^= BIT1; ? Если так, то что делает строчка кода
P1SEL|=BIT0;
в функции настроек порта?

Наконец, если в начале кода стоит
P1OUT = 0x01;
а в обработчика таймера Б
P1OUT ^= BIT1;
и далее
TB0CTL = 0; // stop capture
то если первый импульс на входе таймера будет иметь нарастающий фронт, то светодиод зажжётся на несколько микросекунд при инициализации порта и погаснет при первой-же capture таймером Б и уже потом не зажжётся никогда.

Напишите словами чего хотите добиться. В свете разработки локатора я предполагаю, что захват таймера Б следует разрешать по окончании генерации пачки импульсов Таймером А и запрещать либо по производству захвата между пачками (если будет объект в радиусе действия) либо по началу генерации новой пачки таймером А. Такой план? Если хотите получить помощь не стесняйтесь писать больше текста и не полагаться на додумывание его другими. Додумывание может не соответствовать Вашим намерениям.
Ответить