基于手机蓝牙的遥控小车的设计与制作毕业设计论文

发布时间 : 星期三 文章基于手机蓝牙的遥控小车的设计与制作毕业设计论文更新完毕开始阅读

2.3 USART编程设计

串口设置的一般步骤可以总结为如下几个步骤: 1) 串口时钟使能, GPIO 时钟使能 2) 串口复位

3) GPIO 端口模式设置 4) 串口参数初始化

5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤) 6) 使能串口

7) 编写中断处理函数

其中,中断函数为本设计的关键,我们定义发送的指令以Q结尾,向左转为A,向右转为D,前进为W,后退为S,停止位P,所以下位机的程序流程图为:

3 系统调试

3.1上位机的调试:

刚开始时,蓝牙APP发送的数据不对,经过检查,发现回调函数不对,更改后正常了。 3.2下位机的调试:

下载好程序进行硬件调试,在串口中断中设置了断点,可发现当有数据从手机中发送过来时,下位机程序进不到串口中断中,后来发现原来是串口通信的TX与RX线没有接对,刚开始时是天真的以为是TX与TX相连,RX与RX相连。对调连线后,下位机程序正常了。 3.3系统总体调试:

一切正常,但由于实验空间有限,车子运行起来容易撞墙,所以后来又自己新添加了一个超声波测距模块,这样便能很好的防止车子很快就被损坏。

4 总结

要有团队合作精神,这次课设能按标准完成就是团队合作很好的表现。做任何事都要细心,特别是对于编程来说,你的任何一个不注意的错误可能会让你查一天都查不出来

主要参考文献:

[1]赵全利,肖兴达 . 单片机原理及应用教程[M].北京: 机械工业出版,2007, 6. [2]樊昌信.通信原理(第6版)[M].北京:电子工业出版社,2012,12.

[3]金纯 ,林金朝. 蓝牙协议及其源代码分析[M].北京: 国防工业出版社,2006, 6. [4]刘斌.JavaME使用详解——用Eclipse进行移动开发[M].北京: 电子工业出版社,2007,2.

附实物图:

附上位机串口中断处理程序:

void USART1_IRQHandler(void) //串口1中断服务程序 {

u16 set_speed; u8 Rx_lenth; u8 Res;

u8 get_order;

#ifdef OS_TICKS_PER_SEC //如果时钟节拍数定义了,说明要使用ucosII了. OSIntEnter(); #endif

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断(接收到的数据是以Q结尾的) {

Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据

if(Res=='Q') { Rx_lenth=USART_RX_STA; if(Rx_lenth<2) { get_order=USART_RX_BUF[0]; if(get_order=='D') { if(dir<=1870 ) { dir+=5; TIM_SetCompare1(TIM4,dir); }

联系合同范文客服:xxxxx#qq.com(#替换为@)