请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401R 工具/软件:Code Composer Studio
此代码来自我在线找到的示例之一
#include "msp.h"
int main (void){
void redirect(void);
_disable_IRQ ();
/*设置 TA0.4进行比较*/
Timer_A0->CTL = 0x02E4; /* SMCLK、ID =/8、连续模式、TA 清除*/
Timer_A0->Ex0 = 7; /* IDEX =/8 */
Timer_A0->CCTL[4]= TIMER_A_CCTLN_OUTMOD_6;// OUTMOD = TOGGLE *
Timer_A0->CCR[4]= 11719;//切换点11719*/
Timer_A0->CCTL[4]|= 0x10;//启用 CC 中断*/
/*将 P2.7配置为计时器 A0.4比较输出*/
P2->SEL0 |= 0x80;
P2->SEL1 &=~0x80;
P2->DIR |= 0x80;
redirect(); /*将 TA0.4输出连接到引脚 P2.1 */
NVIC_setpriority (TA0_N_IRQn、3);//在 NVIC 中将优先级设置为3
NVIC_EnableIRQ (TA0_N_IRQn); /*在 NVIC 中启用中断*/
__ENABLE_IRQ(); /*全局启用 IRQ */
while (1){
}
}
void TA0_N_IRQHandler (void){
Timer_A0->CCTL[4]&=~1; /*清除中断标志*/
Timer_A0->CCR[4]+= 11719; /*安排下一次切换*/
}
/*此函数将 TA0.4的输出连接到引脚 P2.1 */
void redirect(void){
PMAP->keyid = 0x2D52; //解锁 PMAP */
P2MAP->PMAP_REGISTER1 = PMAP_TA0CCR4A; /* 23、将 P2.1映射到 TA0.4 */
P2->DIR |= 2; //设置 P2.1以获取 TA0.4输出*/
P2->SEL0 |= 2;
P2->SEL1 &=~2;
PMAP->CTL = 1; //锁定 PMAP */
PMAP->keyid = 0;
}
我可以调整闪烁速度、但我不知道可以在哪里调整光强度? 我希望强度更低。 有什么想法吗?