tiva c tm4c123gh6pm 蓝牙小车程序
时间:10-02
整理:3721RD
点击:
#include"stdio.h"
#include<stdint.h>
#include<stdbool.h>
#include "inc/tm4c123gh6pm.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/pwm.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#include "driverlib/pin_map.h"
#include "driverlib/uart.h"
#include "driverlib/interrupt.h"
#include "inc/hw_gpio.h"
#include "inc/hw_ints.h"
// //********************UART_GPIO初始化************************
int uartmain(void)
{
int i;
char thischar;
SysCtlClockSet(SYSCTL_SYSdiv_1|SYSCTL_XTAL_16MHZ|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB0_U1RX);
GPIOPinConfigure(GPIO_PB1_U1TX);
GPIOPinTypeUART(GPIO_PORTB_BASE,GPIO_PIN_0|GPIO_PIN_1);
UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
thischar=UARTCharGet(UART1_BASE);
UARTCharPut(UART1_BASE,thischar);
if(thischar=='a')//前进
i=123;
else if(thischar=='b')//后退
i=789;
else if(thischar=='s')//左转
i=456;
else if(thischar=='n')//右转
i=258;
return i;
}
//*****************主函数调用*****************************
void main(void)
{
SysCtlClockSet(SYSCTL_SYSdiv_2_5|SYSCTL_XTAL_20MHZ|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE,GPIO_PIN_7);
while(1)
{
if( uartmain()==123)//前进
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_PIN_2);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
else if( uartmain()==789)//后退
{
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,GPIO_PIN_4);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,GPIO_PIN_5);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,GPIO_PIN_6);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
}
else if( uartmain()==456)//左转
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_PIN_2);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,GPIO_PIN_4);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,GPIO_PIN_6);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
else if(uartmain()==258)
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,GPIO_PIN_5);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
}
else
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
}
}
#include<stdint.h>
#include<stdbool.h>
#include "inc/tm4c123gh6pm.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/pwm.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#include "driverlib/pin_map.h"
#include "driverlib/uart.h"
#include "driverlib/interrupt.h"
#include "inc/hw_gpio.h"
#include "inc/hw_ints.h"
// //********************UART_GPIO初始化************************
int uartmain(void)
{
int i;
char thischar;
SysCtlClockSet(SYSCTL_SYSdiv_1|SYSCTL_XTAL_16MHZ|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB0_U1RX);
GPIOPinConfigure(GPIO_PB1_U1TX);
GPIOPinTypeUART(GPIO_PORTB_BASE,GPIO_PIN_0|GPIO_PIN_1);
UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
thischar=UARTCharGet(UART1_BASE);
UARTCharPut(UART1_BASE,thischar);
if(thischar=='a')//前进
i=123;
else if(thischar=='b')//后退
i=789;
else if(thischar=='s')//左转
i=456;
else if(thischar=='n')//右转
i=258;
return i;
}
//*****************主函数调用*****************************
void main(void)
{
SysCtlClockSet(SYSCTL_SYSdiv_2_5|SYSCTL_XTAL_20MHZ|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE,GPIO_PIN_7);
while(1)
{
if( uartmain()==123)//前进
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_PIN_2);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
else if( uartmain()==789)//后退
{
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,GPIO_PIN_4);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,GPIO_PIN_5);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,GPIO_PIN_6);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
}
else if( uartmain()==456)//左转
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_PIN_2);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,GPIO_PIN_4);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,GPIO_PIN_6);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
else if(uartmain()==258)
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,GPIO_PIN_5);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7);//后2
}
else
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0);//前1
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);//前2
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//后1
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0);//后2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_4,0);//前1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,0);//前2
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_6,0);//后1
GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0);//后2
}
}
}