標(biāo)題:
藍(lán)牙控制舵機(jī) STM32源程序
[打印本頁(yè)]
作者:
風(fēng)格回家看了
時(shí)間:
2020-11-9 21:15
標(biāo)題:
藍(lán)牙控制舵機(jī) STM32源程序
藍(lán)牙控制舵機(jī),使舵機(jī)旋轉(zhuǎn)45度,延時(shí)一段時(shí)間,回轉(zhuǎn)45度,藍(lán)牙發(fā)送信號(hào)“0”,可以使舵機(jī)運(yùn)轉(zhuǎn)
單片機(jī)源程序如下:
#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; //設(shè)置重裝數(shù)值, 72MHZ時(shí)
SysTick->CTRL=0X01; //使能,減到零是無(wú)動(dòng)作,采用外部時(shí)鐘源
SysTick->VAL=0; //清零計(jì)數(shù)器
do
{
temp=SysTick->CTRL; //讀取當(dāng)前倒計(jì)數(shù)值
}
while((temp&0x01)&&(!(temp&(1<<16)))); //等待時(shí)間到達(dá)
SysTick->CTRL=0; //關(guān)閉計(jì)數(shù)器
SysTick->VAL=0; //清空計(jì)數(shù)器
}
void delayms(u32 i)
{
u32 temp;
SysTick->LOAD=9000*i; //設(shè)置重裝數(shù)值, 72MHZ時(shí)
SysTick->CTRL=0X01; //使能,減到零是無(wú)動(dòng)作,采用外部時(shí)鐘源
SysTick->VAL=0; //清零計(jì)數(shù)器
do
{
temp=SysTick->CTRL; //讀取當(dāng)前倒計(jì)數(shù)值
}
while((temp&0x01)&&(!(temp&(1<<16)))); //等待時(shí)間到達(dá)
SysTick->CTRL=0; //關(guān)閉計(jì)數(shù)器
SysTick->VAL=0; //清空計(jì)數(shù)器
}
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(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//usart3接收中斷優(yōu)先級(jí)2 次優(yōu)先級(jí)2
usart3_init(9600);//藍(lán)牙的串口初始化 注意手機(jī)與單片機(jī)的藍(lán)牙連接波特率是要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;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
藍(lán)牙控制舵機(jī).7z
(184.51 KB, 下載次數(shù): 67)
2020-11-10 16:43 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
遙遠(yuǎn)的她¥
時(shí)間:
2021-3-6 15:31
好資料,51黑有你更精彩!!!
作者:
春風(fēng)十里00
時(shí)間:
2021-4-2 10:47
systeminit函數(shù)是什么
作者:
風(fēng)格回家看了
時(shí)間:
2021-7-21 16:22
春風(fēng)十里00 發(fā)表于 2021-4-2 10:47
systeminit函數(shù)是什么
STM32時(shí)鐘初始化函數(shù)
作者:
話(huà)之王
時(shí)間:
2021-7-24 16:04
春風(fēng)十里00 發(fā)表于 2021-4-2 10:47
systeminit函數(shù)是什么
是STM32時(shí)鐘初始化函數(shù)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1