STM小车蓝牙篇

上一章我们虽然完成了移动总觉得不够高大上,太LOW了;
这节让我们牛逼轰轰的开始蓝牙遥控吧!!!
你需要先自学蓝牙模块相关知识,使用方法等
我们采用的是hc-05
STM小车蓝牙篇_第1张图片STM小车蓝牙篇_第2张图片
TX:接STM开发板”RX”引脚//PB7
RX:接STM开发板”TX”引脚//PB6
GND:接STM开发板”GND”引脚
VCC:接STM开发板”5V”或”3.3V”引脚
本节的话需要下载蓝牙串口助手下那个白蓝色的
点开后选择自定义按键,更改发送值,通过观察小车运动情况更改按键的作用:前进、后退、左转、右转、停止
STM小车蓝牙篇_第3张图片做完这些基础部分就开始代码的敲写吧
这里面要注意HC-05串口波特率9600



void USART1_IRQHandler()                	//
{  
#if SYSTEM_SUPPORT_OS 		//
	OSIntEnter();    
#endif
	if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//  
		a=USART_ReceiveData(USART1);	//
	   USART_SendData(USART1,a+1);  //
#if SYSTEM_SUPPORT_OS 	//
	OSIntExit();  											 
#endif
} 
#endif	

本来有注释的可是由于不知道什么回事出现这种的


void USART1_IRQHandler()                	//´®¿Ú1ÖжϷþÎñ³ÌÐò
{  
#if SYSTEM_SUPPORT_OS 		//Èç¹ûSYSTEM_SUPPORT_OSΪÕ棬ÔòÐèÒªÖ§³ÖOS.
	OSIntEnter();    
#endif
	if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//ÅжÏÊÇ·ñ½ÓÊÜÖжϣ¬Èç¹ûÊÇ´®¿Ú½ÓÊÜÖжϣ¬Ôò¶ÁÈ¡´®¿Ú½ÓÊܵ½µÄÊý¾Ý   
		a=USART_ReceiveData(USART1);	//¶ÁÈ¡½ÓÊÕµ½µÄÊý¾Ý 
	   USART_SendData(USART1,a+1);  //ÑéÖ¤Êý¾Ý
#if SYSTEM_SUPPORT_OS 	//Èç¹ûSYSTEM_SUPPORT_OSΪÕ棬ÔòÐèÒªÖ§³ÖOS.
	OSIntExit();  											 
#endif
} 
#endif	

会原理就行,如果想看注释的可以加群找我要,或者花费一积分下载。

int main(void)
{ 
 	//extern char a;  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//
	delay_init(168);		//
	uart_init(9600);	//
	LED_Init();		  		//
	while(1)
	{
		switch(a)
		{
			case 1:
		GO0=0;
		GO1=1;
		GO2=0;
		GO3=1;
			break;
		    case 2:
	  GO0=1;
		GO1=0;
		GO2=1;
		GO3=0;
			break;
			case 0:
	  GO0=0;
		GO1=0;
		GO2=0;
		GO3=0;
			break;
			case 3:
	  GO0=1;
		GO1=0;
		GO2=0;
		GO3=1;
			break;
			case 4:
	  GO0=0;
		GO1=1;
		GO2=1;
		GO3=0;
			break;
	}
}
}

至此牛逼轰轰的蓝牙遥控出来了
STM小车蓝牙篇_第4张图片
也可以通过这个界面来查看发送的数据,由于代码中返回的数据我加了一,所以减去一就是发送的数据。
STM小车蓝牙篇_第5张图片蓝牙小车代码
欢迎各位有兴趣的朋友加入Q群:511385161 点评、交流

你可能感兴趣的:(STM小车蓝牙篇)