蓝牙平衡小车V2蓝牙基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include "main.h" /******************************************* 函数名称:void InitSys() 函数功能:时钟初始化 入口参数:无 返回值:无 *******************************************/ void InitSys() { unsigned int iq0; _DINT(); BCSCTL1 &=~XT2OFF; do { IFG1 &= ~OFIFG; // 清除振荡器失效标志 for (iq0 = 0xFF; iq0 > 0; iq0--); // 延时,等待XT2起振 } while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振 BCSCTL2 =SELM1+SELS; //MCLK,SMCLK时钟为XT2 } /************************ 函数名称:void UART_init(void) 函数功能:串口的初始化 函数参数:无 函数返回值:无 ************************/ void UART_init(void) { P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD ME1 |= URXE0 + UTXE0; // Enable USART0 T/RXD UCTL0 |= CHAR; // 8-bit character UTCTL0 |= SSEL0; // UCLK = ACLK UBR00 = 0x03; // 32k/9600 - 3.41 UBR10 = 0x00; // UMCTL0 = 0x4A; // Modulation UCTL0 &= ~SWRST; // Initialize USART state machine } //设置TA0,用于定时10ms来执行离散采样 void set_timer_a0() { TACTL |= TASSEL1+TACLR+ID1+ID0; TACTL |=MC0; CCTL0 |=CCIE; TACCR0=9999; } //外部计数初始化 void exti_init() { P1SEL =0x00; P1DIR&=~(BIT0+BIT1); P1DIR|=BIT6+BIT7; P1OUT=0X00; P1IES = 0x00; // P1.0选择上升沿中断 P1IE = 0x01; // 打开中断使能 } void init_all() { InitSys(); UART_init(); set_timer_a0(); delay_ms(5); PWM_Init(); exti_init(); } /****************************** 函数名称:PWM_Init() 函数参数,返回值:无 **************************/ void PWM_Init(void) { P4DIR=0xff; // P4 PWM输出 P4SEL=BIT1+BIT2+BIT3+BIT4; P4DIR=BIT1+BIT2+BIT3+BIT4; TBCCTL1|=OUTMOD_7; //捕获/比较控制寄存器,输出为模式7 TBCCTL2|=OUTMOD_7; //PWM RESET/SET模式 TBCCTL3|=OUTMOD_7; //TBCCRn--复位 TBCCTL4|=OUTMOD_7; //TBCL0--置位 TBCCR1 =0; //P4.1 L298N IN1 TBCCR2 =0; //P4.2 IN2 TBCCR3 =0; //P4.3 IN3 TBCCR4 =0; //P4.5 IN4 TBCCR0 =100; TBCTL |= TBSSEL_1+MC_1; //TIMER_B工作于增计数方式 }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值