标题:
蓝牙控制舵机 STM32源程序
[打印本页]
作者:
风格回家看了
时间:
2020-11-9 21:15
标题:
蓝牙控制舵机 STM32源程序
蓝牙控制舵机,使舵机旋转45度,延时一段时间,回转45度,蓝牙发送信号“0”,可以使舵机运转
单片机源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "usart3.h"
#include "stm32f10x.h"
void Rcc_init(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
}
void GPIO_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void delayus(u32 i)
{
u32 temp;
SysTick->LOAD=9*i; //设置重装数值, 72MHZ时
SysTick->CTRL=0X01; //使能,减到零是无动作,采用外部时钟源
SysTick->VAL=0; //清零计数器
do
{
temp=SysTick->CTRL; //读取当前倒计数值
}
while((temp&0x01)&&(!(temp&(1<<16)))); //等待时间到达
SysTick->CTRL=0; //关闭计数器
SysTick->VAL=0; //清空计数器
}
void delayms(u32 i)
{
u32 temp;
SysTick->LOAD=9000*i; //设置重装数值, 72MHZ时
SysTick->CTRL=0X01; //使能,减到零是无动作,采用外部时钟源
SysTick->VAL=0; //清零计数器
do
{
temp=SysTick->CTRL; //读取当前倒计数值
}
while((temp&0x01)&&(!(temp&(1<<16)))); //等待时间到达
SysTick->CTRL=0; //关闭计数器
SysTick->VAL=0; //清空计数器
}
void zhuan(u16 speed)
{
GPIO_SetBits(GPIOB,GPIO_Pin_12);
delayus(speed);
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
delayus(20000-speed);
}
void jiaodu(u16 sec)
{
u16 i;
for(i=0;i<sec*10;i++)
{
zhuan(1000);
}
}
int main(void)
{
int i,a,b;
Rcc_init();
GPIO_init();
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//usart3接收中断优先级2 次优先级2
usart3_init(9600);//蓝牙的串口初始化 注意手机与单片机的蓝牙连接波特率是要9600
while(1)
{
if(USART3_RX_STA&0x8000)
{
if(USART3_RX_BUF[0]=='0')
{
for(i=1;i<1250;i+=25)
{
zhuan(i);
}
for(a=10000;a>0;a--)
for(b=10000;b>0;b--);
for(i=1250;i>1;i-=25)
{
zhuan(i);
//delayms(10000);
}
}
USART3_RX_STA=0;
}
}
}
复制代码
所有资料51hei提供下载:
蓝牙控制舵机.7z
(184.51 KB, 下载次数: 67)
2020-11-10 16:43 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
遥远的她¥
时间:
2021-3-6 15:31
好资料,51黑有你更精彩!!!
作者:
春风十里00
时间:
2021-4-2 10:47
systeminit函数是什么
作者:
风格回家看了
时间:
2021-7-21 16:22
春风十里00 发表于 2021-4-2 10:47
systeminit函数是什么
STM32时钟初始化函数
作者:
话之王
时间:
2021-7-24 16:04
春风十里00 发表于 2021-4-2 10:47
systeminit函数是什么
是STM32时钟初始化函数
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1