STM32蓝牙小车.doc_第1页
STM32蓝牙小车.doc_第2页
STM32蓝牙小车.doc_第3页
STM32蓝牙小车.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include stm32f10x.h#include stm32f10x_exti.h#include stm32f10x_gpio.h#include stm32f10x_rcc.h#include stm32f10x_usart.h#include misc.h unsigned int temp=0;unsigned char rebuf5;unsigned int start=0;void USART1_Config(void)GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure); USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No ;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure); USART_Cmd(USART1, ENABLE); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);void NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); void Left_moto_go() GPIO_SetBits(GPIOA, GPIO_Pin_1|GPIO_Pin_3); GPIO_ResetBits(GPIOA, GPIO_Pin_2|GPIO_Pin_4); void Left_moto_back() GPIO_SetBits(GPIOA, GPIO_Pin_2|GPIO_Pin_4); GPIO_ResetBits(GPIOA, GPIO_Pin_1|GPIO_Pin_3);void Left_moto_stop() GPIO_ResetBits(GPIOA, GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_2|GPIO_Pin_4);void Right_moto_go() GPIO_SetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_8); GPIO_ResetBits(GPIOC, GPIO_Pin_7|GPIO_Pin_9); void Right_moto_back() GPIO_SetBits(GPIOC, GPIO_Pin_7|GPIO_Pin_9); GPIO_ResetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_8);void Right_moto_stop() GPIO_ResetBits(GPIOC, GPIO_Pin_9|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8);int main() SystemInit(); USART1_Config(); NVIC_Configuration() ; while(1);void USART1_IRQHandler() unsigned char i; GPIO_SetBits(GPIOC, GPIO_Pin_6); if(USART_GetFlagStatus(USART1,USART_IT_RXNE)=SET) USART_ITConfig(USART1, USART_IT_RXNE, 0); i = USART_ReceiveData(USART1); if(i=O)start=1; if(start=1)&(i!=0) rebuftemp+=i; if(temp2) if(rebuf2=A)Left_moto_go();Right_moto_go();if(rebuf2=B)Left_moto_back();Right_moto_back();if(rebuf2=C)Left_moto_back();Right_moto_go();if(rebuf2=D)Left_moto_go();Right_moto_back();if(rebuf2=F)Left_moto_stop();Right_moto_stop(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论