完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一。模块介绍
蓝牙模块 蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯,大致可分为三大类型:数据传输模块远程控制模块等。 RXD: 接收端 TXD: 发送端 实物图及参数 舵机 原理 舵机的控制一般需要一个20MS左右的时基脉冲,该脉冲的高电平部分一般为0.5MS-2.5MS范围内的角度控制脉冲部分,总间隔为2Ms。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5MS--------o度; 1.0MS-------45度; 1.5MS-------90度; 2.0MS-------135度; 2.5MS-------180度; 占空比控制舵机角度: 实物图及参数 二。开发工具 编程软件:KEIL5 串口软件:XCOM V2.0 烧录软件:stc-isp-15xx-v6.86C 手机APP:SPP蓝牙串口(安卓手机) 三。程序代码 部分代码如下,完整代码在下面会提供百度网盘下载。 对应视频讲解说明在B站有分享。 在main.c文件中 /* B站:Tuyue沐尘 本程序采用stc8a8k64s4a12为主控 舵机接线-----信号线接P37 蓝牙模块 TX---接单片机P30 RX---接单片机P31 */ #include “all.h” int main() { sart_Init(9600); Timer0Init(); printf(“这是一个串口程序rn”); while(1) { steering_control(); switch(rdata) //串口控制,写需要的效果 { case ‘1’:P00=0;break; //舵机控制 case ‘2’:P00=1;break; case ‘3’:P01=0;break; //灯控制 case ‘4’:P01=1;break; } if(usart_flag) { usart_flag=0; usart_send_str(buffer); //字符串回显 if((strcmp((char*)buffer,“led_on”))==0) { memset(buffer,0,sizeof(buffer)); //c语言数组清零 P01=0; } } } } 在usart.c文件中 #include “usart.h” #define sysclk 24000000 bit busy; int r_ret=0; int usart_flag=0; char buffer[32]; char rdata; void usart_Init(int BRT) { SCON = 0x50; //关闭定时器0,模式选择16位自动重载 TMOD = 0x00; //定时器1,1分频,选择定时器1为波特率发生器 AUXR = 0x40; //波特率 TL1 = (65536-sysclk/BRT/4); TH1 = (65536-sysclk/BRT/4)》》8; //禁止T1中断 ET1 = 0; //开启定时器1 TR1 = 1; //开启串口1中断 ES = 1; //使能总中断 EA = 1; busy = 0; } void usart_send(char dat) //字符 { while(busy); busy = 1; SBUF = dat; } void usart_send_str(char *p) //字符串 { while(*p) { usart_send(*p++); } } char putchar(char c) //printf { usart_send(c); return c; } void usart_Isr() interrupt 4 { if(TI==1) { TI=0; busy=0; } if(RI==1) { RI=0; rdata=SBUF; // usart_send(rdata); //回显 if(rdata!=‘r’ && rdata!=‘n’) //看是否换行or回车,再进行存放数组 { buffer[r_ret++]=rdata; //buffer[0]=rdata; } if(rdata==‘n’) { buffer[r_ret]=0; usart_flag=1; r_ret=0; } } } 四。串口调试和手机APP控制 电脑端 手机端 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
414 浏览 1 评论
273 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
243 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
607 浏览 2 评论
631 浏览 2 评论
1356浏览 9评论
36浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
38浏览 3评论
37浏览 3评论
KEIL MDK为什么无法debug library中的代码?
75浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 04:16 , Processed in 0.736047 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号