基于MSP432P401R的串口屏蓝牙小车控制


前言

前段时间兴趣使然用串口屏做了个基于MSP432蓝牙串口屏控制的小车车,现在记录一下,话不多说直接上效果。


一、串口屏蓝牙助手设计

二、keil5代码设计

1.main.c

#include  "main.h"
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "systeminit.h"
#include "motor.h"
#include  "string.h"
#include "driverlib.h"
#include "delay.h"
#include "usart.h"
#include "uart_calc.h"
#include "motor.h"
/*  全局变量申明区  */
// u8  a=0;
// u16 len ;
#define SLAVE_ADDRESS       0x48
#define NUM_OF_REC_BYTES    10
/* 函数调用申明区 */



void Wait_Connection(void)
{
    unsigned char str[8];
    sprintf((char*)str,"sw0.val=1\xff\xff\xff");
    while(keyvalue!=5)
    {
        GPIO_toggleOutputOnPin(GPIO_PORT_P2,GPIO_PIN1);
        USART1PutString(str);
        delay_ms(300);
    }
    GPIO_setOutputLowOnPin(GPIO_PORT_P2,GPIO_PIN1);
}

int main(void)
{
        u8 speed=1;

		SystemClockInit(HFXT);//系统时钟初始化(系统主时钟)
		SystemClockInit(DCO);//系统时钟初始化(子系统时钟)
        Usart1tInit();
        MOTOR_Init();
        Wait_Connection();//等待屏幕反馈连接
        while(1)
        {
           switch(keyvalue)
           {
               case 0:break;
               case 1:MOTOR_G0();break;
               case 2:MOTOR_Back();break;
               case 3:MOTOR_Left();break;
               case 4:MOTOR_Right();break;
               case 5:MOTOR_Stop();break;
           }
        }
}

2.串口1中断程序

void EUSCIA1_IRQHandler(void)
{ 
	  u8   rev ;
    uint32_t status = UART_getEnabledInterruptStatus(EUSCI_A1_BASE);//中断接收标志
    
    if(status & EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG)  //说明接收到数据
    {
			rev=UART_receiveData(EUSCI_A1_BASE);
			//USART1PutChar( UART_receiveData(EUSCI_A1_BASE));//将接收到的数据发送出去
			switch(rev)
            {
                case 0x00:keyvalue=0;break;
                case '1':keyvalue=1;break;
                case '2':keyvalue=2;break;
                case '3':keyvalue=3;break;
                case '4':keyvalue=4;break;
                case '5':keyvalue=5;break;
                case 0x06:keyvalue=6;break;
                case 0x07:keyvalue=7;break;
                
            }
            UART_clearInterruptFlag(EUSCI_A1_BASE, status);//清除中断标志

    }
}


总结

串口屏还是很好用的,相当于可以自定义很多个按键,我这里只是简单的设计一下也是抛砖引玉吧,相信大家能做的更好,源码工程已经上传等待审核完成我会放上链接,需要的朋友麻烦点赞关注一下然后在评论区留下邮箱我有空就会私发(大三考研ing比较忙),实在着急要那就直接下载吧。

代码工程:基于MSP432P401R的串口屏蓝牙小车控制.zip

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静·无羡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值