自平衡小车 - 直走 +蓝牙下载

weixin_39821228 2019-09-01 03:30:28
#include "main.h"
/*******************************************
函数名称:void InitSys()
函数功能:时钟初始化
入口参数:无
返回值:无
*******************************************/
void InitSys()
{
unsigned int iq0;
_DINT();
BCSCTL1 &=~XT2OFF;
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for (iq0 = 0xFF; iq0 >
相关下载链接://download.csdn.net/download/u011346131/6818713?utm_source=bbsseo
...全文
35 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
#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工作于增计数方式 }

13,654

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧